PHP Alive And Kicking: Episode 7 - Steve McDougall
🔗 **Source:** [PHP Alive And Kicking: Episode 7 - Steve McDougall](https://www.youtube.com/watch?v=jYJn-Hmp4OY)
> [!note]+ Document Notes
> tags: [PHP, APIs, Open Source]
> author: [MISSING]
> source: YouTube
> reference: [https://www.youtube.com/watch?v=jYJn-Hmp4OY]
> date created:
>
> # 🏷️ Title: PHP Alive And Kicking: Episode 7 - Steve McDougall
>
<!-- deep-read:sections start -->
## 🧰 Action Inbox
- [H1] Capture why this podcast exists — context/https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=24 #articleseed
- [H2] Draft “sysadmin → PHP” career map — context/https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=323 #articleseed
- [H3] Note “scratch your itch” products — context/https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=404 #xref
- [H4] Document live-stream pedagogy patterns — context/https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=1154 #articleseed
- [H5] Build “debug live” facilitator guide — context/https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=1215 #addendum
- [H6] Compare Laravel vs API Platform paths — context/https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=2149 #xref
- [H7] Summarize PSR benefits for teams — context/https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=3234 #articleseed
- [H8] Create “Learn language before framework” handout — context/https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=4084 #share
- [H9] Track PHP modernization milestones — context/https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=4306 #xref
- [H10] Propose OSS-first onboarding clinic for juniors — context/https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=3606 #share
## 🧭 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
- Include links cited in or relevant to the article.
## 📝 Summary
- Mike Page and Chris host Steve McDougall.
- Steve shares his path from sysadmin to PHP developer.
- He promotes live streaming that normalizes mistakes.
- He highlights API Platform with Laravel adapters.
- He explains PHP-FIG and PSRs for interoperability.
- Risks include framework lock-in and shallow understanding.
- Tradeoffs arise between speed and deep language knowledge.
- Bottom line: learn PHP deeply, then apply frameworks.
- Watch the source video for context. [YouTube](https://www.youtube.com/watch?v=jYJn-Hmp4OY)
## 📖 Main Content
- The show introduces community, merch, and a conference.
- Steve moved from ops to code by solving personal needs.
- He built early projects for music and storage access.
- He now streams to teach advanced topics transparently.
- The method shows errors and the debugging process.
- He argues APIs benefit from API Platform automation.
- Laravel remains central, but adapters broaden choices.
- PHP-FIG sets PSRs so libraries swap cleanly.
- Stronger typing and fibers push PHP forward.
- Advice stays consistent: learn the language first.
- Then select frameworks that fit clear constraints.
- Uncertainties include adapter maturity and team skills.
### 🗒️ Notes
#### ⏱️ [00:20](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=20) Purpose of the podcast
### [H1] Podcast explores PHP practice and careers
> [!quote] [PHP Alive And Kicking: Episode 7 - Steve McDougall](https://www.youtube.com/watch?v=jYJn-Hmp4OY) by an unnamed author via [[YouTube]]. Published [MISSING]. Accessed .
> “This podcast explores the latest developments in PHP and what it's like to earn a living in PHP today.”
This frames scope and audience needs.
[view highlight](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=20) #articleseed ID:rw_[MISSING]
#### ⏱️ [05:23](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=323) Origin story
### [H2] Self-teaching initiates career transition
> [!quote] [PHP Alive And Kicking: Episode 7 - Steve McDougall](https://www.youtube.com/watch?v=jYJn-Hmp4OY)
> “so I decided um to teach myself PHP.”
Career pivots often start with small projects.
[view highlight](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=323) #articleseed ID:rw_[MISSING]
#### ⏱️ [06:46](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=406) Build for yourself
### [H3] Personal pain produces first useful tools
> [!quote] [PHP Alive And Kicking: Episode 7 - Steve McDougall](https://www.youtube.com/watch?v=jYJn-Hmp4OY)
> “So, I'm going to build a little file storage app as well.”
“Scratch your itch” remains a durable learning path.
[view highlight](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=404) #xref ID:rw_[MISSING]
#### ⏱️ [19:12](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=1154) Teaching approach
### [H4] Live streaming normalizes mistakes and learning
> [!quote] [PHP Alive And Kicking: Episode 7 - Steve McDougall](https://www.youtube.com/watch?v=jYJn-Hmp4OY)
> “I started streaming because, well, I was I ran a user group here in South Wales called Peach South Wales.”
Community roots inform the streaming cadence.
[view highlight](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=1154) #articleseed ID:rw_[MISSING]
#### ⏱️ [20:23](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=1223) Pedagogy in action
### [H5] Teach concepts and debug transparently
> [!quote] [PHP Alive And Kicking: Episode 7 - Steve McDougall](https://www.youtube.com/watch?v=jYJn-Hmp4OY)
> “I'm going to take these topics. I'm going to explain them to you and if things go wrong, we'll work through them.”
This builds confidence for juniors.
[view highlight](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=1215) #addendum ID:rw_[MISSING]
#### ⏱️ [36:09](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=2169) APIs at speed
### [H6] API Platform accelerates CRUD for Laravel apps
> [!quote] [PHP Alive And Kicking: Episode 7 - Steve McDougall](https://www.youtube.com/watch?v=jYJn-Hmp4OY)
> “I've been building APIs for Laravel for a very long time.”
Experience underscores the platform comparison.
[view highlight](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=2149) #xref ID:rw_[MISSING]
#### ⏱️ [54:15](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=3255) Standards
### [H7] PSRs enable client and library swapability
> [!quote] [PHP Alive And Kicking: Episode 7 - Steve McDougall](https://www.youtube.com/watch?v=jYJn-Hmp4OY)
> “PHP Fig is a framework interoperability group.”
Interoperability reduces vendor lock-in risks.
[view highlight](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=3234) #articleseed ID:rw_[MISSING]
#### ⏱️ [68:02](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=4084) Order of learning
### [H8] Learn PHP first, then frameworks
> [!quote] [PHP Alive And Kicking: Episode 7 - Steve McDougall](https://www.youtube.com/watch?v=jYJn-Hmp4OY)
> “So there really basically we're saying learn the language first, then the framework, and then don't fight the framework that you're picking.”
This sequence reduces confusion across stacks.
[view highlight](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=4084) #share ID:rw_[MISSING]
#### ⏱️ [72:29](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=4349) PHP’s trajectory
### [H9] PHP modernizes with types and concurrency
> [!quote] [PHP Alive And Kicking: Episode 7 - Steve McDougall](https://www.youtube.com/watch?v=jYJn-Hmp4OY)
> “for a 30-year-old language, we're doing pretty damn well.”
Momentum matters for roadmap planning.
[view highlight](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=4349) #xref ID:rw_[MISSING]
#### ⏱️ [60:06](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=3606) OSS ethos
### [H10] Open source thrives on collaboration
> [!quote] [PHP Alive And Kicking: Episode 7 - Steve McDougall](https://www.youtube.com/watch?v=jYJn-Hmp4OY)
> “The whole point of open source is that it is collaborative.”
Collaboration produces better long-term designs.
[view highlight](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=3606) #share ID:rw_[MISSING]
## 📚 References
- PHP Alive And Kicking: Episode 7 — YouTube. https://www.youtube.com/watch?v=jYJn-Hmp4OY
- PHP-FIG official site. https://www.php-fig.org/
- API Platform official site. https://api-platform.com/
- Laravel official site. https://laravel.com/
- PHP manual. https://www.php.net/
- Honeybadger (sponsor mentioned). https://www.honeybadger.io/
- PHP Architect magazine. https://www.phparch.com/
## 🗣️ Paraphrase
- The episode shares Steve’s route into PHP and streaming. He shows errors openly to teach debugging habits.
- He compares Laravel and API Platform workflows. He explains PSRs and PHP’s modernization. Learn PHP first, then add frameworks.
## 📰 Newsletter
- PHP stays lively at 30. New tools push quality and speed.
- Steve McDougall champions learning in public and strong API patterns.
- Try API Platform with Laravel adapters for faster CRUD.
- Review PSRs to future-proof your stack choices.
- Watch the full episode. [YouTube](https://www.youtube.com/watch?v=jYJn-Hmp4OY)
- WordPress tie-in: map PSR-18 clients to WP integrations.
- Community plug: Support The WPOCC fellowships that keep contributors shipping. https://wpcommunitycollective.org
## ✅ Action Items
#### DevRel
- Run a “debug live” workshop using real errors.
- Publish a Laravel ↔ API Platform quickstart guide.
- Record short videos on PSR-18 and HTTP clients.
- Set quarterly office hours for API design reviews.
- Collect questions in Discord and close the loop weekly.
#### OSPO
- Document PSR adoption policy and exceptions.
- Standardize HTTP client auto-discovery guidelines.
- Track PHP version upgrades with risk notes.
- Create a cooperation MOU for API adapter projects.
- Maintain a learning-path for framework-agnostic PHP.
#### Community
- Host a “Learn PHP first” study sprint.
- Pair mentors with juniors on small OSS issues.
- Share streaming templates for live pedagogy.
- Publish conference CFP prep checklists.
#### WordPress
- Core: propose PSR-7/18 bridges where feasible.
- Training: ship “PHP-first then framework” learning path.
- Plugins: test API client swapability in popular stacks.
- Documentation: add examples using API Platform backends.
- Playground: demo REST backends from Laravel and API Platform.
- Accessibility: audit plugin UIs for error clarity.
#### The WPOCC
- Programs: microgrants for API docs sprints.
- Projects: mentoring on PSR adoption and testing.
- Funding experiments: matched grants for framework bridges.
### FAIR
- Technical independence: pin dependencies; verify signatures.
- Policies: publish sunset clauses for vendor-specific code.
- Governance artifacts: adapter scorecards and risk templates.
## 🧪 Hypotheses
- Teaching with live debugging improves retention over lectures.
- Teams using PSR-18 switch clients faster with fewer defects.
- API Platform reduces CRUD delivery time by at least 30%.
- Language-first training lowers framework switching costs.
### 📊 Methodology
- Run A/B classes: live-debug vs slide lecture; test recall.
- Measure swap time from Guzzle to alternatives under PSR-18.
- Log story points before and after adopting API Platform.
- Track defect rates across training cohorts for six weeks.
### ❓ Questions
- Where do Laravel adapters still lag API Platform features?
- Which PSRs bring the biggest wins for WordPress plugins?
- How should teams phase language-first training for seniors?
- What metrics best predict adapter maintenance health?
### 🔮 Future Research
- Compare API Platform with Symfony-native vs Laravel adapters.
- Study onboarding speed for juniors across PHP frameworks.
- Evaluate fibers adoption in production PHP services.
### 💡 Implications
- Invest in PHP fundamentals as a core curriculum.
- Favor standards to reduce long-term integration risk.
- Document adapter choices to prevent knowledge silos.
### 🧠 Learning Styles Assessment
- Reading level estimate: Flesch-Kincaid Grade ≈ 9.5.
#### 👀 Visual learners
- Present: screen shares in streams.
- Improve: architecture flow diagrams and callouts.
#### 🔊 Aural learners
- Present: podcast audio format.
- Improve: 3–5 minute audio summaries.
#### 🗣️ Verbal learners
- Present: clear definitions and terms.
- Improve: analogy banks for PSRs and adapters.
#### 🧩 Kinesthetic learners
- Present: build-along exercises.
- Improve: small labs with failing tests.
#### 🧠 Logical learners
- Present: hypotheses and metrics.
- Improve: decision trees for client selection.
#### 🧑🤝🧑 Social learners
- Present: Discord discussions.
- Improve: cohort-based code reviews.
#### 🧘♀️ Solitary learners
- Present: timestamps and notes.
- Improve: self-check quizzes per segment.
#### 🌿 Naturalistic learners
- Present: minimal system analogies.
- Improve: lifecycle and energy cost framing.
### 📊 Accessibility Assessment
#### Screen reader semantics
- Present: strong headings and lists.
- Improve: alt text on shared visuals.
#### Keyboard navigation
- Present: logical navigation in notes.
- Improve: skip links in published pages.
#### Contrast and readability
- Present: concise bullets aid scanning.
- Improve: maintain 4.5:1 in embeds.
#### Text resizing and reflow
- Present: markdown reflows well.
- Improve: test 200% zoom in examples.
#### Media and captions
- Present: podcast audio available.
- Improve: ensure full captions and transcript links.
#### Forms and interactions
- Present: none here.
- Improve: add accessible feedback channels.
#### Standards reference
- Map gaps to WCAG 2.2 AA criteria.
### 🌍 DEIB Assessment
#### Cultural breadth
- Present: global OSS themes.
- Improve: include non-US PHP examples.
#### Inclusive language
- Present: jargon explained briefly.
- Improve: glossary for juniors.
#### Neurodiversity support
- Present: chunked content and structure.
- Improve: icons plus text in slides.
#### Representation
- Present: single guest perspective.
- Improve: invite diverse practitioners.
#### Psychological safety
- Present: error-friendly learning stance.
- Improve: state moderation and escalation paths.
### ✅ Logical Validity
#### Strong reasoning
- [H7] Standards reduce lock-in through interface contracts. Cite PSR-18.
- [H8] Language-first reduces context switching errors across stacks.
- [H9] Modernization claim aligns with fibers and typing roadmaps.
#### Fallacies
- [H6] Risk of hasty generalization about API Platform speed.
- Safer phrasing: “often reduces CRUD effort in practice.”
- [H5] Anecdotal evidence on pedagogy; request controlled comparisons.
#### Tone of voice
- Conversational, candid, and supportive. Light humor softens critique.
### 🛡️ DARVO Analysis
- Deny: not observed. Issues acknowledged openly.
- Attack: not present; humor remains friendly.
- Reverse victim/offender: absent in the discussion.
## 🎯 Conclusion
- PHP remains vibrant and modernizing. Fundamentals still win.
- Teach openly, adopt standards, and choose frameworks with care.
- Share learnings with your community and support The WPOCC programs.
## 🔖 Zettel Candidates
- **Podcast explores PHP practice and careers** — Scope and audience definition; guides content plans. Source: video.
Links: [[PHP-Learning-Path]] [[Career-Maps]]
- **Self-teaching initiates career transition** — Small projects jumpstart new roles. Source: video.
Links: [[Onboarding]] [[Developer-Growth]]
- **Personal pain produces first useful tools** — Build tools you need; learn faster. Source: video.
Links: [[Scratch-Your-Itch]] [[Project-Seeds]]
- **Live streaming normalizes mistakes and learning** — Teach by showing errors and fixes. Source: video.
Links: [[Pedagogy]] [[Learning-in-Public]]
- **Teach concepts and debug transparently** — Confidence grows when failure is safe. Source: video.
Links: [[Psych-Safety]] [[Mentorship]]
- **API Platform accelerates CRUD for Laravel apps** — Consider adapters to cut boilerplate. Source: video.
Links: [[Laravel]] [[API-Platform]]
- **PSRs enable client and library swapability** — Interface-driven design eases swaps. Source: video.
Links: [[PHP-FIG]] [[PSR-18]]
- **Learn PHP first, then frameworks** — Reduce lock-in and confusion. Source: video.
Links: [[Curriculum]] [[Frameworks]]
- **PHP modernizes with types and concurrency** — Roadmaps suggest steady gains. Source: video.
Links: [[PHP-Roadmap]] [[Types]]
- **Open source thrives on collaboration** — Contribution improves quality and reach. Source: video.
Links: [[OSS-Process]] [[Code-Review]]
## 🏷️ Tag Coverage
#articleseed: 4 • #xref: 3 • #share: 2 • #bmf: 0 • #addendum: 1
## 🧱 Refactor Appendix (append after 🎯 Conclusion)
### 📚 Literature Split Pad
- Purpose: Stage Konik CEE units that become per-source Literature notes.
- Split level: **H3**.
- Include verbatim quotes under 25 words and a [view highlight] link.
### [H1] Podcast explores PHP practice and careers
> [!quote] [PHP Alive And Kicking: Episode 7 - Steve McDougall](https://www.youtube.com/watch?v=jYJn-Hmp4OY) by an unnamed author via [[YouTube]]. Published [MISSING]. Accessed .
> “This podcast explores the latest developments in PHP and what it's like to earn a living in PHP today.”
Use for audience framing and content scope.
[view highlight](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=20) #xref #articleseed ID:rw_[MISSING]
### [H2] Self-teaching initiates career transition
> [!quote] [PHP Alive And Kicking: Episode 7 - Steve McDougall](https://www.youtube.com/watch?v=jYJn-Hmp4OY)
> “so I decided um to teach myself PHP.”
Use in “career switch” playbooks.
[view highlight](https://www.youtube.com/watch?v=jYJn-Hmp4OY&t=323) #xref ID:rw_[MISSING]
---
### 🔖 Atomic Split Pad (Zettel Candidates)
- Purpose: Promote reusable claims into Atomic notes.
- Split level: **H4**.
- Each item: one idea, present tense, specific, testable.
#### [Z1] Self-teaching initiates career transition
- Works when tied to a personal product need.
- Pointer: timestamp 00:05:23.
- Links: [[Career-Maps]] [[Project-Seeds]]
#### [Z2] PSRs enable client and library swapability
- Holds when teams respect interface contracts.
- Pointer: timestamp 00:54:15.
- Links: [[PHP-FIG]] [[PSR-18]]
---
### ✏️ Fleeting Queue (Extract by Selection)
- Purpose: Capture quick actions or sparks for Fleeting notes.
- Extraction: **Select one line** → “Refactor: Extract selection to new note (content only).”
- Keep each line short and self-contained.
- [F1] Draft “Learn PHP first” handout — context/https://www.youtube.com/watch?v=jYJn-Hmp4OY #fleeting #inbox
- [F2] Build Laravel ↔ API Platform demo — context/https://www.youtube.com/watch?v=jYJn-Hmp4OY #fleeting #inbox
- [F3] Create PSR-18 client swap guide — context/https://www.youtube.com/watch?v=jYJn-Hmp4OY #fleeting #inbox
---
<!-- 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=jYJn-Hmp4OY)*
**[00:14]** Hello and welcome to PHP Alive and Kicking brought to you by PHP Architect and made better by our partners at Honeybadger, but more about them later. This podcast 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 Page, better known as Mike Page Dev. I'm a developer at PHP Architect and my co-host is a longtime contributor to the magazine and now a fellow team member, Chris. Hi, Chris.
**[00:46]** >> Hey, Mike. How you doing? >> I'm good, thanks. Uh, this is a pre-recorded episode, but me and Chris will be in our Discord channel whilst this goes live if you have any questions and I'm sure our guests might be able to pop in as as well. So, please do join us in Discord. There's so many brilliant people in there. Um, there's conversations going on there all week long. Uh, you could meet all sorts of uh of uh people in there, people that contribute to the language, people that write packages that you probably use
**[01:16]** every single day. everyone's in in there. So, that's a great community to be uh be a part of. Another thing we wanted to say, don't forget that we now have a store, a merch store, and I will bring that up on the screen or not. There we go. So, we now have a merch store. So, do pop over, have a look. new designs being added all the time.
**[01:52]** So that' be that's that. And then we have a a conference. So don't forget about our conference tickets are on sale. So it' be great to see you guys there. Okay, that's all our little bits of sort of intro bit stuttery start, but hey ho. Shall we get on with what's going on in uh PHP today? Who have we got today?
**[02:24]** >> So today we're inviting a good friend of mine um Steve McDougall, better known as just Steve King and freelance content creator. >> Hey, >> let's bring him in. Hey Steve, how you doing? >> I am here. I am good, thank you. So, I was uh just looking on the PHP Arch store, thinking about building my little Christmas list of uh >> nice >> new t-shirts to get. >> There's some cool ones on there. >> Yeah, definitely.
**[02:55]** >> I think my favorite is the uh the Inkplot elephant. That one is brilliant. I love that. >> I like it, but I like the um I have standards one. Um, being >> Steve, I've seen your code. >> Yeah. Okay. Maybe it should be I have opinions. >> Well, he can still have standards. It just doesn't meet your standards. >> Yeah. >> Fair. >> Exactly. Right. >> Thanks for having me. >> Yeah. Well, thank you. Thank you for
**[03:26]** Thank you for coming on. >> I'm off now. I've been insulted. >> We've only just started. I'm sure Chris has got some more insults on the way. >> I'm sure. I'm sure he does. Don't worry. I've got my uh my burn cream at the ready. >> Good. Good. Good. I think you need it. >> Well, um we we generally start off by asking our guests um one simple question and that is how did you get into PHP? >> Oh, that's an interesting one. Um I've never written a single line of PHP. I've
**[03:57]** written bad PHP. Does that count? >> It's still PHP, isn't it? Yeah, you could call it that. Okay, so um yeah, I was a Linux system admin and my job involved kicking the mail server once a week and the rest of the time was playing Call of Duty. Uh it was a lot of fun, don't get me wrong, especially as like a a young 20-year-old. I think I
**[04:28]** was playing Call of Duty, getting paid to do it, occasionally kicked the mail server. Pretty fun. But I got bored. Um, and I could see the dev team always busy, always doing stuff. And I was like, why are they so busy? What are they doing? So I kind of had a look, see what they were doing, and they were like actually creating stuff, not just, you know, shooting zombies and occasionally kicking a bit of hardware. So I was like, "Okay, that looks interesting." Had a chat with them and said, you know,
**[04:59]** figured out what languages they were using. Guy over here was using JavaScript and was like, "Okay, that looks cool." Kind of. Um, what are you doing? And this guy was using PHP. And I was like, "Okay, that looks actually that makes sense to in my head looking and reading it." And went to the last dev and he was like, "I use .NET." And I was like, "Okay, yeah, I'm over here. I'll see you later." Um so I decided um to teach myself PHP. Um
**[05:30]** main reason was because I used to carry around a USB stick with MP3s on it to and from the office so I could listen to music at the office, go home, listen to music and I was happy. But one day I forgot my memory stick, got to the office and I was like, "Oh, I'm going to have to talk to people today. this isn't good. So, uh, the socially awkward thing to do is learn to code. So, I taught myself PHP, built an online MP3 player that I could log into, upload my MP3s, and
**[06:02]** listen to it everywhere. This is like before iTunes on the cloud and all, well, before the cloud existed. So, you know, it was useful for me and it got me into it and I got him even further into it when I was going on holiday and I didn't want to pay for Dropbox. I was like, why would I take all of these photos on my camera while I'm on holiday? Uh, I don't want to store them on my device because well, fat gets fried going through the scanners because of the magnetic stuff.
**[06:35]** I'll lose my photos. So, I need to put them on the cloud, but I don't want to pay for Dropbox. I've got a server that I own that is in the data center that's costing me nothing. So, I'm going to build a little file storage app as well. And it really just gave me the bug. And from there, I just switched from being a system admin to being a developer basically. >> Nice. So when you say you were kicking mail
**[07:05]** servers, is this literally kicking them? And are we >> No, it it was more sshing in and restarting a few services, clearing out any logs that we forgot to kind of properly archive. Yeah. >> So So you did it properly and not the oldfashioned way. >> Yeah, did it. It Yeah. I had to used to travel to go to the data center, so I couldn't like just go kick it. If I was there maybe, but I was, you know, I was about 20 miles away. So,
**[07:37]** >> so something I remember, Steve, there's there's a few podcasts floating around with you, Eric, and John on them. And, um, >> yeah, >> I I seem to remember they had a bit of a nickname for you. Was it [ __ ] Steve? Um, >> where the hell did that start? >> So, I've been a fan of podcasts for quite a long time. anytime I'd, you know, I'm washing up in the kitchen, I'm doing a barbecue, I'm doing something in the garden or anywhere apart on a
**[08:09]** podcast, my wife will go straight for music, I'll go for a podcast because it's time for me to catch up. And I'd ran out of episodes of all of the podcasts that I listen to. And I asked on Twitter or in a Slack group and I was like, what's a good podcast for me to listen to? And someone recommended PHP Ugly. So I was like, "Okay, I'll give it a go." Listen to it. And for the whole episode, they were just really hating on Laravel. I So I was like, I went on Twitter and I
**[08:41]** was like, I just listened to PHP Ugly for the first time and I'm not sure I like it. All they're doing is bashing Laravel and I don't really think they know Laravel very well. Um, and I they jumped on uh I think Eric jumped on Twitter and replied to me. Um, and then it kind of left it at that. And then literally the next week I'd been a guest on a few podcasts. So the next
**[09:12]** thing Eric knew, he'd never heard of me. He saw me on Twitter saying, "Not sure I like PHP Ugly. All they do is complain to listening to podcasts where he was just talking about me all the time and he was like he turned around to John and he was like you never guess who was on I think it was Voices of the Elephant. He was like who? He was like [ __ ] Steve. That's where it started. >> So yeah, that's how I became [ __ ] Steve
**[09:42]** >> basically. >> Yeah. And and little did you know that they use Laravel in the majority of their clients. >> Yeah, I know, right? I was just looking at it first time listening to it and after about 15 minutes I was like, >> "Okay, I'm done. I'm done with this one." Uh, all they're doing is complaining. I don't get it. So, I I just kind of tuned out. And then I kind of went back and relisted after a chat with Eric over Twitter. And then I listened to some older episodes and then I caught back up and then I started
**[10:13]** listening every week and I started to enjoy it and I start it took me a minute to get the style of the podcast. I think >> I think it's the American humor. It must be as as a British person who is half German, I am naturally dispossessed to humor. You know, I I I'm either going to get it or it's just going way over my head. >> And I don't think a lot's changed in the
**[10:44]** later podcast. They seem to complain, but these days it's not about Laravel. It's usually about other things. >> It's probably I mean the age of Eric and that it's probably about the backs these days, isn't it? I mean, they're they're they're older than me, but I'm already complaining about my back, so they must be really complaining these days. >> Shush, we have to be careful. They do watch this. >> And also >> and they are your they Yeah, they employ you, not me. So, it's okay. >> Oh, yeah. It doesn't matter about you. It's what we say. So, Chris, be on your
**[11:15]** best behavior. >> Best behavior, Chris. >> Yes. >> This is my best behavior. >> I know. I've worked with you in three different jobs, I think it is. >> Yeah, that's been >> So, so >> yeah, that that's that's how [ __ ] Steve came about. And I guess that's how um I got into PHP by accident, a necessity, and ignorance. I guess
**[11:48]** a little bit of all all of the three. Yeah, it's it's interesting because we we have quite a few sort of similar similarity. Not what that word that I can't say. >> Similarities. >> That's the one. Thank you, Chris. That's that's why Chris is on the podcast to say the words that I can't say. Um >> he is a lot cheaper than Grammarly Pro. I have to admit. >> Yes. But unfortunately, I haven't I haven't figured out how to do Grammarly um text to speech yet. So, well, I'm sure one day I'll have time to figure that one out. Um that way um because I although I
**[12:22]** started um or came into this industry a lot later than you did. I I was um working in secondary school um started off as the theater technician doing all the sound the lights stuff. Then they needed some help in the IT department. Went into the IT department and changed passwords basically for a living. That's that's pretty much what I did. Um, and the occasional go round and uh force updates on window machines because things didn't update properly. Um, or just go and teach someone how to print
**[12:55]** because they couldn't work out how to print. But um, yeah, these people are the the the population of the country that are teaching our youngsters. >> Yeah, >> that's a bit they were very nice people and I joke and I always used to joke with them as well about it. So I don't think >> it has come a long way though since they started doing well they call it computer science in schools I think the level of IT literacy has had to go up for teachers.
**[13:26]** >> Yeah. Oh, definitely. Spec especially with well the covid I mean having to run a school online um and that was that was a challenge that I I was already in the IT department by that point um but only just been doing it for >> probably about 3 four months and before that I didn't really have much experience with computers I just like the idea of learning how computers work properly and >> I had I had started looking at some HTML and things to build a website and like you I was reading a book on HTML and
**[13:57]** going, "This makes sense. I understand this. This this this makes sense to me." Um, but also going through um uh school because I'm dyslexic. Going through school being told I had to go and be a builder or a carpenter, do something with your hands. Don't do something with your brain. You kind of you kind it sinks in. You think, "No, I can't. Those sorts of jobs are are beyond me. I can't do them." And then you start doing it. You go, >> "Hang on, I'm making a living out of this now." So up your I'm doing a computer science degree as at the same
**[14:28]** time. So up yours everyone. But uh yeah no and then um I was told >> uh confidence building of British teaching. >> I think that's changed as well working working in the school for six years. I did see a big change in how they deal with things like that. But I'm talking about back in the mid 90s. Um they they didn't really really understand what dyslexia was and and how to help me. they just knew I couldn't spell very well and read very well. Um, so they just thought I couldn't do anything very
**[14:59]** well. Um, and so I was held back things even like things in maths. Maths I'm really good at. And um, I I was actually held back in maths because of my dyslexia even though my parents were going but he's really good at maths. Then then the teacher math teacher would phone home phone at home and complain because I was doing the work whilst the teacher was explaining to the rest of the class. So I almost as soon as she's sat down, I was taking my work over to be Martin. So here you go. I've done it. It's done. That's because you're not
**[15:30]** listening to me. No, it's because I can bloody well do it and this is too easy for me. >> But no one listens. But yeah, and then >> luckily things have changed, right? >> Oh, definitely. So much better now. Uh my my daughter um is now about to approach her 20ies. That's scary. That's a really scary thought. But she >> sound really old. >> Yeah, it makes me feel really old now. Um, but she she has dyslexic tendencies as they call it these days because schools won't test for dyslexia. But
**[16:01]** they helped her a lot and she did really well in her in her exams at 16 and went on the college for two years. So she's done really well and so I have seen a difference from that perspective and working in a school at the same time. But like I was uh in the IT department and we were going into a multi- academy trust and the guy that was the head of IT in the other school had built an internet and they wanted to bring it over to our school and he he was becoming the director of IT so he didn't have time to work on it and bring it in.
**[16:33]** So he goes right here you go I heard you you've been got a bit of interest in web development. By that point I' i've learned a little bit of uh C and a little bit of HTML. He goes, "Here you go." And just handed me the code and went, "Oh, I don't know what any of this is." And spent like the summer learning PHP and that was that's kind of it. That's how I got into it really. So yeah, I see you got a lot of similarities there. I've managed to say it that time. >> So anyway, I think that's a good point
**[17:03]** to jump to our sponsors. >> Yeah. [Music] Let me tell you a quick story about our sponsor, Honeybadger.io. One time, a customer of theirs had a background job run overnight that caused hundreds of thousands of errors to be reported to Honeybadger by mistake. Like many other error tracking and performance monitoring tools, Honeybadger bills for monthly usage. And so, this customer's mistake was going to
**[17:33]** cost them a lot of extra money that month. If you've ever used a monitoring service, you might have experienced something like this. Well, fortunately for this customer, they emailed Honeybadger support and received the most amazing reply. Honeybadger was resetting their monthly quota and cancelling their bill. This is just one example of how much the small team at Honeybadger cares about their users. Ask anyone you know and you'll hear similar stories. Go check them out at honeybadger.io. It's free to get started and setup takes less than 5 minutes. Don't forget to
**[18:05]** bookmark it. That's www.honeybadger.io. Thank you, Honeybadger. >> So, Steve, you do a lot of uh streaming >> and you have a slightly more unique approach to your your streams in your uh educational content you put out there. So, we thought we'd have a bit of a chat about that and how you approach it and what your thought process is. Yeah, sure. Um, also I've got to
**[18:37]** apologize for any um delay. I live in Wales and the weather is terrible which affects the internet, so bear with me. >> No, I think I don't think there's that much delay. I think we're all good at the moment. >> Awesome. So, yeah. I mean, uh, I started streaming because, well, I was I ran a user group here in South Wales called Peach South Wales. Um, inerson events, they were great. COVID hit, >> went online, not a big deal. But before
**[19:09]** CO hit, I was starting to kind of feel like the talks I was giving, I really enjoyed. I really enjoyed helping others. So I wanted to look at how I could do it more frequently than once a month. Um so I thought I don't know I'll live stream on YouTube and if I help one person I help one person. >> Um at first I was lit literally streaming I think it was like four times
**[19:40]** a week or two times a week. One over two. Um, and I really enjoyed it. And my approach is just take advanced concepts and explain them in a way that developers will get and show, you know, less experienced developers that it's okay to make mistakes. Look at me. I've been a dev for well over 10 years now and I still make so many mistakes, so many typos. Things still go wrong.
**[20:12]** It's just how you deal with it. Just try and battle that imposter syndrome. And that's kind of been the whole kind of theme of my live streams is that I'm going to take these topics. I'm going to explain them to you and if things go wrong, we'll work through them. And that's yeah, that that's that's what I do these days. Sometimes I do sponsored live streams where a company will sponsor me to do a live stream about something or using their product
**[20:43]** or anything like that, but it's mostly just educational. >> Yeah, it's cool. I've I've enjoyed that sort of approach where it's unedited, it's unscripted, >> and you just you just take an idea and you code. And for me, especially when I started started watching uh your videos, so from as you I'm sure you could tell from my my sort of story, it's I've only been developing for about five years um full-time anyway. So, finding your
**[21:14]** channel and your streams early on in in that process helped me a lot because I'm watching you, you're making mistakes the same as I do. Um, sometimes you can't always find it or spot it instantly what the error is and or you're jumping into Google to find out what the answer is. >> Um, although I think the the trend now is to go to chat GPT these days, not Google. >> Yeah. So much easier, right? >> Yeah. I I I've I've I I'll be honest, I've I I resisted for quite a long time
**[21:45]** up until a couple of years ago where I went actually let's see what what it can do. And I and this summer I used it a few times trying to trying to get I I just tried to get some code out really really quick and wasn't sure the best way to approach it. So threw it into chat GPT and then um sort of then threw it into um into the code, put in the error messages, see what what worked, what didn't work, and then yeah, I I do find it quite funny though when it does turn out some code and you look at the code
**[22:16]** and think that function doesn't exist in PHP. I'm pretty sure you look at it, no, it doesn't exist in P. And then you say that function doesn't exist. Oh yes, you are right. I'm sorry. Here you go. try this one. So, but as as as we as we all know and most people probably listening know that um the the source of where it's getting it from I think sometimes it's getting confused with the different languages. Um so, but we use it with care care and caution is
**[22:48]** my message. It's more of a pointer. >> Definitely. >> The other thing >> I do like the new Laravel error page as well because you can copy Um, if you've ever uh copied or had an error on a recent Laravel application, you can copy the error as markdown to paste into your LLM now. Um, whereas before it used to be go have a look on Stack Overflow and that sort of thing. >> Copy it as markdown so you can just drop it in your LLM.
**[23:18]** >> Yeah. >> Use it the request context a load of different things the full debug back trace and it's just like bang here you go. I've not I've not tried that actually. Yeah, >> I did that on a live stream yesterday. It was literally why am I getting this error? Copy paste. Cool. Copy paste. It's working. Um, so yeah, proper copy pasta code. But you know, >> but I think the difference is >> it's okay. >> I think the difference is Steve, you actually understood what was put back
**[23:50]** out from the AI. So you could look at that and go, "Yeah, that's a logical solution to this problem." All you were doing was using the AI as a as a shortcut to get to the answer. You probably could have gone through the docs and then found the problem and then found the solution. >> That's trace, but I just didn't want to. >> Yeah. >> Let's be honest, when you're crawling through 50 lines of vendor calls, it's like, okay, which is the one that I'm looking at. >> Yeah. >> And sometimes that one is quite hard to
**[24:21]** spot. I I have sat there for a long time. It it'll point to some app code, but it says, okay, you had an error on line 53. But in actual fact, it could be, you know, 10 to 15 lines either direction or in a different class that is calling code anywhere within that range of lines. >> In fact, yeah, I I had this I had something yesterday. I was just doing a bit of work on a private one of my personal projects and I um
**[24:52]** what was I was trying to I it came up with a with this error um but it was to do with the uh chron job in the vendor and like and it didn't give me any indication in my code where I'd gone wrong. Uh luckily I had I had realized that okay so it's got to be to do with something I'm doing in the scheduleuler looked at it and yeah I' completely messed up the scheduleuler given it an invalid an invalid input for something like which day to run run the job on.
**[25:24]** >> Um >> that's where you just comment it all out and you just go through kind of pot luck. Uncomment that one. Does it work? Uncomment that one. Does it work? Uncomment those three. Oh, it broke. Which one of those three was it? >> Well, l luckily I've only got three running in this this one at the moment. I'm sure it will get bigger. And it was the most recent one that I just put in in the feature that I was working on. >> And uh I had uh missed misnamed the um variable um from the the config. I've
**[25:56]** just written in the wrong one. So it was just passing nothing. So oh that'll be why it breaks. Have you ever accidentally used um the pound sign instead of a dollar for declaring variables? >> I tell you what, >> times I have done that. >> I've done it so often the other way round when I'm trying to email someone the price of something and I use the dollar instead of the pound >> careful when it comes to billing than I am for coding, I guess. >> Yeah. I I mean I I use the dollar more
**[26:27]** often than the pound. And and yes, as Chris says, we we because we work for American company, we quite often say talking about dollars, not pounds. And it's very rare that I I actually talk in pounds. So yeah, >> I I still haven't got used to looking at dates and going, "What the hell is the 16th month of the year?" >> You just got to hope one of the numbers is bigger than 12 and then you can figure it out. by hand. >> No, because if you give it to Carbon,
**[26:58]** >> right? So, so this is just before you I think you joined Chris. So, I've I've been working at uh PitchB Arch for um nearly two years now. Um well, it's about just over a year and a half now. And it was just recently, so it's in between Joe and you joining us. So, I remember posting something. I can't remember the exact message, but it was something I was trying to figure out and I was dealing with time zones,
**[27:28]** which is a pain and I can understand. I always thought why why do Americans always complain about time zones? I get it now because they have so many different time zones to try and deal with. It's it's confusing. Um, but I was trying to deal with this whole thing of um dealing with dates in the database that weren't UTC. they they were being stored as a time as in relevance to a time zone. So I'd have to pull it out, convert it, do this, do that, and and I couldn't there was something that was going wrong and I posted it in our Slack
**[28:01]** channel to say that I I can't work out what the hell is going on here. Here's the error message. Here's the code. Anyone just can someone just see what I can't see at the moment because I've been staring at this for so long now. And about an hour or so later, Joe comes on and said, "I can't believe it took me this long to work it out, but you got your date and your month the wrong way round." >> So, I had done it like we would write it over here, but Carbon doesn't take it that way round >> or no
**[28:31]** format. I was doing create from format, putting the string in and telling it what the format was, but I got the format the wrong way round. Just >> I always have to look at the docs for those date formats. Not going to lie. Oh dear. >> There's one that I use um all the time. I can never remember it. So I always have to look it up. >> I just like to use a helpers of diff for humans and two ISO string. Done. >> Any other format not my problem. I I build APIs, you know. You don't need a
**[29:02]** pretty date from me. You just need some data. >> Yeah. Yeah. So yeah, that's always a fun one. That's uh and then we quite often we we argue about how to spell things. That's that's a big argument that we have >> with an extra u and no zeds. That that's the correct way of spelling it. >> Oh yeah. And I've >> I've quite often pointed out that there's just let's just take this through. You're using the English language and which member of the team is English?
**[29:33]** >> So who's right? >> They're using American English. They're using using an altered version because they couldn't quite figure out how to use English properly. >> And this is where we apologize to any American listeners, but not Canadian listeners because they're on our side. >> Oh dear. Yes. Well, I'm sure they I'm sure all our American listeners know we're joking now. We certainly joke about it enough in the Discord about spelling. >> Yeah. >> So, uh Yeah. So anyway, you mentioned
**[30:04]** it. You build a lot of APIs. >> I do quite quite a few. >> It's kind of your special specialtity. That's another word I can't say very well. >> Yeah, it's uh I specialized in it a while ago. Um I figured out that I really suck at CSS, so I needed a solution to that problem, and that solution was not to use it and to build APIs. So, I focused on APIs and it's
**[30:35]** done me well so far. >> Makes sense. You know, there's this thing called Tailwind out there now. >> This was before Tailwind. Even with Tailwind, I suck. >> You know, it's like I don't know what I need to do here. Let's just go have a look on Tailwind Plus and other places and see what I can cobble together, then just kind of start to match the style. >> Fair enough. I mean these days you don't need to know CSS. You just ask chat GPT to do it for you >> and then you get something that looks
**[31:06]** exactly like every other site that chat GPT does for you. >> Yeah, exactly. And I think the state of CSS these days is somewhere between Lego and color by numbers. It's let's see what free resources and templates I can nick things from and then go through and find and replace all the BG dashes. Make sure it's the right color. Done. There's my design. Fantastic. >> But then you have to pick between your
**[31:37]** color types because do you want to use hex? Do you want to use named colors? Do you want to use >> named colors? Tailwind or nothing. You know, if I'm not using Tailwind, I'm clueless, to be honest. >> But you've got like six different ways of doing the same thing in CSS, and none of them work the same as the other. >> And they say PHP isn't very good. >> Yeah. No, I'm not I'm not so much a
**[32:07]** designer. I don't mind CSS, and I think I kind of got okay with it. Um, but the I'm not a designer, so I struggle to come up with the ideas of how to make it look. I give me a design, I can make it look the way you want it to look. Um, in my pre previous role, I had one project, I had to get everything pixel perfect. They had the designers do every single screen and I I had to do pixel perfect elsewhere to go back. Nope, that's not right. That's not right. You know the
**[32:38]** old um the old meme of uh the backend developer doing CSS with a ruler on his screen. That was me. >> I did that. >> No word of light. I have actually had to do I have done that myself. I've used that method to make sure I was getting the pixel perfect. I got the screen up. I've got one screen with the image and because they just gave me um a PDF of what every with every screen in it. So, I had no way of telling what the sizes are that they wanted. They just gave me
**[33:09]** PDF. So, it was ruler, making sure I've got the same aspect ratio ruler on there. Oh, no. I'm I'm a cime out. >> Exactly. Doing that >> and you figure out after a while a centimeter is actually like 17 pixels. >> So, you can go slowly do it. >> That was a few years ago. I don't remember now what what it was. I've not had to do that. But yeah, that in fact that was my first job first job in my first full-time role was to do those
**[33:39]** pages >> and that was >> Yeah. >> At what point did you work out that you were zoomed to 75% on the PDF and that you were actually building it wrong? >> Um I have. Yes, that happened once or twice. I will zoom in on the PDF to try and make it the same size as my other screen because I do have two two different size screens. So, I got an ultra wide and then I just got one of your normal sort of >> everything was against you and there you were with a ruler.
**[34:10]** >> Yeah. Yeah. And hang on. Oh no, this is just still doesn't look right. Um but it was also a project that I had to um it had to have two languages. it had to be English and um a Middle Eastern language and I can never remember which one it was. Um but so I was having to um obviously use other fonts to do this and there was a really weird thing that I discovered that I was I I got I'll just copy and
**[34:42]** paste from the P the PDF into the code into um I think I was using CS back then. uh just copy into CS Code, but it wasn't looking the same. All the different symbols were different. I'm looking, why is that different? And I figured out because I was using Linux, if you did it on Windows, it was fine. For some reason, the copy and paste in Linux in wouldn't the the the symbols wouldn't carry over correctly. So, I then had to go back and do the whole lot
**[35:12]** again because I'm like, I can't I just one one page I just noticed I went that's that that that symbol is slightly different and doesn't look the same. And when we sent it back to ask them whether it was right, no, that's a completely different word. So, oh no. And then yeah, so that that was an interesting um thing to try and deal with as well. But uh and getting the sizing of that was even harder getting that right. I think we need to
**[35:43]** rename the podcast um CSS war stories or battle stories or something. >> Well, let's move let's move away from CSS now. Um because yeah, as you say, we we >> we've all we've all been traumatized by CSS enough. >> So, one of my favorite videos of yours, Steve, is one that you did probably a couple of years ago now. Um I've been building APIs wrong my entire life. >> Yes. That video opened a whole wave of other
**[36:14]** things afterwards. Why don't you talk to us about what that was about and expand on that a bit? >> Yeah, sure. So, um, as most people know, I've been building APIs for Laravel for a very long time. Before that, it was Slim PHP and before that, I think I was wearing nappies. Who knows? Um, but basically I'd heard about API platform before. I'd looked at the docs and I thought about using it, but then I kind of assumed
**[36:46]** that okay, I need to know Symfony really well. And you know, I've not touched Symphony since Symphfony 2. So I was like, I'm not really confident in doing that. So I'm just going to keep going with Laravel. I've got a workflow that works for me. I'm good. Um but then when um I can't remember what happened but the uh Kevin Douglas reached out to me on Twitter and he said that you know keep
**[37:17]** it under wraps but we are building an API platform adapter for Laravel and wouldn't mind some input from you um being the opinionated loudspeaking [ __ ] that you Obviously not in those words. Um Kevin is actually way too nice to say that. Um but I can read between the lines. Uh so basically I helped um kind of direct it a little bit to make it feel as native to Laravel
**[37:49]** as possible. Um anytime there's a release, Antonio would message me and be like, "Can you have a look at this? What do you think? Does this feel Laravel enough? Is there anything that we could change or anything that we need to think of? And um yeah, I I almost acted like a kind of behind the scenes project manager of just Yeah, that's good. Um every now and then and then um it got released um at the API platform
**[38:19]** conference. But that video was about I'd kind of discovered I could use API platform within Laravel and how I could use it and how you could kind of really build really quick APIs um using it. So, you know, a lot of the time when I've built an API in the past, there's been so many CRUD APIs that it's just mind-numbingly boring to build, right? It's just oh
**[38:50]** builds models, builds the validation, the controllers, the roots, authorization, we're done. But that whole process is like so many lines of repetitive code. Um, and what API platform does, it just allows you to go, okay, here's my models done. And you know, it just spurred me into the why have I not been using this longer? I could even figure out doctrine enough to work with this. Um, I don't
**[39:23]** need an in-depth knowledge of Symphony. So, I've been building APIs wrong. I should have just done it this way and then figured out the rest. So, yeah, that's the roundabout way of saying how and why that video is. >> Yeah. And, uh, that led onto a live stream with you and Kevin. um sort of discussing it and >> that's a really good one that's worth watching. I'll link that one to the show notes later.
**[39:54]** >> Yeah. Basically um I invited him to join me and I was like yeah I'm going to do a live stream with it. Do you want to jump on and you know if I've got questions I can ask you and then I have to look at docs because we all know I don't read docs. Um so yeah he joined me and then he I got invited to speak at the API platform conference. So, >> the thing I really like about that one live stream is the fact that you can see all the way through it. You're like, why are we not all doing it this way?
**[40:26]** And it's >> like, how do I do this? Oh, you've already done it. I like Oh, okay. Uh, so what do I need to do? It's like, well, what do you want? I was like this. You've already done it, so I'm done. Yeah. What? Well, you could sum the whole like twoour live stream into that sentence, right? >> And that that is one of the things that is so amazing about API platform that
**[40:58]** >> yeah, >> we've got to the point where add a few attributes to a model and you're done. Now, we can already do things that generate the models like Laravel Blueprint. >> Yep. use to API in five minutes. >> Yep. So 99% of your time is now spent working out what the API looks like and then about five minutes typing. >> Yeah. And I think about 400% of your time is then spent, you know, moving
**[41:29]** cards around the project management and calculating story points. >> Yes. Yeah. and then arguing over how long a story point is because that's logical to take this abstract concept and make it a time. >> Yeah. My general rule has been one, you know, two story points is half a day. Anything less than that, you're looking at a few hours. You know, we're not looking at, you know, figuring out how long people are spending based on
**[41:59]** minutes here. It's, you know, hours and chunks of the day. So I've always gone for two story points as half a day done. No matter what it takes, you know, if it takes you three hours, is that closer to half a day for you or not? If it is, great. That's two points. That's the way I always kind of did things when I was a manager. And I think it's it's interesting actually when you think of that that the whole point of the abstract story point is that what's your half a day might be
**[42:31]** my three days. >> Yeah. Exactly. >> And the whole point of story points is that it's the amount of effort for an individual person >> and get getting people to understand that particularly project managers to understand that a two does not mean it's going to take the same time as somebody else. Yes. Project managers. >> Who are they? They're like the lawyers of the tech world, aren't they? Nobody
**[43:01]** likes them, but we need them. >> Do we? >> Well, I mean, we got AI now, so maybe not. Project manager. I apologize. I do like you really. just um >> there is a project manager that we've both worked with that I would say is absolutely brilliant >> and that's Beex from GCC. So, I I recently did some work with Titan. Actually, I did a little bit
**[43:31]** of contract, freelance work with Titan because they would needed help on a project. And um of all of the companies that I have worked for, they've got their [ __ ] together. They really do. They're so organized. Everything's so fluid. Their project management is just done to a tea. That is one thing I would definitely say for that. >> Interesting you should mention that. Um, we actually had Matt on the podcast not long ago. >> Good old man.
**[44:02]** >> And uh, yes, he he was talking about that and he said that the first thing he said to you was, "Steve, I want you to write the least Steve code possible." >> Yeah. >> And I did write the least Steve code possible. And at the end of that contract, I was like, "Yeah, any feedback?" And I was like, well, you kind of oversteved it a bit. I was like, you know, I think the biggest problem as a developer is when you're told, right, I need you to do X.
**[44:33]** How you get to X is, you know, different in everybody's head, right? >> And it just so happens mine may have detourred, you know, a few other alphabet letters. I mean, at one point, I think yours was detouring through other entire languages. >> Well, I had to make sure that I was, you know, covering all different keyboards, right? Not just, you know, standard quartzy. >> Yeah. Got to make sure we're doing D'vorak. That >> Exactly. They're important, too. And
**[45:03]** right for left just in case. >> Yeah. I mean, that didn't confuse me at all when we were hosting that um one stand and I remember keyboard and it's like where are half of the letters that they only use? >> Wasn't that we are devs? >> Yes, it was. >> And you you're trying to write something on his keyboard and you just where are half of the letters and what's that squiggle?
**[45:33]** >> Yeah. British person using a Croatian keyboard is not not really the most graceful thing to watch in the world, is it? >> The best bit is Feder was standing back and just laughing. >> Yeah, pretty much. Oh, just going back on something you just said there, Steve, about it was something that Matt mentioned in his recording that we'll have to make sure Chris that Matt's come out before this one now because we're referring. Um that's all right. You remember those
**[46:04]** things. I don't always forget. Um but uh he one of the things he was saying I think is very true is yes everyone's got opinions on how to write code. It's not just PHP or anything. Everyone's got their own opinions. >> Um it doesn't mean that any of them are wrong. >> It's just that some people like it done slightly different. And that's why uh companies have quite often have guidelines on how to how to write code for them. >> Exactly.
**[46:34]** >> Um luckily in my last job I was the only PHP uh uh developer so no one cared how I wrote PHP. They just cared if it worked. >> Yeah. Exactly. >> Yeah. Cool. Let's go. Uh and then working now with uh PHP Arch, it's it's normally sort of looking at how how the code's already been written and trying to follow the same sort of patterns. But it's handy when you've got the code reviews in place, whereas that's something else I wasn't used to
**[47:05]** and I found that very helpful and useful. Um that's one of the things I wanted to win. I was made redundant from that my previous job. It's like I want to make sure I'm in a team this time. I don't want to be the solo dev. >> Um, so startup >> means being the solo dev. >> I mean, I enjoyed it. It was very very freeing. I could just get on with stuff. I got and I I was producing the work. The stuff worked, >> but you start to kind of It feels like you're in an echo chamber after a while, right? Because you got no one to turn to, no one to point you in any other
**[47:37]** direction. >> Exactly. And although the other guys, they were C developers and I could sort of rub a duck with them and sort of go, "Right, this is a problem." I talk it through and they might think of a a a programming concept that have you tried this. >> This is something if we had that sort of problem, this is how we'd solve it in C. I mean, I'd have to go and work out how to then do it in PHP, which wasn't always that difficult to be honest. I mean, I I see a lot of similarities between the two. Um, so it's
**[48:09]** >> I mean I think the biggest difference is licensing and >> that's about it, right? >> Yeah. I mean there's a few things they they do slightly rock. >> Isn't it open source now? Didn't they open source the language for C.NET. >> They open source something. I don't know if it was the language. >> Yeah. >> Again, I'll double check and make sure it's in the notes, but they definitely open sourced at least a massive part of it. >> Yeah. Yeah, I'm not I'm not sure. I'll be honest. I've not kept in touch with
**[48:40]** that sort of stuff. But, uh, >> I mean, one of my main reasons for going for PHP overn back in the day was as a Linux system admin and getting .NET C to run on my Linux server was going to be next to impossible. And I didn't want to pay for Windows license. So, PHP it was. I'll teach myself that. That works. It doesn't, you know, it's free. It's open source. There's a big community and being a Linux guy at the
**[49:10]** time, >> I was all about open source. You know, I remember going to my interview for that job wearing my uh Tux Penguin tie and falling over in the uh car park. That was fun. I was on crutches because I'd not long had knee surgery. >> Yeah. Um, and it was raining because it's a UK obviously, but they had one of those really annoying kind of hard rubber
**[49:41]** mat things on the car park and my crut crutches just went like that and I just went like straight on the face um before going into the interview and I think they saw me out the window which is why they gave me the job. >> They just felt sorry for you. Yeah, basically they felt sorry for the [ __ ] who fell over with the funny tie. >> Yeah. >> So, one thing I wanted to chat about, Steve, you you have several opinions on
**[50:12]** pretty much everything and you you seem to have managed to use that to become a member of PHP Fig. >> Yes. I don't know whether it's because of my opinions I got into PHP fig or because I spoke to someone already on PHP fig very nicely and say can you you know pencil me in. Um >> so so not necessarily because of but in spite of >> a little bit of both. >> Yeah >> I think so. Um obviously I've been part
**[50:45]** of PHP fig now for about a year and a half. Haven't really done much. It's, you know, it's mainly just checking emails, replying to things. If there's anything that you want to run with, you got to get support from the frameworks and then run with it. Um, most of mine's just been feedback and opinions. That's mostly what I've done to be honest. Um, I think I've only got a few months left on my uh kind of my term
**[51:15]** with PHP Fig and then I ether going to carry it on or I'll step aside and let someone else come and join PHP Fig for a bit as a core committee member and you know if they want to join then and they feel they've got something they can make an impact with reach out to me and I can put you forward. Um, I'm happy to step aside for the next person who wants to have a bit of an impact with PSRs. >> So, uh, just for anyone that doesn't
**[51:45]** know, uh, Steve, do you want to explain what PHP fig is? Anyone that's doesn't know what that is. >> Yeah. So, PHP Fig is a framework interoperability group and it's like the Gestapo of the PHP world. No, it's um >> Is that going to be edited out? >> No, definitely not. It's in. It's in. >> I mean, there is one bit that is definitely not being edited out of this,
**[52:16]** and that is the fact that you actually remember what they're called. >> Yes. >> Our second episode was Sarah Gleman who was trying to talk about PHP fig and forgot what they were called. [Music] So um yeah, it's basically a group of people from the community who are either part of a framework, own one of the kind of PHP standard recommendations or they just really like standards and have opinions like me. Um
**[52:48]** what happens is they kind of collectively come up with a standard such as uh PSR18 which is my personal favorite which is the interoperable HTTP client and the idea of that is that you will build um the PSR itself is just a set of interfaces and exceptions that your client implement presentation must follow and adhere to so that an app land
**[53:21]** in Laval Symphony Slim Tempest whatever it is you're going to use you will end up kind of okay I'm going to use Symphony's PS18 client or I'm going to use React PHP's HTTP client or I'm going to use this other one um and it just allows you to switch between them so the whole point of the kind of PHP fig and the PSRs is to have a set of standard features and interfaces defining core
**[53:51]** things within the PHP language that will affect you in your day-to-day app code. I think that explains it >> relatively well enough, but I could probably go on for another three hours about PHP fig and PSRs, but I won't. I mean, I think one of the things that's quite interesting about it is it's not something that is like prescribed that you have to do it this way, but it's a guideline of if you do it this way, it
**[54:22]** can just drop in place of. >> Yes. >> And it gives people choice. And that is one of the things I love about PHP. We have choice on everything. I mean, I can find 30 frameworks that will that >> let boil it down to its basics. They all serve a web page, but there's like 30 different ways of serving a web page. >> And we can we can all choose between any one of them >> and it will just feel familiar. >> It will feel like we know where we know
**[54:52]** roughly what we're dealing with. It might be called something different in each framework, but we know we're going to be looking for in most cases a controller. We know we're going to be looking for in most cases some form of model. >> Exactly. you you don't get burnt at the stake if you don't follow PHP fix rules yet. Um, >> no, not publicly, but I think you >> Yeah. No, I agree with you. It's it's a it's a recommendation, not
**[55:23]** >> it's guideline, not a enforced rule. It's, >> you know, this is how we think you should be doing it and, you know, loads of other people agree. >> Follow it or don't. Like Laravel, for example, doesn't really follow any PSRs. Um, they've added more PSR support over time, but, you know, they they didn't come out of the gate following PSRs, and, you know, they're doing okay. Laravel developers are doing okay even
**[55:55]** without following PSRs. So I know you can kind of convert a Laravel request to P to a PSR request. And as of I think it was Laravel 11, they introduced the um HTTP auto discovery for HTTP clients so that you're not just stuck with Guzzle, which is I guess where a lot of PSRs kind of came from was using things like Guzzle and some of the frustration
**[56:28]** frustrations and the kind of like early to late PHP5s. [Music] And you PSR is one aspect of what is happening with PHP fig, but you've also got the PE of um evolving styles and things that will change with time. And >> I I find it quite interesting to read some of the coding styles that are suggested in the one that's active at the moment. And it's interesting to see how different people's inputs have led
**[57:00]** to an opinion on how to lay it out. >> Yeah. And it's funny. I remember when um I first saw some of the the kind of the standard recommendations for laying out your code and I really didn't like it. But then I started to adopt it and then I started to like I just like okay this makes more sense the more I use it. And I think if people can withhold judgment sometimes for a little bit, they'll get to the point a lot quicker.
**[57:32]** >> Yeah, >> it's easy to battle it. I mean, I remember when I first tried Laravel for the first two years, I hated Laravel. Um, absolutely hated it and I was like, why the hell would I use this? Um, and it wasn't until I was in a kind of a SAS producty role and I had to use it that it made the most sense and then I it started to make sense in other scenarios. But >> when I first got introduced to it, I was, you know, diehard slim PHP user. I
**[58:07]** architected things my way. I did things my way and it just worked. Um, I didn't see the point in having to do anything a different way. Why did I need eloquent when I've got PDIO when I know SQL? >> Um, but it makes sense, you know, once you get used to it. >> And that's the evolving opinion. You you learned
**[58:37]** >> and then your opinion changed. And that is something that >> for me makes a great developer. I will hold to my opinions until the cows come home until I change them. >> And it that ability to think about your code from someone else's point of view is >> it's one of the things that elevates you in this in this community of >> Yeah, definitely. And I think the easiest way to get to that point is to work in open source because
**[59:10]** a lot of people are going to see your code if you do it open source and quite a few people are likely going to use it and feel frustrations with it and it's the easiest way to not only kind of think learn to think about it but also to get humbled by it because I think it's quite easy to build some kind of complex as a developer when you're very isolated to be yeah nothing wrong with my code is great this is exactly how you should be writing it and I think um he who shall not be named Mr. Trgate is
**[59:41]** probably a perfect example of that one >> um you know he's very isolated in the way that he does things and there's nothing wrong with that >> but you can't stand on a mountain and say you're amazing when you know there's nothing to compare it to. Yeah. >> Interesting. >> And that that is one of the things of open source. The whole point of open source is that it is collaborative. >> You know, if I come and drop a pull
**[60:13]** request on your thing, unless it is complete rubbish, >> you're going to look at it and think, well, I'll use this bit, not that bit. I'll change this bit. >> And look at how does this make what I've written better? and >> and I've gonna learn from the way you've done something or you're going to learn from my feedback but >> combined with but you know someone's learned something there's a better solution out there and more people can benefit from it
**[60:44]** >> so you know I think open source is definitely something that really helps these situations when you're learning PHP >> absolutely I mean you you've written quite a few packages that that I've used personally in a fair few apps and they're they're all things that sort of to me feel like they were initially itches for you that you you wanted a way of doing something. So you created a package and then people start using it and it's like what why are people using my code and >> exactly?
**[61:15]** I I think that every now and then and I think the the point the time that that stood out to me most I think I went for a job interview um and we talking about code and how to do something and they're like yeah we use this package um have you ever used it? Do you have any experience with it? And I was like well I hope so I built it. That's my package. Um, and I don't know why you use Nick.
**[61:46]** There's such a better way to do it these days. Um, but yeah, it's I I think the biggest problem is that packagist also becomes a bit of a dumping ground for ideas and tutorials. Like I hate to think how many to-do apps are stored in packages in GitHub. >> Yeah. M >> um >> and you also get a lot of things that sit on things that sit on things that sit on things and
**[62:17]** >> it's like well >> abstraction of an abstraction. >> Yes. The but you're then left thinking well how far back do I have to go to find out what this is actually doing? I mean it it amazes me that that that there's a difference between something like pest where it is a new approach to doing something that already exists >> and somebody who's literally wrapping something changing its name and saying it's new >> and you you've seen recently what
**[62:48]** happens with supply chain attacks in the in the NodeJS world. There's been 60 packages compromised with a total of what is it 4 billion downloads between them >> and they were all probably frameworks created within the last 3 months. >> Yeah. And >> brand new framework. >> Yes. I mean it's it's Monday. There's a there's a new framework out. It's >> Yeah. >> Funny enough, there is a new JavaScript framework coming out, but I'm more excited about uh a PHP framework, Tempest, if I'm completely honest.
**[63:19]** >> I don't know if you guys have used it much. And I am very much a Laravel guy when it comes to writing code, but Tempest is it's the one framework at the moment that is really catching my eye and I'm just keeping an eye on it. I'm dabbling with it and playing with it, but I'm not doing anything serious with it yet because I want to kind of see how it goes. And the reason I mention it is because the 2.0 O came out today and I saw it on Twitter before I joined the
**[63:50]** stream and I was like that's really cool. I I love what he's done with it. Um you know from the groundup modern PHP framework without the backwards compatibility issues that you're going to face. So if you haven't tried it, give it a try. Seriously, it's confusingly refreshing because if you're used to Laravel, you're not you're going to look at it and be like, "What the hell do I do
**[64:21]** here?" Um, but if you just kind of battle through it, you you're going to enjoy it and you'll be like, "Wow, this is just I'm just writing PHP." >> Yeah. >> And it's great. I mean it it's something that I've said to you before that in the PHP world we're starting to see juniors now coming into the industry who saying I know Laravel >> oh cool so you know PHP no no I know Laravel or I know or
**[64:54]** >> yeah you see the same in the um in the JavaScript world though it's yeah I know nextJS I'm a JavaScript developer I know TypeScript no you know nextjs and their implementation of React. You don't know JavaScript because if I show you this spelt app and ask you to debug it, you are going to [ __ ] your pants. Um, you know, it it's the same like if you're a brand new Laravel developer straight out of a boot camp, say, and you throw them into some six-year-old cake PHP or
**[65:27]** Symphony code, you know, they are going to run for the hills quicker than Iron Maiden. I I love the fact that you pick on cake PHP knowing where I worked. >> Yeah, exactly. Also, I I've used Cake PHP quite a bit in the past. Um, it had its good points, it had its down points, it had its confusing points, and then I just stopped looking. >> I mean, in defense of cake PHP, it is not a bad framework.
**[65:58]** >> It's down to how you use it. As with any other framework, if you fight the framework to do it your way, you might as well use the one that does it your way. >> Yeah. Exactly. >> Exactly. >> And C cake PHP has some some fascinating ways of solving problems that I mean it's still around and it's still being used in production. So it's not all that bad. >> That's very true. That is very true. Is you know it's stood the test of time, hasn't it? And I think their convention
**[66:30]** over configuration approach has probably you know it it appeals to a certain type of developer >> where it's just yeah I know how to do this I can just go ahead and do this whereas Laravel you you know it's a little bit more kind of I don't know it's like a let's compare it to like an old school diner where you go get a coffee and you just get a fil coffee that's cake php Laravel symphony
**[67:01]** that's more like your Starbucks and Costa where it's like you know almost pick your own adventure >> see I actually think it's one step further than that I would say Laravel is like your main chains where you have multiple choices but it's restricted choices symphony is like you've got your own factory >> you can you can make coffee however the hell you like >> so Laravel is a little bit more restrictive Like you're at Starbucks but you're lactose intolerant. >> Yeah.
**[67:35]** >> The toilet closed. I'm lactose intolerant and I'm stuck at Starbucks. What do I do? >> Probably not drink a Starbucks. >> I still drink Starbucks. It's just you know how how busy is it? >> Yeah. So I think I think >> I don't know where I was going with that one, but >> yeah, I'm going to I'm going to slightly divert quickly. So there really basically we're saying learn the language first, then the
**[68:06]** framework, and then don't fight the framework that you're picking. That's kind of where we're we're at. But you need to learn the language. And that's something that I think I I tried to do the best I could when I when I started was try and learn as much PHP. I've probably forgotten most of the PHP I've learned because I work heavily in Laravel these days. Um, and there are times where I'm sitting there going, "Oh, hang on. Is that a Laravel thing or is that a PHP thing?" >> Yep. >> The number of times in a plain PHP app
**[68:37]** I've tried to start a collection and then gone, "Fuck." >> Yeah. I I can imagine it's more difficult that way around. um working just a a vanilla >> or working in a different framework and you just started writing, you think, "Oh yeah, I'm writing PHP." And then you realize actually no that >> that helper doesn't exist here. >> That wasn't PHP >> that's over there. So >> the one that the one that really caught me out big time was working I'd done
**[69:08]** Laravel and I'd done cake PHP and this was on the same customer and every time I went back to the cage PHP app it was like I really want to use direct injection but it can't I mean it can now there is now a way of doing that but cake PHP didn't have a DI container and it's like why would I want to do that was the answer that we got from the framework. work. >> Yeah. >> And yeah, that that caught me out no end of times of well, why would you want to
**[69:39]** work out the model from the root? Because it saves me doing it if you put it in the back end and do it for me. [Music] >> Very true. >> Yeah. All right. So, um, one of the things we like to kind of try and highlight, we like to talk about what's new and what's up and coming and what excites us about PHP today. Uh, a language that, uh, as we've we've alluded to before, people keep saying is going away. It certainly isn't. It's now 30 years old. Um, so see what what
**[70:12]** what's exciting you about PHP? Um, I think PHP 5 there's a few cool things coming out, but I think we're maybe a couple of versions away from anything kind of that's really going to blow anyone's socks off right now. But you can see the way that PHP is going with the new involvement of the PHP foundation and things like
**[70:43]** you know the better generic support for kind of just runtime stuff is fantastic better stronger typage um we have taken over the Franken PHP project so that's now been pulled into kind of like a PHP foundation project >> you know we've got fibers you You can see we're slowly starting to go, okay, we've heard all of your pains over the last however many years and we're starting to kind of move in the direction of a modern language. We're
**[71:15]** already a modern language. We're a good strong modern language but we are moving in a direction that the other modern languages like Rust and um Golang and Zig and those are all going and it's all about kind of stronger types asynchronous code. That's kind of modern development and we're slowly getting there with PHP. I think that's what excites me most right now is just where we're going. There's no one
**[71:47]** specific feature >> if I'm honest. I think um >> you like travel. >> Yeah, exactly. I'd love to say a single feature, but I think the one that made the biggest change for me was enums constructive property promotion. Um and that's been it most recently. Um, you know, there there's other things that have come out, but they're not as
**[72:17]** useful to me on a day-to-day basis. You know, >> constants and interfaces is nice, but I can't remember the last time I needed that. So, >> it that that's also interesting. Is it that you that you don't need it or is it that you didn't have it so now you've built a way of doing it without that? >> Yeah, that that's the other side of the coin, isn't it? Did have I just built my own kind of coping mechanism for the language not having that feature or did
**[72:50]** I just not need it in the first place? >> And that that applies to any language. It's not just PHP where things come out and go but I don't need it. Well, actually maybe it deletes that whole chunk of code that you've written over here. Yeah. >> And I think the progression of PHP is going in a very good direction. Whereas let's take JavaScript for example, they've had to create a superset TypeScript to make the language good and
**[73:21]** relevant again. And even that can't be run natively half the time. So I think for a 30-year-old language, >> we're doing pretty damn well. >> Totally agree. Totally agree. So, uh, we running slightly longer than we would normally. So, um, >> yeah, sorry. When me and Chris get in in a room, we just talk too much. >> That's right. We'll just have to have you back another time. We'll talk about some other stuff. Um, but I throwing up on the screen your YouTube channel.
**[73:51]** Highly recommend if you don't if you don't know, Steve, not subscribed to him, go over the some great content over there. um as we've talked about some of the things some of the videos you've done on there that have sort of stuck out to us. Um I will probably go back and rewatch that one about APIs. I did watch it once when it first came out and yeah I'm going to have to go back and watch it now. I think that's my watch on the watch list for this afternoon. Another one is uh I actually did a talk at API platform conference last year
**[74:22]** when it kind of came out as a kind of official supported Laravel adapter and my conference talk is about here's how I do it in Laravel. Here's all the steps and here's how I can do the same thing with API platform and Laravel. >> Um so it's a good comparison video if you wanted to see something different. That's not on my channel, that's on the AP platform channel, but >> definitely link for that. >> We'll get the link and we'll put it in the description for that. Um, so thanks
**[74:52]** for that recommendation. We'll we'll certainly check that one out. >> It's probably a better better to watch that than my video on my channel if I'm completely honest. um it it'll just explain it much better because >> you know that talk was planned and prepared for my live stream was a >> spur of the moment let's do this sort of thing. So yeah. >> Yeah. But some people might like that. I personally quite like your your approach of uh it it makes co uh developing a lot
**[75:23]** more accessible in my my opinion just watching someone's >> not just have it all scripted. And because I remember when I first started, it was all >> I executed my video and live stream is of look, I make no mistakes. I'm fantastic. >> Yeah, I've I've watched hundreds of videos like that when I was learning where everything is actually spot on. They kn you can clearly see quite a lot of the time they're copying from a script they've got on another screen and they type and sometimes they don't even type it. They go, "Yeah, I'll just copy and paste this in here. Here's a link you
**[75:53]** can get on to get home. >> Here's a little thing I made earlier." Yeah, cheers for that. But actually watching someone build something, have errors, >> try and find work out what the errors are. I think that's that's um that's a great approach in >> I also like to show the natural refactor points because I think that's one thing that people don't get taught is when to refactor and why to refactor. >> Yeah. Um, which is why I do everything the way that I do it and it's why I
**[76:24]** write content the way I write it and why I live stream the way I do it. It's just because >> it's got to feel natural and if it's not feeling natural, people aren't going to learn. >> Yeah, I agree. I agree. Yeah. Okay. Well, we I think we're going to wrap it up now. So, don't forget to head over to the store to get uh some swag from us. I'm going to change the screen because we're Poor Chris is just behind all the links there.
**[76:54]** Yeah, don't forget to head over to the store. Also, don't forget uh if you're not subscribed, scri subscribe there. Subscribe to the PHB Architect uh magazine. It's uh loads of great articles in there. Um >> and treat yourself to an Archie because they're still being sold. >> Yes, >> they are. Well, I will say this. I have a serious question, Tony. >> When is that back in stock? Because I don't have one and I want one.
**[77:26]** >> Go and ask in Discord because we don't know the question. >> We'll have to ask. But I will say um that just obviously we're pre-recorded. I don't know exactly which week we're going to release this episode. So stocks may vary. >> Yes. >> Especially on the elephants. They are going quick. They are going quick. So I do apologize when you see this and you go and they're not there >> possibly. >> Well, I mean I I'm pretty sure the um
**[77:56]** the Laravel elephant and Archie is still in stock. >> Arches are going fast. Eric told me a couple of days ago they're going pretty quick. The Arches. >> Yeah. >> So this moment of recording, isn't it? >> Um I possibly I don't I'm not sure. >> I believe so. Let me let me double check. Um, >> but at time of recording, they're in stock. Whe they're still they're still in stock when we release this episode. >> Here's the new design that I'm a PHP
**[78:28]** architect. And here's the original before Eric and that took over. >> Ah, okay. >> So, you got the old and the new. Slightly different oranges, too. >> Oh, interesting. Interesting. Okay. Um, also go over to uh the website and get tickets to come over to Pitchp Tech. It would be great to see people over there. Um, Brit love the love the conference. Um, obviously I've been over
**[78:59]** I've been over over a few times um for for that conference. H should we just throw Steve in the green room while he's mocking around? like, oh, >> I think we should just watch how big he can build this pyramid of elephants. >> How long How much more time have we got? >> Giving up. >> Not long. I've actually got to go on school run in a minute. So, I can't really play Stack the Elephant this time. >> Oh dear. >> Right. We're having a live stream where we actually play Stack the Elephant, Steve. >> Yes. Yes. >> But we're going to interview We're going
**[79:30]** to interview you at the same time and see if you can do two things at once. >> And we can only end the stream when they're all stacked. Challenge accepted. >> Oh dear. Yeah, that'll be interesting. Um, yeah, get tickets to Tech. Um, they are on sale now. Um, great great conference. Um, very welcoming and family sort of conference. I would say it's I I thoroughly enjoyed both years I've been over there. Even though I was there to
**[80:01]** work, um, I still thoroughly enjoyed it. So um >> tech is one of the conferences that I really want to go to. Um just real PHP feeling conferences. Nice. >> Chris has sung his praises. >> Yeah. So uh have you at the moment? So at the time of recording call for papers is still open. It might not be by the time we actually
**[80:32]** publish this because we've got so many catalogs recorded. We've just seen been on a mission. We've recorded so many the last couple of weeks. Yeah. I'm not sure when this one will go out yet. Um but >> 2027's looking good. >> So when you're talking about your Christmas list, Stephen, we're we're going to be Yeah. >> Why is he talking about Christmas list in February >> at time of recording? Yes. Um, also get over to our Discord if you're not in there. Um, me and Chris
**[81:04]** are obviously in there. Steve's in there occasionally. Not in there as often as I used to be. Um, but >> no, now that I don't write a column so much anymore, I just don't have the time. >> Yes. >> I'm not on Discord much. I try and be more often. >> Problem every time you open up Discord on a Mac, it's got six updates. It's like >> really. >> So, we'll let you know. If it's been a week, you're up to about 30. >> What I want to know is what are they updating just the version number?
**[81:36]** >> Probably. Yeah. Version number and a new emoji. >> Well, we'll let you know, Steve, when this one goes live. And if you're free, you can you can jump in and answer any questions that anyone might have in Discord. Um, other than that, I think that is us for this this uh episode. So we will see you all next time. Bye.