PHP Alive And Kicking Episode 11 - Bert De Swaef
๐ **Source:** [PHP Alive And Kicking Episode 11 - Bert De Swaef](https://www.youtube.com/watch?v=D2V0MuPwxto)
> [!note]+ Document Notes
> tags: [php, realtime, websockets, laravel, game-development]
> author: PHP Architect
> source: YouTube
> reference: https://www.youtube.com/watch?v=D2V0MuPwxto
> date created: 2024-12-19 15:30
>
> # ๐ท๏ธ Title: PHP Alive And Kicking Episode 11 - Bert De Swaef
>
<!-- deep-read:sections start -->
## ๐งฐ Action Inbox
- [H1] Try Prism by TJ for AI integration in PHP projects โ 51:30 #ai
- [H2] Explore Laravel Reverb for real-time websocket applications โ 18:45 #websockets
- [H3] Consider storing calculated statistics instead of real-time calculations โ 39:20 #performance
## ๐งญ Table of Contents
- [๐ Summary](#-summary)
- [๐ Main Content](#-main-content)
- [๐๏ธ Notes](#๏ธ-notes)
- [๐ References](#-references)
- [๐ฃ๏ธ Paraphrase](#๏ธ-paraphrase)
- [๐ฐ Newsletter](#-newsletter)
- [โ
Action Items](#-action-items)
- [๐งช Hypotheses](#-hypotheses)
- [๐ Methodology](#-methodology)
- [โ Questions](#-questions)
- [๐ฎ Future Research](#-future-research)
- [๐ก Implications](#-implications)
- [๐ง Learning Styles Assessment](#-learning-styles-assessment)
- [๐ Accessibility Assessment](#-accessibility-assessment)
- [๐ DEIB Assessment](#-deib-assessment)
- [โ
Logical Validity](#-logical-validity)
- [๐ก๏ธ DARVO Analysis](#-darvo-analysis)
- [๐ฏ Conclusion](#-conclusion)
### ๐ References
- [Code With Bert YouTube Channel](https://youtube.com/codewithbertu)
- [PHP Architect](https://phparch.com)
- [Laravel Reverb](https://reverb.laravel.com)
## ๐ Summary
- Interview with Bert De Swaef, entrepreneur and YouTube creator who built a real-time game in PHP
- Discussion covers PHP's real-time capabilities, Laravel ecosystem tools, and business building
- Key focus on websockets, Laravel Reverb, and challenging perceptions about PHP performance
- Community aspects highlighting how PHP developers support each other's growth
- Bottom line: PHP can handle real-time applications at scale when properly implemented
## ๐ Main Content
Bert De Swaef represents a unique perspective in the PHP community - an entrepreneur who transitioned from electrical work to building PHP applications and creating educational content. His journey from electrician to full-stack developer demonstrates PHP's accessibility to career changers.
The conversation centers around his viral real-time game built with Laravel and Reverb, which earned him top placement in Dan Nunes' PHP weekly top 10. This project challenged common misconceptions about PHP's real-time capabilities.
His company Vulpo uses PHP for mission-critical real-time applications including electric vehicle charging station monitoring across multiple countries. This proves PHP's viability for enterprise-scale real-time systems when combined with modern tooling like websockets and proper caching strategies.
The discussion reveals important community dynamics, showing how established creators like Freek Van der Herten and Nuno Maduro amplify smaller creators' work, creating a supportive ecosystem for knowledge sharing and professional growth.
## ๐๏ธ Notes
#### โฑ๏ธ [03:20](https://www.youtube.com/watch?v=D2V0MuPwxto?t=200) โ [H1] From Electrician to PHP Developer
- Key idea: Career transition possible through university exposure to Flash/PHP
- Evidence: "I graduated as an electrician... got in touch with PHP for the first time in university and it made sense to me from the get-go"
#### โฑ๏ธ [05:45](https://www.youtube.com/watch?v=D2V0MuPwxto?t=345) โ [H2] Entrepreneurial Start Without Portfolio
- Key idea: Started business by pricing real client work instead of building portfolio
- Evidence: "Someone needs my services, so let me create a price for that and knock on the second door"
#### โฑ๏ธ [08:30](https://www.youtube.com/watch?v=D2V0MuPwxto?t=510) โ [H1] Community Amplification Impact
- Key idea: Established creators significantly boost smaller creators' reach
- Evidence: "Freek retweeted one of my videos and that impacted 500 subscribers in one day"
#### โฑ๏ธ [16:20](https://www.youtube.com/watch?v=D2V0MuPwxto?t=980) โ [H1] Real-Time Game Origin Story
- Key idea: Personal need drove technical innovation for family problem
- Evidence: "One of the tiles was missing... my kid was crying... so I recreated that in JavaScript"
#### โฑ๏ธ [18:45](https://www.youtube.com/watch?v=D2V0MuPwxto?t=1125) โ [H1] Laravel Reverb Game Changer
- Key idea: Reverb makes websockets accessible to PHP developers without complexity
- Evidence: "Reverb made it so easy for PHP developers to implement websockets with the server in the application itself"
#### โฑ๏ธ [21:10](https://www.youtube.com/watch?v=D2V0MuPwxto?t=1270) โ [H2] PHP Real-Time Reputation Shift
- Key idea: Modern PHP tools challenge Node.js dominance in real-time applications
- Evidence: "We can do this in PHP right now. We don't need JavaScript and Node and all complexity"
#### โฑ๏ธ [23:40](https://www.youtube.com/watch?v=D2V0MuPwxto?t=1420) โ [H2] LiveWire Mental Model
- Key idea: LiveWire keeps PHP developers in familiar language for reactive front-ends
- Evidence: "Makes it possible for me as a pure PHP developer to create front-end applications that have the same reactivity"
#### โฑ๏ธ [30:15](https://www.youtube.com/watch?v=D2V0MuPwxto?t=1815) โ [H2] Laravel Stack at Vulpo
- Key idea: 70% LiveWire with comprehensive Laravel ecosystem tooling
- Evidence: "70% is LiveWire... Pest PHP, Pint, Herd, Ray by Spatie, OhDear with Flare"
#### โฑ๏ธ [36:50](https://www.youtube.com/watch?v=D2V0MuPwxto?t=2210) โ [H3] JSON vs Normalized Database Choice
- Key idea: JSON storage works for sensor data with extracted key values
- Evidence: "Store JSON from sensors... extract key values into separate database columns with stored values"
#### โฑ๏ธ [39:20](https://www.youtube.com/watch?v=D2V0MuPwxto?t=2360) โ [H1] Performance Through Pre-calculation
- Key idea: Generate statistics once and store rather than calculate on each request
- Evidence: "Generate statistics once, store in database every hour... one record instead of calculating a thousand records"
#### โฑ๏ธ [44:30](https://www.youtube.com/watch?v=D2V0MuPwxto?t=2670) โ [H1] Multi-National Real-Time Monitoring
- Key idea: PHP handles enterprise-scale real-time charging station monitoring
- Evidence: "Client charging in Scandinavia or Portugal, we can see that instantly... websockets and PHP"
#### โฑ๏ธ [47:15](https://www.youtube.com/watch?v=D2V0MuPwxto?t=2835) โ [H3] Cross-Language Learning Benefits
- Key idea: Trying other languages improves PHP development practices
- Evidence: "Picked up things from Ruby on Rails which I implemented in my workflow for setting up classes"
#### โฑ๏ธ [51:30](https://www.youtube.com/watch?v=D2V0MuPwxto?t=3090) โ [H1] AI Integration Excitement with Prism
- Key idea: Prism enables AI integration in PHP projects for practical applications
- Evidence: "Prism allows me to create cool stuff with AI in my PHP projects instead of using regular API calls"
#### โฑ๏ธ [54:20](https://www.youtube.com/watch?v=D2V0MuPwxto?t=3260) โ [H2] AI Adoption Journey and Concerns
- Key idea: Initial skepticism overcome but concerns about over-reliance remain
- Evidence: "Was skeptical about AI for a long time... but hope AI doesn't kill our own brains"
## ๐ References
- [Code With Bert YouTube](https://youtube.com/codewithbertu)
- [PHP Architect Magazine](https://phparch.com)
- [Laravel Reverb Documentation](https://laravel.com/docs/reverb)
- [Prism by TJ Miller](https://github.com/thecoffeecodes/prism)
## ๐ฃ๏ธ Paraphrase
- Transitioning from traditional trades to development is achievable with PHP's approachable learning curve and practical application opportunities
- Real-time applications at enterprise scale are viable in PHP when leveraging modern tooling like Laravel Reverb and proper architectural patterns
- Community support through amplification by established creators significantly impacts smaller creators' growth and reach in the PHP ecosystem
## ๐ฐ Newsletter
Exciting developments in PHP's real-time capabilities! Bert De Swaef's journey from electrician to building multi-national charging station monitoring systems shows PHP's versatility beyond traditional web applications. His real-time game built with Laravel Reverb demonstrates how modern PHP tooling makes websockets accessible without the complexity traditionally associated with Node.js solutions.
Key takeaway: Don't underestimate PHP for real-time applications. With tools like Reverb, LiveWire, and proper caching strategies, PHP can handle enterprise-scale real-time systems effectively.
The community aspect is equally inspiring - established creators actively boosting newcomers creates a supportive learning environment that benefits everyone.
Resources: [Laravel Reverb](https://reverb.laravel.com/), [Code With Bert](https://youtube.com/codewithbertu), [PHP Architect](https://phparch.com/)
## โ
Action Items
#### DevRel
- Developer advocacy: Showcase PHP real-time capabilities through conference talks
- Education: Create workshops on Laravel Reverb and websockets implementation
- Developer experience: Document real-time PHP patterns and best practices
- Community management: Highlight creators building innovative PHP applications
#### WordPress
- Core Performance: Explore websocket integration for real-time editing features
- Playground: Add real-time collaboration examples and tutorials
- Community: Feature PHP real-time success stories in community content
#### Community
- Maintainers: Support real-time feature development in PHP frameworks
- Contributors: Contribute to websocket and real-time tooling documentation
- Ecosystem: Cross-promote innovative PHP applications challenging language perceptions
## ๐งช Hypotheses
- PHP developers can successfully transition from traditional trades with proper educational pathways
- Laravel Reverb significantly lowers the barrier for PHP real-time application development
- Community amplification by established creators measurably increases newcomer success rates
- Modern PHP tooling matches Node.js capabilities for real-time applications
### ๐ Methodology
- Survey career transition success rates in PHP vs other languages
- Benchmark Laravel Reverb performance against Node.js websocket implementations
- Measure social media amplification impact on creator growth metrics
- Load test PHP real-time applications under enterprise-scale conditions
### โ Questions
- How can we better support non-traditional career transitions into PHP development?
- What specific real-time use cases remain challenging for PHP implementations?
- How do we systematically identify and amplify emerging PHP creators?
### ๐ฎ Future Research
- Long-term performance characteristics of PHP websocket applications
- Career transition support program effectiveness in PHP community
- Real-time PHP application patterns and architectural best practices
### ๐ก Implications
- Practice: PHP viable for real-time applications previously considered Node.js territory
- Education: Career transition programs should emphasize PHP's practical applicability
- Community: Structured amplification programs could accelerate newcomer success
- Policy: Include real-time capabilities in PHP advocacy messaging
### ๐ง Learning Styles Assessment
Reading level estimate: 10th Grade
#### ๐ Visual learners
- Present: YouTube video format with screen sharing of applications
- Improve: Architecture diagrams of websocket implementations, charging station network maps
#### ๐ Aural learners
- Present: Podcast-style interview format with clear audio
- Improve: Code explanation audio walkthroughs, real-time application demonstrations
#### ๐ฃ๏ธ Verbal learners
- Present: Clear technical definitions, analogies to electrical systems
- Improve: More detailed explanations of websocket concepts, Laravel ecosystem terminology
#### ๐งฉ Kinesthetic learners
- Present: References to hands-on game building and charging station projects
- Improve: Step-by-step tutorials, interactive coding examples
### ๐ Accessibility Assessment
#### Screen reader semantics
- Present: YouTube auto-captions available
- Improve: Detailed video descriptions, chapter markers for key topics
#### Contrast and readability
- Present: Standard video player interface
- Improve: High contrast player themes, transcript availability
#### Media and captions
- Present: Auto-generated captions
- Improve: Manual caption review, downloadable transcripts
### ๐ DEIB Assessment
#### Cultural breadth
- Present: Belgian/European perspective, mention of Indian developer community
- Improve: More global examples of PHP adoption, diverse creator highlights
#### Inclusive language
- Present: Gender-neutral technical terms, accessible explanations
- Improve: Avoid industry jargon without explanation
#### Representation
- Present: Career transition story from traditional trade
- Improve: Highlight diverse paths into PHP development
### โ
Logical Validity
#### Strong reasoning
- Deductive strength: Clear progression from personal need to technical solution
- Inductive strength: Specific examples supporting broader PHP capabilities claims
- Causal reasoning: Well-connected cause-effect relationships in technical decisions
#### Fallacies
- Minimal fallacies detected; reasoning generally sound throughout discussion
#### Tone of voice
- Overall tone: Conversational and supportive, technical but accessible
### ๐ก๏ธ DARVO Analysis
- No DARVO patterns detected; discussion maintains constructive technical focus
## ๐ฏ Conclusion
Bert De Swaef's journey demonstrates PHP's continued relevance and capability evolution. His real-time applications challenge traditional language boundaries while his entrepreneurial success shows PHP's commercial viability. The community support dynamics reveal the importance of established creators in nurturing newcomers.
Key practical takeaway: Modern PHP tooling like Laravel Reverb makes real-time applications accessible to PHP developers, potentially changing architectural decisions for future projects.
The broader implication is PHP's expanding capability envelope continues to challenge preconceptions about language limitations in enterprise and real-time contexts.
## ๐งฑ Refactor Appendix
### ๐ Literature Split Pad
Purpose: Stage CEE units that become Literature notes.
Split level: H3
### [H1] PHP enables career transitions from traditional trades
> [!quote] [PHP Alive And Kicking Episode 11](https://www.youtube.com/watch?v=D2V0MuPwxto) by [[PHP Architect]] via [[YouTube]]. Published 2024. Accessed 2024-12-19.
> "I graduated as an electrician... got in touch with PHP and it made sense to me from the get-go."
Demonstrates PHP's accessibility for non-traditional backgrounds entering development.
[view highlight](https://www.youtube.com/watch?v=D2V0MuPwxto?t=200#H1) #xref #articleseed ID:rw_php_career_transition
### [H2] Laravel Reverb simplifies real-time PHP development
> [!quote] [PHP Alive And Kicking Episode 11](https://www.youtube.com/watch?v=D2V0MuPwxto)
> "Reverb made it so easy for PHP developers to implement websockets without technical complexity."
Shows how modern tooling removes barriers to real-time application development.
[view highlight](https://www.youtube.com/watch?v=D2V0MuPwxto?t=1125#H2) #xref ID:rw_reverb_accessibility
---
### ๐ Atomic Split Pad (Zettel Candidates)
Purpose: Promote reusable claims into Atomic notes.
Split level: H4
#### [Z1] Community amplification accelerates creator growth
- Established creators' retweets can generate 500+ new subscribers instantly
- Timestamp
<!-- deep-read:sections end -->
## ๐บ Video

---
# ๐ Full Transcript
*Auto-generated from YouTube captions ยท timestamps roughly every 30 seconds ยท [watch on YouTube](https://www.youtube.com/watch?v=D2V0MuPwxto)*
**[00:18]** Heat. Heat.
**[01:06]** Heat. Heat.
**[02:53]** Do you lie awake [music] at night? Are you afraid to turn out the lights? Is there something you're scared of? What's there out in the dark? Make sure to keep all your windows locked. Do you do you surrender? Try try to stay awake. These walls you [music] can't escape. Here's one for the lonely hearts. For the ones that fear [music] the dark. You
**[03:24]** better run out. Run out. Out of here. Bet you can't look the other way. Here's one for the broken road. That's [music] the only one you know. You better run out. Run out. Truth or dare. Get me out. [music] Take me anywhere but here. Anywhere but here.
**[03:56]** Do you lie awake at night? Are you afraid to turn out the lights? Is there something you're scared of? What's there out in the dark? Make sure to keep all your windows. [music]
**[04:26]** >> [music] >> Hello and welcome to PHP alive and kicking brought to you by PHP architect and made better by our partners at PHP score. More about them later. This is the podcast that explores the latest developments in PHP and what it's like to earn a living in PHP today. I'm one of your hosts, Mike Paige, and I'm a developer at PHP Architect. My co-host
**[04:58]** is a longtime contributor to our magazine and a fellow team member, Chris Miller. >> Hey Mike, how you doing? >> I cannot say contributor today. >> It's normally developer. So, we're making >> I know. I know. We're making progress. Uh today we are live. So, please jump into our Discord channel if you have any questions for ourselves or our guests today. Uh we love to see people uh interacting in there. It's not just for the the live stream. You can hang out
**[05:28]** all week. There are all sorts of people in there. There's uh core developers of PHP in there. There's package maintainers and well, whatever you can think of. Any type of developer you can think of, they're they're in there. Um, so please do uh come and uh come and join us over there. If you're watching this over on our YouTube channel, uh please do uh like and sub subscribe that word. Uh if you're not listening to this in in YouTube, do head over to our YouTube channel and uh check us out there. That
**[05:59]** is youtube.comphparch. Uh we as I mentioned we also uh publish a magazine a monthly magazine uh dedicated to PHP and all things related to web development. Uh we have a uh discount code for our lovely listeners. A live three will give you the first three months of a digital subscription. Free that is. Uh we also run an annual uh conference
**[06:29]** called PHP Tech. Um that is uh going to be in May of next year over in Chicago. Uh the call for papers is now officially closed and we are now going through the sorting of those talks. However, it was announced on Thursday on the main podcast that we're going to run another conference alongside PHP Tech called JStech. So, uh the call for papers is now open for for JStech. Anything to do with uh
**[07:03]** JavaScript. Chris is obviously struggling to get the the link up on the screen there. [laughter] Can't find it. So, please submit your talks. Um, that'll be great to see people people over there. Um, we Sorry. >> Completely off the press and I don't think you even know yet, Mike. The JST website's up. >> No, that's what I saw just as we were going live. Yes, John has just announced if you're in our Discord, you'll see that the uh the website for that conference is now is it a separate conference or is it just another track?
**[07:35]** Are we I think I think Eric and John are saying it's a separate conference. >> They're saying a separate conference at the same conference venue. >> Yes. Alongside PHP. >> Yeah. So, what's going to happen with PHP developers and JS developers mixing? probably the same thing that happens daily. [laughter] >> Anyway, moving on. Swag store. We have a swag store where you can get yourself some t-shirts and uh mugs, caps, cups,
**[08:06]** all sorts of things are in there. Do take a a look at what we've got going on in there. And uh I think that is all the all the things ticked. So I think it's over to you Chris to uh introduce this evening's or today's I should say this is not evening for everyone but today's guest. >> So today we have Bert Dwerf. He is a YouTuber, entrepreneur, sportsman. He does talks. Bert, is there anything you
**[08:36]** don't do? >> Um I don't do drugs but >> good answer. [laughter] >> Well um yeah. Well, good evening um guys. It's evening for me as well. So um happy to join. >> So Bert, you're rereaming to our channels which is uh to your channels rather which is absolutely brilliant. So >> yeah, >> you you have your own YouTube channel and if I could find the right button, we can even share that. So Bert has his own
**[09:08]** channel at youtube.comcodewithbbert. Correct. B is spelled with a U there because people can't say your name correctly. So, how should it be said? >> Uh, well, it's normally in in in Flemish, it's be uh but uh yeah, everyone calls me Bert or or something like that. Then they completely butcher my name, so I used an U instead of an E in my name for my public appearance. Um, so to make it easy for everyone. >> Cool.
**[09:38]** So, if you've been watching any of these, you'll know what our first question is because we ask everybody the same question. >> Yes. >> Yeah. Well, um well, your first question would be how did I get in in touch with uh PHP? How >> sorry everyone, we we lost Chris's audio over there for a second. So, yes. How how did you get into PHP? >> Well, um I wasn't always a developer. I was um I graduated as an electrician. Um, and out of the blue, I I entered an
**[10:10]** heist in um university to to check out what what's going on. Uh, what can I do beyond electricity? Um, and they were teaching flash back in the day. Um, and I was triggered by animations and stuff like that and said like, yo, I want to try this. Um, and it was during that university college thing that I got in touch with PHP for the first time. Um, and it made sense to me from the from the get-go. So, and that's how I got into PHP um, in university. And when I
**[10:42]** graduated from there, I um, well, I started using it to make my own business. So, yeah, that's how it happened. >> Awesome. Can you now hear me? >> Yeah, we can hear you. >> Good. My mic decided it was going to turn itself off just as I asked the question. [laughter] So, so uh did did you um start your own business straight out of college? >> Uh well, I I grew up in an uh a family of entrepreneurs. So, um I didn't work
**[11:14]** for anyone. I just started out with my own company. I was already doing electrician stuff like installing sorrel modules, um home electricity stuff, uh industrial a little bit. Um, and I got asked the question, hey, can you can you code a website for me? And I did that as a first client. I got a second client and that's how I started out um as a developer basically and quitted. I eventually quit the electricity stuff
**[11:44]** and became a full-time developer. Uh, and now I actually combine that again with electricity to um create stuff that um communicates with uh charging devices, solar modules, batteries and stuff like that. So yeah, the the circle is full for me. >> Awesome. >> That's quite a unique story to just literally go, hey, I'm going to start a business. there's there's not many people that will choose to do that, but I guess coming from a family that that
**[12:15]** sort of guided you down that path naturally that you you have people around you that were doing that. So, it was just natural progression for you. >> Yeah, it it basically was a no-brainer. It was like, yeah, we somebody needs my services. So let me just create a price for that and um knock on the second door and third door and uh by the end of the day you uh end up with uh too many projects and you need to hire someone um and yeah that was by accident and that was that's how Vilpo was created um back
**[12:48]** in the day. So started out small as a hobby and it basically exploded into a company. >> That's awesome. And >> I think that's probably where I went wrong in the early days. I when I first started, I wanted to build that mysterious portfolio that we all apparently need. >> And um I [laughter] uh I was doing things for basically nothing or as good as nothing >> and barely charging people. And I got lots and lots of work and no money,
**[13:18]** which is not a good combination. >> Yeah. Yeah. I hear the story multiple times. Um, even now when when people start out, they they reach out saying, "Hey, I I want just write code. I don't need to get paid. I want to learn." But to be honest, that's not how the world works. Um, everyone that works needs to be paid eventually. So, um, yeah, that's that's the honest truth, actually. >> So, your your first clients then were
**[13:48]** people that you already knew. How did you go beyond those first couple of people? Um well um basically they contacted um us via those clients. So it's um how do you say it in English? Um >> from hearsay I I I think um is the correct word. Uh correct me if I'm wrong. Um so it was completely referred by those clients I did first and then the second wave of uh their network and um yeah everyone has a big network um
**[14:21]** especially in the if if they have some business they have colleagues or um even other suppliers that need a website or something um >> and it just grew organically from that um so yeah and we started out with just regular websites um I think WordPress was wasn't still uh still that hot at in the day. So, it was all just tables and and stuff like that. Um and just basic HTML. >> Oh, I remember the days of building websites with tables.
**[14:52]** >> Yeah, >> those were the good days. I I'm still seeking counseling. [laughter] >> I I don't remember those days, but we >> Mike is not old enough to remember the marquee tag. >> No, no, no. I'm old enough. However, I wasn't in the industry long enough. [laughter] >> Fair. Yes. >> I'm certainly old enough to know. No, I I didn't venture into uh development until around sort of 2019 2020
**[15:23]** >> is when it got serious for me. And uh I got my first full-time role at the end of 2020. So, um I'm I'm still quite a baby compared to to you guys when it comes to development. [clears throat] I've only got a couple of decades on you. >> Yeah, that's that's quite a lot. [laughter] >> So, Bert, one of the reasons that we brought you on, um I don't know if you remember, but about four weeks ago, um Dan Nunes, he posts regularly the uh PHP top 10, and you got a gold first place
**[15:57]** on that, which we are desperately seeking to get. Oh, yeah. >> You got the gold on that weekly top 10 for building a real time game in PHP. >> Correct. Heck possessed you to build a real-time game in PHP? >> Well, to be honest, I I created that um like a year or three ago. Um but completely in JavaScript just because one of the tiles of the game was missing for some reason and my kid was like crying all day. um because it was a
**[16:29]** Sunday so no store was open. Um so I just recreated that in JavaScript. Um and it was before the VIP coding era so it was just completely by hand. Um and he ended up playing on the iPad uh the rest of the day. Um and we survived the weekend because of that. Um so um and a few weeks ago he he said to me, "Hey, you remember that game you built for me?" and in in on the iPad. Um, I want
**[17:01]** to play that again, but I want to play that against you. Instead of switching around the iPad, he wanted me to play on my laptop and he on his iPad. And I was like, oh, how how do I go about with that? Um, so, and I am a big fan of Laravel. That's no, that's a yeah, a public secret that I'm a big fan of Laravel. Um, but I'm also a big fan of uh websockets. Um, and especially Reverb is one of my favorite things out there
**[17:31]** at the moment. I've been working with websockets for many years in the in the uh charging station industry. Um, so I yeah, just tried to combine those two and basically rewrote that application in LiveWire and [snorts] then put a reverb on top of that and it for some reason it worked. Um, so we're now playing from time to time. Um, me on my laptop and he in in the in the couch on his iPad and to be honest, the kid beats
**[18:03]** me. So yeah. [laughter] So it works and and I'm I created a video about that and well Dan picked that up. Um, it's not the first time that Dan picks something up that I post. Um, but it was the first gold I think. Um, yeah. So yeah, I'm I'm really grateful because um him um putting out those top 10s u really helps like for the reach of everyone that has been introduced into his lists. >> So it's kind of awesome that he does
**[18:34]** that every week. So yeah, >> absolutely. And I don't I don't think he actually realizes quite how much influence that post has >> from different conversations I've had with him. for for your benefit. But Dan actually was my employer previously. >> Okay. >> So, I've known Dan for years and uh he he tweeted they're tweeting and uh posting these things on LinkedIn. I don't think he realizes just how much impact it has for people. >> Yeah.
**[19:04]** The same thing with um when I started out with YouTube um Povos who you will always uh who who everyone knows as the the the godfather of um the YouTube channels um in PHP land landscape um he retweeted one of my videos and that impacted in like five um 500 subscribers in one day. >> It's amazing [snorts] how much impact that has. And the same thing with I'm good buddies with Frick Fand from Spy.
**[19:35]** >> Um if he retweets something, it's it's the amount of reach that gets. It's um mind-blowing. Yeah. >> It's mental, isn't it? >> Yeah. >> Going back a >> whenever I I retweet something um of other people, I really hope that it has the same impact that other people has on my content. So yeah. >> Yeah. going back a couple of years um ago, I was doing a series of tweets on the history of um computing and how we got from Adah Love Lace all the way
**[20:06]** through and it was picked up by um I by Freak and he retweeted one of them and that one alone got over 10,000 likes because of it. >> That's crazy. Yeah. Yeah. >> Yeah. >> Mental when that happens. >> Yeah. Um, I think this is a good point to just hear from our partners and we'll be right back in a few moments. >> Yep. >> Thank you to our partners at phpscore.com. Every app builds up technical debt over
**[20:37]** time. It's the price we pay for shipping new features and moving fast. When we build up too much of it, though, it [music] can start to impact how we work. Team velocity suffers. Bugs become more frequent and take longer to fix. and everyone starts to get a little frustrated. The key to managing debt is to [music] measure it. A credit score can help you understand how well you're managing your financial debt. And now [music] there's a credit score for your technical debt. Go to phpscore.com to get a free technical [music] debt score and monitoring for all of your PHP
**[21:09]** applications today. >> Thank you. P store. >> We will sort out our timings on those. One day we'll get it right. [laughter] >> We probably won't. I mean, we've had we've had 11 episodes so far. >> No, we won't get it right. Um, so I just I want to just go back a little bit of just what we were talking about just before we went to um our partners. And um I think it's really important. So, it's one of the things we're trying to
**[21:40]** promote in within this uh this show about the community within within uh PHP and it shows that how important it is to try and pull people up. Uh, so if if you're one of the creators out there that gets crazy views or or is quite popular and people know the set the it's really nice when they do highlight some other people that are sort of lower down the the rung of of
**[22:11]** content creation. Um, and it just helps so much and as Chris was saying, I don't think they always realize how much it does help. um not just the create the creators with uh with Dan in particular pointing out some really good content out there um that people can go go and learn from. So >> yeah. Yeah. Yeah. The same thing with um I meet a lot of those guys at the conferences and we're all just humans of flesh and blood and um yeah they're so
**[22:42]** some of them are so humble as well. um mostly all of them of course uh but um yeah they don't realize how much impact they have on people's lives like um yeah I was in in India last year and the impact that people have on on the guys their lives over there um is so huge um and >> it's only when um they express their gratitude that you feel the impact the
**[23:13]** same thing with people just thanked me for my content back there and in Europe that never happens. Uh but there they they really express their gratitude for putting stuff out there. Uh the retweeting of stuff. Um >> so yeah, it's it's very nice to see that. >> Yeah. And it it works both ways as well. Of course, there's some amazing content coming out from Indian YouTubers. Panaya for example stuff that he's posting. >> He is awesome as well. Um I had a chance
**[23:45]** to to meet him in um in India. Um I did a a small um live stream with him as well. Um and we we just text now from now and then. He's a really nice person as well. So yeah. >> Yeah. >> Absolutely. I think that's one of the important parts is that a lot most of the people in the PHP world are just nice people. >> Yeah. >> And as with any community, you do get the odd bad person, but it doesn't take
**[24:16]** long for the community to go, hey, that's not on. >> Yeah. Yeah. Correct. And that's this the I've been in other communities as well. um and the PHP community and the the Laravel community in particular, we um help each other tremendously. Um it's it's amazing to see the support that we give and receive towards each other. Um yeah, so it's really nice. Uh other communities can Yeah. can learn from that. >> Yeah, absolutely.
**[24:47]** So going back to the uh game video, one of the choices that you made was reverb for websockets. Now this sort of opens up the whole concept of real time PHP >> and a lot of people have this opinion that PHP can't do that. What do you think packages like Reverb do for PHP's reputation? Um um yeah for the reputation of PHP it's it's really good uh because we now can
**[25:19]** do indeed um real time stuff with websockets. We we are I have been using websockets in PHP for years. Um communicating between server and charging stations in real time uh with PHP um and we used Redhat for that. Um which is a a package for um websockets as well. Uh but Reverb made it so easy for PHP developers to implement that with a server in the application itself.
**[25:50]** Um and now we can also use echo on the front end. So the the the um alps part and even uh react and view with uh on echo and stuff like that to communicate between a view react an alpine front end and a laral back end without any technical complexity. Um in under the hood it's still quite complex. It's using a um React PHP um but it is
**[26:22]** made so simple for all the developers out there. Um and together with deploying that on Forge now it's available on cloud as well. Um it's so easy to set it up. Um and that is a really really a gamecher for not only Laravel but PHP in general. And I think uh it's it's not just websockets. It's all of the other stuff that goes around that brings us to more and more to real time.
**[26:54]** >> You have that old concept that node is the one that's reserved for fast in fast real time communication. >> Yeah. And I think um that was true um a while ago some years ago. Uh but I think now with all the concepts that we have like indeed websockets with reverb but we have also still stuff like polling uh conditional polling uh we have um uh we can do microservices as well with with PHP we can do a lot of stuff now that um
**[27:24]** yeah brings PHP back in the game for u big uh applications small applications and and also the real time stuff. Um, so yeah, I I tr truly believe that Laravel in particular with Reverb gave that little push that was needed to um keep that momentum going. Um, and to put it out there to the nonPHP developers like, hey, we we can do this. We we don't you don't need JavaScript and Node and all complexity. We can do this in PHP right
**[27:54]** now. Um, so yeah. >> Yeah. So you use livewireware in the building process of this correct and >> one of the questions that I get asked occasionally is to describe the mental model of liveware. I haven't got an answer for that when you compare it to something like react and view. Have you? >> Yeah. Um I'm not that huge um how should I put
**[28:27]** this? Um, I'm not that good at JavaScript. Uh so whenever I can stay in my PHP landscape um I really like doing that and I know under the hood it's also JavaScript which is um yeah communicating front and back end [clears throat] but LiveWire makes it possible for me as a pure PHP developer to also create front- end applications that have the same reactivity as my mic is like there we
**[28:58]** go. Yes. [laughter] Um uh that really helps me to create stuff out there that um is also reactive and does everything that a normal JavaScript front end would do uh without touching any JavaScript stuff. And that's why I love using LiveWire. >> So I guess the key there is it keeps you in the same language and >> correct. Yeah. >> Mhm. >> Yeah. I mean, it's quite incredible to think that what even five years ago, we couldn't have done front end, back end,
**[29:30]** mobile, desktop, CLI, >> basically everything >> all in in one language basically. >> Yeah. >> Mhm. >> But to be honest, at at Vulper, we do use uh React, we do use Vue, we do use other stuff as well. Um but for me I'm in charge of all backend rel related stuff uh all automating stuff all jobs and cues. Uh so I do not touch any of the front ends. So yeah that's why I
**[30:03]** truly love uh PHP um and um my colleagues are using Vue and React as well. So um yeah it's possible but not for me. See that that's when people know I'm a backend developer when they see me do front end work. [laughter] >> Yeah. I have tomit I try and avoid writing JavaScript as much as possible. I I'll especially if I'm in a laral app it's live wire. Um although I have just
**[30:34]** done a a recent personal project where I basically got AI to do all of the JavaScript. >> Oh yeah. [laughter] >> Yeah. I my colleagues um basically when I create a project for myself um my colleagues um do the JavaScript part and they redo what I did basically. [laughter] So yeah I I used to do JavaScript um in just vanilla JavaScript like get document by element ID um and stuff like
**[31:05]** that. Uh but nowadays it's more than that. Um same with CSS by the way. Um [clears throat] I left CSS whenever uh less and sass existed came out. So uh whenever we started nesting stuff uh it was too much for me. Um but if I if I see what we can do now with pure CSS um just not Tailwind and stuff like that but pure CSS like scroll driven animation and stuff like that.
**[31:35]** >> Um >> yeah it's it's amazing. um 10 years ago we we never would have been imagining what what's possible right now. So um yeah >> it is quite incredible just how far development has come overall but then the the key things of the the big three JavaScript C CSS HTML >> those have taken leaps and bounds and let's be honest you can build a website with CSS and HTML and you don't actually
**[32:07]** need JavaScript >> building a website unless you want to send something to the back end. >> Yeah, correct. Um well a good friend of mine uh Braush uh who is a developer relations at Google um we worked together for years and he is basically um in charge of the um yeah CSS spec at the moment. He is um yeah not not him only but he is in the team that goes over all the specification and he was um on the project for scroll driven animations and and stuff like that and
**[32:39]** the has selector. Um yeah what what we can do right now indeed we don't need JavaScript for the normal websites we can do all the cool stuff just purely in um CSS as well another friend of mine um um is going around the world giving presentations about um CSS just making Pokemon balls that pop open and and do stuff just pure CSS and it's magical for
**[33:09]** me to see that um I can't [clears throat] imagine doing that myself, but yeah, it's amazing what they can do right now. >> I mean, let's be honest, he could draw a circle and that would impress me. That's the level of CSS I can do. >> Yeah. [laughter] [snorts] So going back to Volpo, um, >> yeah, >> with with Volpo, would you say that the stack that you used for your tooling, your testing, that kind of thing, is
**[33:40]** that pretty close to what you use to build the game or do you use something different? >> Um, well, the stack that we use on our projects at Vulpo depend on on uh the project. Um >> but let's say 70% is live wire at the moment what we do um for testing it's best PHP uh by Nuno um linting uh we do use pint uh for tooling um we do use herd uh on our local
**[34:14]** machines and I am a big fan of Ray uh by spasi um >> because not only because he is a good friend of mine but I really like how the application works. And for uptime monitoring as well, we use odier. Um some say, hey, you should use nightw watch or you should use uh Sentry or something like that for that. Um but we combine combine that with Flare. Um also because it's Belgian, it's from where I live. So um I try to support the local
**[34:45]** stuff as well. >> Um >> so yeah, that that's about the tooling that we use. Um, and I use PHP Storm uh as an editor. So, yeah. >> So, pretty much the the Laravel stack. >> Yeah, pretty much. >> Yeah. Yeah. Um, [clears throat] yeah. Um, well, I tried other stuff as well. Um, I started off with Notepad. Um, went to Sublime Text and VS Code and now I'm in PHP Storm. So,
**[35:15]** >> but but have you tried the best editor? >> [snorts] >> Um, I've seen a lot of them. Uh, I have a colleague which who is switching every week to new editors, but uh, yeah, but I'm I'm curious right now. >> I'm surprised you don't know that the fact that I've asked you if you use the best editor. It's Neovit. >> Ah, yeah. Oh, I tried, but I failed. >> It's so hard. >> Could you exit it? >> Uh, yeah. Yeah, I have a sledgehammer.
**[35:46]** Yeah. [laughter] No, it's I it's truly amazing. I've worked with a few people that are really powerful at at new Vim. Um but it's not for me. Uh I I yeah, I I need to be able to scroll sometimes and click clickerity click. Um and but yeah, it's amazing what people can do with that. Um >> yeah, >> my camera is like blurring sometimes. I don't know [snorts] why. I'm very sorry for that, boys. >> Don't worry. That's okay. Um, so I I I
**[36:18]** use um PHP Storm as well, but I actually use uh Vim bindings. >> So I still move around using the a lot of the a lot of the stuff that I do is V and there's so much more I can tap into to um I I I strive to not have to use a a mouse one day for everything, but I'm not quite there yet. So, it's a bit more tweaking to get get there, but um yeah, so I'm kind of in between the two of you. >> I mean, I used near him for a good
**[36:50]** couple of years. Um P and um I got on I started getting on really well with it and then um it used to just sort of stop working and then I stopped using it and I tried to load it up the other day and like so many plugins that are out of date and things. I just like I think I'm going to have to nuke this and start again if I I'm going to actually use this. But yeah, I've I've landed kind of in the middle. >> Yeah. Well, I would love to be able to um but at this moment it would take me
**[37:21]** too much time to learn it. Um and that's time I don't have unfortunately. So, >> well, an interesting approach that I I kind of took because I'm the same. It's like I don't have time to learn all these key key bindings. But if you set it up in PHP Storm, you can just have for example just the um HJ KL navigation. >> Yeah. >> And then the insert and uh so just you can start off with real basic bindings to start with and then start adding new ones
**[37:52]** >> as you go. I just stopped adding new ones when I was finding I was reaching for the mouse. as I I just got to the point where I've I'm gonna have to do a lot of research to work out how to do this in P without having to reach for the mouse and I just stopped doing then. But uh I might take it back up again. >> Yeah, that's well I'm pretty happy with how my setup is right now. Um yeah, >> but maybe maybe I'll try it one day. But I'm a big fan of like the minimalistic style. >> So I have everything cleared out um on
**[38:24]** top, right, left, everywhere. Everything is gone. um big line hiding, big text um to see what I'm doing. Uh and I use white mode more than dark mode right now. So maybe it's my age. I don't know. >> I don't I'm more of a dark mode. I do I pretty much everything's dark mode mode for me. >> Yeah, >> I'm I'm pretty much convinced that my monitor doesn't know what white is. [laughter]
**[38:55]** Well, except for recording videos, um it looks better in dark mode. So that's yeah, why I use dark mode some from time to time, but for work it's um white mode. Uh well, light mode. Yeah. >> Interesting. And I think that is actually perfect example of what we were talking about earlier that we've got three completely different opinions on a choice of editor. And that choice is what makes it so good that you know I I
**[39:27]** love Neovim and but I'm never going to force somebody to go and use it just because I happen to like it. >> No. And I've I've also used PHP Storm and still occasionally fall back to PHP Storm when I don't know how to do something in Nevin. >> Yeah. >> Yeah, that's nice, right? Um you can just Yeah. And that's the cool part with um not only PHP by the way and and everything in in our industry and tech. Um whatever works works.
**[39:58]** >> If it works for you, it's fine. Um it doesn't matter. We're not going to force anyone to um use um yeah uh some kind of editor that someone else likes or something like that. Um >> but I do uh hear companies that really enforce like hey you should use uh only this editor. >> Yeah, I don't I don't agree with that. At Vilpo I think we have we're with seven now. So uh and I think we have four different editors. So yeah,
**[40:31]** >> if the linting is the same uh by the end of the day in the GitHub repositories, I'm I'm happy. Doesn't matter how they create it. Uh if it's all um perfectly linted in our um GitHub workflows, it's fine for me. >> And that that variety and choice means that you're also opening up a whole world of people that you wouldn't otherwise attract, you know? Correct. If you're advertising a job and say we only use PHP storm or we only use neov
**[41:01]** alienate the other group of people that don't use >> well they do need to use PHP but yeah [laughter] >> I mean PHP yes but PHP Storm maybe not so much. No. >> Yeah. I think I think with with our um teammates I think we've got a variety of different uh editors that use >> like >> I know that we've got Neo Vimmer with me and Eric. I know that we've got PHP still with a couple [clears throat] of the others. Yeah, >> I'm sure I've seen a couple of people
**[41:32]** using VS Code >> and I half want to say that one of our colleagues uses Sublime Text. >> I've got a funny feeling. I was going to say Sublime. If uh if any of our colleagues are watching live chat, let us know what you what you're using. >> So, moving on. Um where are we up to with our with our questions? I'm just scanning them now. So, you've gone out of order again. So, I get lost. [laughter] >> We're only one out of order.
**[42:04]** >> That's enough for me to get confused. [laughter] >> So, we pre-program these questions and then I change it on the fly and completely confuse Mike just to see how quick it happens. >> So, the the one that we're missing, Mike, is number eight. >> Yes, that's what I was thinking. I'm thinking you haven't asked that question yet. >> So, Joe uses PHP Storm. Okay, >> that's the one I thought use Sublime, so I was wrong. >> To be honest, I [laughter] thought he used Sublime as well.
**[42:34]** >> We got that wrong. [snorts] Okay, so none of us use Sublime and maybe it's all uh >> John to say he uses Sublime now. >> I did my fair part with Sublime. I think I used it for three years. Um >> yeah, >> I I've never tried Sublime. I will will admit I've not tried Sublime before. So I don't know I don't know what that's like. Um I I did when I very first started learning I was using Notepad++
**[43:05]** um because that's what the book told me to use that I picked up. >> Yeah. >> To learn how to uh to write a web page. Um and then I because I started looking at um uh C because I I wanted to do more sort of game development. Um I I I went into um VS Code. Then from
**[43:36]** VS Code I went to Neo Vim. I actually followed Jess Archer's um course on Larcast, how to set up the event for PHP. Absolutely amazing. Um and that's what I have to go and redo at some point to understand how all that works. I can't remember now. Um and then yeah, it was probably probably about three years ago I moved over to PHP Storm. Okay. Yeah, I I remember I started that um Larost um thing of jazz uh but I never finished it. Um, I should do it again.
**[44:10]** >> 99% of it still works exactly like she says in that. Um, there's the odd one or two bits that don't work quite that way anymore, but the key bindings are all there and all valid. >> Yeah, >> it's it's little tiny things. I'll have to Chris, you're going to have to help me fix mine >> because that's what that is basically that setup. There's a few little tweaks I made that were more personal to myself >> um that I thought would work better for me. Um, but yeah, I jumped into it about a week ago, tried to edit some of my dot
**[44:42]** file stuff and it just broke and didn't work at all. I tried to fix it and I Yeah, I got nowhere. I got so confused. [clears throat] So, uh, yeah. So, we we have an actual PhD telling us that Sublime was used until two or three years ago. So, and uh >> it we we're literally seeing it even in the people listening and watching that we've got editors out there of different types. >> Mhm. [clears throat] >> Yeah. >> I'm curious what are there any people in
**[45:12]** the chat suggesting something we didn't touch? >> Uh not yet. >> No, not yet. >> So, we haven't had a VS Code thrown in there yet. So yeah, we just got PHP Storm and Sublime at the moment. People are saying, >> okay. >> Um, but none of these are wrong as we said. It's what what works for you. >> It's definitely what works for you. >> Um, >> so we're going to go back to question eight. Are you going to ask question
**[45:43]** eight, Chris? >> Would you like me to ask about database normalization? >> You you go for that one. >> Okay. [laughter] So, in your game that you built, you chose to use JSON rather than normalized databases. Now, I'm old school and will shout at people for not normalizing databases, but I also get JSON. So, what was the uh choice for going down that route rather than normalize? >> Um, well, it wasn't actually a choice. Um I just ran my JSON object into um um MySQL
**[46:17]** database and that was basically it. Um and sometimes in in client projects we do that as well but we extract the data that we need of that um well let me rephrase that. Um sometimes in client projects we do store JSON as well in our um database because that is mainly coming from sensors or Raspberry Pies or whatever and that's a huge chunk of data that we need to store. Um so we store that into a JSON object and we have um
**[46:49]** the key values that we need um extracted out of that into another um database um column basically um and that's with a stored how is it called? Oh I can do that I can say it thousand times um a stored value uh and then we can actually extract that from a JSON object into a separate value. I'm not sure about the name but we I have multiple examples of that. >> Um so no there wasn't actually um a
**[47:20]** particular reason why just because I use it from time to time. I could have done it with a flat um yeah table as well like saying hey position X or at position six or seven is this card um and have separate rows for that in a database. But yeah, well I I stored it into a a JSON object in my game. Uh basically um yeah, if it would ever go to production, I could reconsider that as well.
**[47:51]** >> Yeah. And again, it's it's one of those things where at this point in time, it's literally a choice. You >> Yeah, >> you can draw objects out of JSON in database just as easily as you can of single single field nowadays. >> Yeah. [snorts] Well, back in the day we couldn't um so I think it was MySQL No, it was um [cough] MySQL [clears throat] 8. No. Yeah, eight that allowed JSON objects. Um well that was for me
**[48:22]** especially for me game changer in um data storing because we needed to to store a huge amount of data uh coming from devices um like meter values for example or uh diagnostic uh stuff coming from hardware devices that is a huge t chunk of uh JSON that is coming in and if we need to um extract that um and put that into separate values instead of storing just the one object and pushing
**[48:54]** it away. Um, yeah, that was a gamecher for us because we had thousands of those devices connected um and they were all sending out stuff um every minute. So yeah, we needed some way to uh store that and deal with it later. So, and that's how I got into uh pushing JSON objects in databases and doing something with them when we have time for it >> or whenever we need it.
**[49:24]** >> Yeah, >> that's a very busy database if you've got once a minute from mult. >> Yeah. Uh and it all works on MySQL. So yeah, we have considered other stuff as well, but for now it works and we have >> a lot of devices connected to that. Um, and well, yeah, it works. Yeah, >> it's quite incredible to just think that MySQL, the
**[49:55]** the oldest database system around basically is still able to handle >> that [snorts] volume of data without breaking a sweat. And also thanks to how um Eloquent does the the mass signing stuff. Um yeah, that that helps. Um yeah. >> Yeah, Eloquent as no RM does so much to help you. >> Yeah. Yeah, it does. Um [clears throat] but it's it's also keen to understand what it does under the under the hood.
**[50:26]** >> Um I've seen developers do stuff with Eloquin that I think like you could this you could do this differently. um >> uh because they don't know what the impact is under the hood. Um but yeah, that's yeah that's the when I graduated we used JavaScript now they graduated the they use React and they don't know what React is under the hood. So >> small things um that they
**[50:56]** [clears throat] do have a huge impact uh on the the >> nature of the language. Um >> and I think it's still uh very important to know that and whether it's JavaScript or PHP or or whatever um the base of the language is so important and to understand what is happening under the hood especially if you're talking about scale. Um yeah that's so important. And scaling something isn't just about
**[51:27]** size of data. It's also the the number of requests, the number of times you read. And >> I've dealt with apps where the database has been the biggest bottleneck because it's not been >> not been designed for the scale ability that it needed. >> Yeah. Yeah. Um I'm a huge fan of um storing um like for instance if you you if you would do um a statistics page um and instead of calculating the amount of
**[51:58]** sales I'm just thinking out loud right now um calculating the amount of sales and amount of objects that are purchased in the past 30 days. I like to um generate that once, store it in a database every hour for instance or every 10 minutes instead and then we have one record that needs to be pulled out instead of a thousand records and calculated. >> So that's a small trade-off of doing um a chron job or something like that or
**[52:29]** scheduled task which is generating a statistic value and storing that in a database. So and we can cach that as well. um instead of yeah needing to recalculate stuff over and over. Um and that is also something that we um yeah we try to do for all our clients and I can see juniors coming in and not understanding why we do that. um until um yeah, if I can say it like like this,
**[52:59]** when [ย __ย ] hits the fan and requests come pouring in >> really fast and then you see the benefit of that. Um >> yeah. >> Yeah. So >> going back uh about four years ago, I was teaching a boot camp here in the UK with a company and one of the things that I showed in one of the lessons was what happens if you do overload a database. So I created a database and then I created a script that just did a million requests to the database was on
**[53:29]** a tiny little VPN deliberately to fail at a million >> and it was like oh but that's terrible. What are we going to do? These were literally people that had never coded up until starting the boot camp. >> Yeah. >> So I just showed them the idea of Right. So the problem is we've got a lot of requests coming in for one piece of data. How about we put that in memory? >> Yeah. and I showed them caching and then so what we've got over here we've got a really bad request that's coming in and it's drawing from that table and that
**[54:00]** table and that table. So let's start by optimizing that query a bit or we could just save it as a value. >> Yeah. >> And show them some of the key optimization techniques. >> Yeah. There's so so many good things out there right now that we can do. Um like caching. Um I really like the um Did you guys ever hear of varnish? >> It vaguely rings a bell. >> Yeah. Well, um [clears throat]
**[54:30]** is like um a caching mechanism which allows um yeah allows caching to do on very very big scale. Um, a friend of mine works um for varnish software right now and he explains it so good how it works under the hood and if I need to teach um juniors coming in or explain how caching works, I just show show him one of his videos and they're hooked right away. Um, and it yeah release went stale and
**[55:03]** stuff like that and how the flagging in caching works. Um, and we can all tweak that in varnish. Uh, so I would love to see um a good implementation of varnish in Laravel. I didn't have any case of that yet. Um, maybe we should do one if we have some time. Um, >> but one of our colleagues has actually used varnish on big projects. >> Yeah, he is. Um, it's very good. Yeah,
**[55:33]** [clears throat] >> I might have to have a proper look at it. It It's literally one of those things where I think I've heard of it but never had a need to use. >> So we we have one [clears throat] more pre-programmed question. >> Okay. >> And this one could take about an hour to answer. >> Um [gasps] >> the the game that you built it is basically real-time collaborative application but just hiding in disguise.
**[56:04]** Um, what's the most unexpected thing you've built with that? The most unexpected thing? Um, um, well, as I mentioned before, we have this um, uh, thing with charging stations for electric vehicles where we have real-time monitoring of those. Uh, basically that is also websockets. Um so that is also real time. Um so whenever
**[56:36]** someone plugs in their charging cable we can see that popping on uh a dashboard if their transaction is accepted. Um or if there is an error we have a dashboarding tool that um yeah um reports something is wrong. We need to send a technician over there. um or even when a client of ours is charging with his charging RFID card in Scandinavia or in Portugal or whatever, we can see that instantly. Um and that is also just websockets and PHP. Um and that's it. Um
**[57:10]** so I think in that case of real time web at the moment um that would be the most unexpected thing that we have built so far um because no one um yeah would think of PHP for that kind of uh scale of application in real time. >> Um >> yeah so I think that covers a part of the question I guess. Yeah, but believe it or not, I probably wouldn't even have
**[57:41]** considered PHP to answer that question. >> We we need to do this multinational realtime data feed. >> Mhm. >> And we need it to be showing on dashboards. Your first thought isn't PHP for that which >> no at first we we yeah of course thought thought um a JavaScript with node and stuff like that but um at the time we were thinking tinkering around with a websocket for a Raspberry Pi which was monitoring um I think it was raspberries
**[58:12]** that we were growing with a camera and stuff like that and I needed to have a way to see that on a dashboard if um if something is watered or needs water or how full is the tank of the the water supply. Um, and I did that at the time with um a normal websocket um thing with a PHP back end. And that allowed me to think out of the box and say well these these charging stations why why not uh
**[58:44]** let's try it >> and we tried that and together with Brah who is now devil at Google um we um yeah we basically locked ourselves in a room for three days and and had at it and yeah out came the product very very first prototype of what we are still using today. >> Interestingly, I think my first thought for an application like that would have been Go. >> Oh, yeah. I don't do Go. [laughter] I never I never tried. Basically, I
**[59:17]** never tried Go. >> Yeah. >> It It's a very interesting language for PHP devs because you can you can see how Go has been influenced by PHP and how PHP has been influenced by Go and you end up with some similarities that you wouldn't expect. And then you end up with some complete differences like you want to do a JSON. Oh no, you can't do that. You have to have strrus first. >> Yeah. >> And you have to tell it what the JSON's going to look like. Have you seen APIs?
**[59:50]** [laughter] >> Yeah, I've seen a lot of different types of APIs as well. True. >> No, but I I think um now that I think of it, we looked at uh Ruby on Rails as well >> to do the thing that we needed to do. >> Um but we ended up with PHP anyhow. So yeah, >> but that just proves that it's able to do what even Ruby can. And yeah, Ruby is one of those languages that honestly
**[60:21]** people underestimate as much as they do PHP. >> Yeah. Yeah. It's um well I I did didn't do any production applications in Ruby on Rails, but I tinkered around with it for like three years creating my own projects and um trying stuff. >> Um >> and I really enjoyed uh writing that as well. Um >> um people are telling me, "Hey, you should look at Rust as well right now." Um it would be something for you. Um but
**[60:52]** it's on my to-do list, so I'm very eager to try that as well. Um but yeah, for now, PHP just works for me. >> Yeah. And it's it's great to be able to go and look at other languages and see what's there, but you often fall back to that first love, that one that really made the difference >> and trying out other stuff like um opens up um the possibility to learn other methods as well. I I picked up a few
**[61:23]** things um when I was trying um Ruby on Rails um which I then implemented in my workflow for setting up my my classes. Um so yeah, I whatever I try to do, I take away some uh some pointers that I can use in PHP. >> So yeah, >> I'm still looking for the excuse to find a pointer in assembly language that I can use in PHP. [gasps] I write assembly language for fun.
**[61:55]** >> I think assembly was back when I was doing university. Um and then I never touch that again. Um so it would >> that is what most people do with assembly. But yeah, [laughter] I I find it fun because I love the idea of literally knowing exactly where each bit is in memory. >> Yeah. The problem with that is I know exactly where each bit is in memory. And the program is about 55 million lines before I can print hello on screen. [laughter]
**[62:26]** >> But even adding one single line can um can mess up the whole thing. >> Yeah. Assembly, right? So, um yeah, it's um I I would need to look to the syntax again, but it's it's um almost 16 years ago, I guess. Uh or or even more. Yeah. Anyway, I'm old [laughter] >> this weekend for me. But
**[62:56]** >> so um we we're getting to sort of our the time well we we've gone past the time we normally try and uh limit ourselves to um and there are there are a couple of other little questions I'd like to to ask you and these are questions we ask most of I guess the first one is um >> what is happening in the PHP world today or has happened that really excites you and really drives you to continue to use PHP? Um, Prism
**[63:27]** by TG. >> Nice. >> Yeah, that's it. >> Um, I'm been tinkering around with AI pretty much daily right now. Um, and the stuff that we also at Vulper, we be build for clients right now. Um, we get a lot of questions about AI. Um, so, um, for example, my personal Strava helper. Um, I also tweeted about that, I guess. Um, whenever I do a workout, um, it gets
**[63:58]** pulled in by the Strava API. Nothing fancy about that. And then I use Prism to, uh, shoot that out to, um, OpenAI and also to, uh, cloud to see, hey, this is the workout that Bert did. Um, you're a coach, by the way, and you're specialized in triathletes and blahy blah blah. um and do an proper analysis um and create the next workout that he should do and if I don't follow the workout that he did um propose to me um
**[64:29]** he is actually um yeah complaining to me saying hey you didn't do what I asked you to do um so yeah I Prism allows me to um yeah um to create cool stuff with AI as well um instead of using stuff like NA10 or something like that with a regular API call. I can now do that in my PHP projects um as well. >> Well, in my Laravel projects um and that is something that will be in my opinion
**[65:01]** change the game for the coming three years. >> Yeah. [clears throat] Well, TJ's like a friend friend of architects and he will be on this show with us on the 25th of November. >> So, cool. Yeah, that we're really looking forward to having that conversation. That is certainly something that excites both both me and Chris is the the ability to bring AI into our into our applications. [clears throat] And I I've got some plans of things I want I'm I'm building up to to using. So, I've got some ideas
**[65:33]** to use Prism. So, I'm I'm really looking forward to getting to the point where I start using it. I've just got a few more foundations to laying that out before I get to pull that in. To be completely honest, I was skeptical about AI like for a long time. >> Oh, I was. Yeah. >> Yeah. Um I even did not use um uh Copilot uh and autocomplete stuff like that. I didn't use that until um Loracon EU last year where um Diana
**[66:07]** of Beyond Code um convinced me to to try it. Um and well that unlocked a whole stuff a whole thing for me. Um the auto completion stuff I I couldn't survive anymore without it at the moment. So, um, but I do hope that AI doesn't kill our own brains. Um, >> I see a lot of VIP coding stuff going wrong and and and yeah, it it would be a shame to see that um all the stuff that
**[66:39]** AI is building um for us um goes to production without overseeing it. Um I see a lot of stuff going on especially with junior developers. they they yeah they basically just prompt uh right now and they don't know >> and the other day someone asked me hey can you look at this here uh I have some issue and I asked him how did you come about this idea and he literally said um I don't know AI did that
**[67:10]** >> yeah we had a very long and interesting conversation um to do with AI it comes up on almost every show um but uh we had Uh on episode four, I'm just looking up episode four. We had uh Ash uh Ashley Hindel from uh LA. >> Yeah, >> we were we we were talk we've obviously brought him on to talk about boost, but we did a lot of talking about AI um and and our views on how to use it effectively in our work.
**[67:40]** >> Um is it really taking over a developer's job? Um it certainly seems to be creating jobs in the industry for uh vibe code coder fixers. What [laughter] [cough] >> so um >> we've actually evolved now from vibe code fixes. We now have three different people that are working around vibe coding. We have vibe coders who are professional vibe coders now. >> Um we have >> I know where you're going now. [laughter] We have professional vibe
**[68:12]** code fixers and then we have people who run webinars about how to be a professional vibe coder. [laughter] >> Awesome. >> It's Yeah. >> Yeah. I'm Yeah. I'm a bit afraid of how the industry will evolve basically around all the AI stuff. Um but yeah, if we stay true to our um yeah to to the stuff that we build and the passion that we have for it. Um, and to be honest, I I also use it to say, "Hey, I have this
**[68:42]** and this and this." Create uh a CR controller for me and then it must do this and this and this. >> It creates that and then I go check what he did and and correct that in my kind of way that I wanted. Um, so yeah, sometimes he is writing awful awful stuff. So before we uh started talking we asked the question are we going to see the comments on your channels answer yes we are >> oh cool
**[69:14]** >> that's come over from your YouTube channel >> is it now >> yes we can see that >> okay cool cool so that >> for anyone that doesn't realize what's what we're talking about now we we're experimenting we've never done this before but Bert has paired and he is streaming this to all his channels as well as it's going to all our channels. So, we're doing this for the first time. It's pretty cool. Um, so yeah, that's a comment come from your YouTube channel there. >> All right. Cool. >> Yeah. Yeah. And I tend to agree. Refresh
**[69:46]** your skills and do it without AI. >> Mhm. Yeah. Yeah. Yeah. So, um I'm trying to get my Yeah. At Philpo, my my team on board with um uh no AI days. uh so that we don't touch any AI stuff uh during a certain day, but it didn't happen until now. >> Uh unfortunately, >> I've sort of evolved the way that I'm using AI. And I've gone through companies where it's been enforced that
**[70:18]** thou shalt write 70% of thy code with AI. >> And I've been in companies where it's thou shalt not write anything with AI. And now I've landed here where AI isn't a isn't a bad thing, but is also not the be all and end all. And I've sort of evolved the the way that I'm using it is I've got open code running. I've got a llama in the background running Kimmy on one trillion. >> And by using those, Kimmy has the knowledge of my codebase to answer
**[70:50]** questions about the code, but I don't let it code for me. Yeah. Yeah. Yeah. >> And a one trillion model is scary. >> Yeah. I can imagine. Yeah. It honestly I actually think Kimmy might be marginally better than Claude at code, >> which is >> I'm using Claude right now. Um and I'm to be honest, I'm really impressed how how how good it is. Um at if you prompt
**[71:24]** it specifically to do just one single task um if you ask it to create um well if if you give him a two big task it will fail tremendously. Um but if you can like hey I have this service class over here I want to do yada yada with with it. Um, and make sure you use as a reference another repository where I created the same thing. Um, in that [clears throat] case he is quite good at
**[71:56]** what he does. Yeah. And Claude is genuinely brilliant at understanding code and presenting code. >> Yeah. And I think the one thing that gives Kimmy the edge is the context window. So it's got a context window that's about 20% bigger than Claude's. >> So it can hold in memory more than Claude can. >> Now combine that with Laravel boost
**[72:28]** >> and you end up with a ridiculously powerful AI. And it will answer questions in ways that I will say, you know, what will happen if I add this? And it will tell me about a side effect >> 15 glasses deep. >> And it's like that's incredible. It understands it well enough to know that these are all linked through this pathway and it's going to break over here. >> Yeah. Yeah. Yeah. Well, I um don't tell this to um Henley, but I
**[72:59]** didn't use boost until now. Um, and I'm planning to use it uh like next week >> on a project that I a hobby project um to just yeah get my my feet wet in it. >> Um because I'm I'm piled up into work all over the place right now. So I didn't have any time for that. Um so but I'm really really eager to to learn how everything works with that as well. So, um yeah, if you have any pointers, do
**[73:31]** send me an email. >> It's easy. [laughter] It is so easy. >> Um just to install it and then just away you go. I'm I'm using I'm using on personal projects at the moment. So, I've got it on two projects and I'm using Claude. >> Um >> Okay. >> Uh with alongside it and it is just so so easy. I mean, Claude isn't perfect. I I we'll I'll get it like as I say there was one project I did um I put in the
**[74:01]** feature and I knew I knew it was going to be mainly JavaScript because I was pulling in a Jav JavaScript library to handle a lot of logic. Um and I thought that's not something I could it would take me months to write this. So I I thought I'll give Claude a go and see see how how well it does. And it doesn't work first time. There are times when I just getting frustrated with it. It's like, "Right, you're telling me you fixed it, but you haven't. It's still doing the same thing." Um, so it takes
**[74:32]** it it doesn't get it right first time. Um, and I have no idea what sort of quality of code it is. So, I will get someone to look it over before I ever actually put it anywhere public just to check that it's not nothing crazy. >> Yeah. Yeah. I did the same thing by the way. Um yeah, with uh my very first package I had Frank look it over. Um and after one hour he had like 20 commits. [laughter] >> So yeah, having someone looking over um
**[75:03]** the things that you did is uh also very nice. >> Yeah. >> And somebody that can be for one of a better word harsh, but you know that it's for the benefit of the end result. And some of the best code reviews I've ever had have been like, "This is terrible. Here's how to fix it." >> Mhm. Yeah. >> And what one guy that I worked with, Alex at Jump 24, some of the code reviews he gave me were like 20, 30, 40
**[75:34]** comments on the code of make sure that we're doing this, do this, do this, do this. And it's like, at this point, would it not have been quicker for you to write it? And the answer is yes. But now I know how to write it. >> Mhm. That sounds familiar. [laughter] >> I don't know what you could possibly mean. Mike, you asked for the review. [laughter] >> Anyway, we are now running starting to run long. Um, so I don't want to keep you too too long, but so I just want to say thank you very much for giving up
**[76:06]** your time to chat. It's been Yeah, it's been a fascin fascinating chat. Um, I'll just go through a couple of Where's my notes? I've lost my notes. Here we [snorts] go. So, um, anyone that's not in our Discord channel, please do pop over into our Discord channel. Uh, there are people, great people, great developers, um, and all sorts hanging out in there all week long. We can have the questions asked, just have general conversations.
**[76:37]** Um, so yeah, do jump over there. Um, that would be great. Uh if you're on our YouTube channel, please uh like and subscribe. If you're not, you can pop over to our YouTube channel and subscribe to the channel. You'll get not can get notifications. Uh the we've on our channel, we've got three different shows. We've got us, we've got the main uh show with Eric and John on a Thursday, and there's also community corner with Scott. um where my YouTube uh magazine, we uh produce a monthly
**[77:08]** magazine and we have a discount code there for you on the screen, a live three and that will give you uh the first three months of a year subscription for free. So yeah, that's uh and that's a digital subscription. Sorry, I forgot to say that earlier, didn't I? It's a digital one. >> No, you said it earlier. >> Did I? Okay. I I tend to forget to tell people it's a digital one. I get told off. So that's a dis digital subscription. Uh it's uh PHP architect all sorts of articles u to do with PHP and and surrounding tech that we use
**[77:40]** within our industry. Um some great stuff in there and Chris is one of our main contributors there. Um if you want to write for the magazine, get in touch. Uh we do pay for people to write uh articles. So um please do get in touch. And I'll tell you what would be an really interesting article is uh that how you came to build this this game. That' be quite interesting right now. >> How to write a real time game in Laravel would be a brilliant feature article for
**[78:10]** >> Well, I I was actually planning to write that for my blog. So maybe I would uh write it for yours. >> That would be wonderful. Yeah. >> If you write it for our magazine, we'll pay you for it. We >> Awesome. [laughter] >> I Yes, we do. Yeah, we pay for pay for the articles. Um, I I can't remember how much it is or whether it's publicly known. >> It's $175 for 2,500 words or more. >> Okay, that's triple of what I make on YouTube. >> There you go. Then [laughter]
**[78:40]** we get it down. Get it sent over to Eric or John or or reach out to one of us and we'll get you into in contact with the right people. Um, move on. Tech uh PHP Tech 2026. I had to think of the year then. um is is happening. Get your tickets. It'll be lovely to see people over there. It's one of the the nicest um te uh conferences, PHP conferences I've ever attended myself. Um and I know I'm a bit biased, but I I've found it's
**[79:11]** it's one of those environments where there are no clicks. And I mean, you'll sit down, you're sitting chatting to someone and the next thing you know, it's it's Ben Ramsey you're chatting to >> or or Sarah from internals and you're just chatting away and you're like, >> "What?" >> Or you go and go out for sushi with TJ and Daniel wrote Reverb that wrote Verbs. >> Yeah. Yeah. So do do join us. Get get some tickets and uh join us. Alongside that, there is now JStech which you can
**[79:43]** now submit uh talks to. I don't how long Chris, do you know how long that's open for? When does that close? >> At the moment, it's open for a month from the episode of the podcast. So, ever so slightly less than a month. >> Yes. So, is that just the end of November? >> I believe so. Yeah. >> Okay. So, I think we think it's end of November. If you go to session.com/js-tech-2026
**[80:15]** and uh it will have the closing date on there. Um head over to our swag store as well and check out the uh merch. You can get some great t-shirts uh and mugs and so on and all those sorts of things. Um that is everything from us. Uh once again, thank you very much for giving us your time today. There is Bert's YouTube channel. Do head over subscribe to him. Um he's putting out some really cool content. >> Yeah, thanks. [laughter] >> That's that's absolutely no problem at
**[80:46]** all. Right, everyone. Um Oh, hang on. I've got to cue this up because I've not got the right screen open. Where is it? Where is it? There it is. Right. Thank you very much everyone and we'll see you next time. Bye.