5: PHP Alive and Kicking with Saifeddin Gmati ๐Ÿ”— **Source:** [5: PHP Alive and Kicking with Saifeddin Gmati](https://www.youtube.com/watch?v=dcRRkCW2RqM) > [!note]+ Document Notes > tags: [WordPress, AI-Builder, 10Web] > author: [MISSING] > source: [YouTube] > reference: [https://www.youtube.com/watch?v=vHk7Q1fS0iM] > date created: > > # ๐Ÿท๏ธ Title: The WordPress AI-Builder You've Been Waiting For > <!-- deep-read:sections start --> ## ๐Ÿงฐ Action Inbox - [H1] Pilot 10Web AI Builder on a demo site โ€” https://www.youtube.com/watch?v=vHk7Q1fS0iM #articleseed - [H2] Validate sitemap generation quality on 3 site types โ€” https://www.youtube.com/watch?v=vHk7Q1fS0iM #xref - [H3] Check Tailwind usage claims against 10Web docs โ€” https://10web.io/ai-website-builder/ #xref - [H7] Test code diff/rollback on nontrivial edits โ€” https://www.youtube.com/watch?v=vHk7Q1fS0iM #articleseed - [H8] Measure publish-to-WordPress latency and errors โ€” https://www.youtube.com/watch?v=vHk7Q1fS0iM #articleseed - [H8] Compare 10Web vs WordPress.com AI Assistant โ€” https://wordpress.com/ai-assistant/ #xref - [H8] Assess fit for GoDaddy products and support โ€” https://10web.io/ai-website-builder/ #share - [H4] Run responsive checks with Lighthouse and PWAs โ€” https://web.dev/measure/ #xref - [H5] Draft onboarding guide for agencies using 10Web โ€” https://10web.io/ #articleseed - [H1] Brief The WPOCC on AI builder impacts โ€” https://thewpcommunitycollective.com/ #share - [H2] Propose OSPO guardrails for AI-generated code โ€” https://openssf.org #addendum ## ๐Ÿงญ 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 - The video showcases an AI website builder for WordPress. The tool is branded as 10Web. The demo highlights generation, editing, and publishing. :contentReference[oaicite:0]{index=0} - It matters because AI site generation reduces time to publish. Agencies may scale faster. Host-integrated AI may change onboarding. :contentReference[oaicite:1]{index=1} - Key stakeholders include WordPress hosts, agencies, plugin authors, and educators. Core teams may feel downstream impact. - Risks include vendor lock-in, styling constraints, and AI code quality gaps. Compliance and provenance need attention. - Bottom line: 10Webโ€™s AI builder promises speed. Independent validation remains necessary. :contentReference[oaicite:2]{index=2} ## ๐Ÿ“– Main Content - The core claim: an AI builder generates and edits WordPress sites quickly. It integrates with WordPress flows. Publishing stays native. Evidence exists across 10Web pages and press. :contentReference[oaicite:3]{index=3} - 10Web markets a white-label plugin and AI builder. It targets hosts and agencies. It claims higher publish rates and faster onboarding. External coverage echoes these messages. Specific test data remains sparse. :contentReference[oaicite:4]{index=4} - The video suggests Tailwind CSS usage and code control. I could not verify Tailwind integration in official docs. Treat that claim as tentative until confirmed. Link limitations apply due to YouTube transcript access. :contentReference[oaicite:5]{index=5} - Terms: โ€œwhite-labelโ€ removes vendor branding. โ€œAI Co-Pilotโ€ means in-editor suggestions. โ€œRollbackโ€ means reverting generated diffs. Tech press uses these terms for 10Web. :contentReference[oaicite:6]{index=6} - Uncertainties: model sources, prompt security, and licensing of generated assets. Vendor claims need reproducible tests. ### ๐Ÿ—’๏ธ Notes #### โฑ๏ธ [00:03](https://www.youtube.com/watch?v=vHk7Q1fS0iM&t=3) Intro and value proposition - ### [H1] AI builder integrates with WordPress workflows - Positioned as a WordPress-native builder. Demo shows AI-assisted creation. Publishing remains on WordPress. :contentReference[oaicite:7]{index=7} #### โฑ๏ธ [01:32](https://www.youtube.com/watch?v=vHk7Q1fS0iM&t=92) Prototyping and sitemap generation - ### [H2] AI generates sitemaps from prompts - Builder expands prompts to sections and pages. Users edit sections inline. #### โฑ๏ธ [02:55](https://www.youtube.com/watch?v=vHk7Q1fS0iM&t=175) Stack and code generation - ### [H3] Video claims Tailwind and functional code - Claim remains unverified in docs. Treat as provisional until confirmed. #### โฑ๏ธ [04:18](https://www.youtube.com/watch?v=vHk7Q1fS0iM&t=258) Responsiveness and navigation - ### [H4] Generated pages link and respond correctly - Demo shows mobile responsiveness and working links. #### โฑ๏ธ [05:49](https://www.youtube.com/watch?v=vHk7Q1fS0iM&t=349) Visual edits and assets - ### [H5] Users adjust text and media intuitively - Edits occur inline. Asset uploads improve visuals and context. #### โฑ๏ธ [07:09](https://www.youtube.com/watch?v=vHk7Q1fS0iM&t=429) Execution planning - ### [H6] Tool proposes an execution plan before changes - Plan lists steps. Users can accept or refine operations. #### โฑ๏ธ [08:36](https://www.youtube.com/watch?v=vHk7Q1fS0iM&t=516) Code visibility and diffs - ### [H7] Users view code and revert AI changes - Diff tracking enables inspection and rollbacks. #### โฑ๏ธ [09:59](https://www.youtube.com/watch?v=vHk7Q1fS0iM&t=599) Publishing and hosting - ### [H8] Publish directly to WordPress and keep access - 10Web offers hosting, domains, SSL, and agency-friendly options. :contentReference[oaicite:8]{index=8} ## ๐Ÿ“š References - [Video: The WordPress AI-Builder You've Been Waiting For](https://www.youtube.com/watch?v=vHk7Q1fS0iM) - [10Web โ€” AI Website Builder](https://10web.io/ai-website-builder/) *(official marketing page; details may change)* - [TechRadar Pro: 10Web white-label AI builder plugin](https://www.techradar.com/pro/website-building/wordpress-gets-native-genai-support-through-10web) *(secondary reporting)* :contentReference[oaicite:9]{index=9} - [WordPress.com AI Assistant](https://wordpress.com/ai-assistant/) *(comparison point; different vendor)* ## ๐Ÿ—ฃ๏ธ Paraphrase - The video demonstrates an AI tool that builds WordPress sites quickly. It promises native publishing and controllable AI edits. - The vendor positions this for agencies and hosts. It claims speed, responsiveness, and code-level transparency in builds. ## ๐Ÿ“ฐ Newsletter - AI for WordPress keeps accelerating. 10Web now ships a white-label builder that promises prompt-to-publish flows and native dashboards. Agencies may love the speed. Educators should test the code controls before recommending at scale. Compare vendor claims with your stack and governance. Links: 10Web overview, TechRadar summary, WordPress.com AI Assistant. :contentReference[oaicite:10]{index=10} ## โœ… Action Items #### DevRel - Ship a 30-minute live build demo with metrics. - Publish a step-by-step DX review with screenshots. - Produce quickstarts for blogs, brochures, and WooCommerce. - Track funnel: prompt โ†’ preview โ†’ publish โ†’ retention. - Run a moderated feedback loop with support teams. #### OSPO - Draft policy on AI-generated code provenance and review. - Require license scanning for generated assets and media. - Define SBOM requirements for generated themes and plugins. - Establish rollback and audit trails for AI changes. - Document prompt hygiene and secrets handling. #### Community - Host a meetup on AI builders and governance patterns. - Pair new contributors on AI-augmented theme tasks. - Publish budget templates for AI-tool evaluations. - Run incident drills for AI misgeneration rollbacks. #### WordPress - Core: track any API friction AI builders hit. - Core Performance: test generated sites against budgets. - Core AI: document evaluation sets and safety rails. - **Core Program Team:** collect use cases from agencies. - Playground: create AI-builder labs for safe testing. - Training: write a โ€œGenerated Site 101โ€ course. - Marketing: compare builders transparently with matrices. - Documentation: add examples-first patterns for AI code. - Hosting: log telemetry for publish errors and time. - Themes: define lints for AI-generated stylesheets. - Plugins: test provenance and signature workflows. #### The WPOCC - Evaluate microgrants for AI-assisted maintainers. - Pilot governance clinics on AI adoption impacts. - Publish transparent ledgers for AI tooling grants. ### FAIR - Ship local metadata and provenance checks. - Add covenants on funding transparency and anti-capture. - Productize charters and scorecards for AI builders. ## ๐Ÿงช Hypotheses - H1: AI builders reduce time-to-publish by at least 30%. :contentReference[oaicite:11]{index=11} - H2: Code rollback reduces user abandonment during editing. - H3: Sitemap generation increases information scent for novices. - H4: White-labeling improves host retention and ARPU. :contentReference[oaicite:12]{index=12} - H5: Tailwind usage, if present, speeds styling iteration. ### ๐Ÿ“Š Methodology - Run A/B tests on first-publish times across tools. - Instrument edit sessions for rollback and errors. - Evaluate sitemap depth versus navigation success rates. - Compare churn and ARPU pre/post adoption at host scale. - Verify Tailwind classes in generated themes through audits. ### โ“ Questions - Does the builder respect block theme standards? - How does it handle accessibility defaults? - What models power generation, and under what terms? - Can teams self-host models or data? ### ๐Ÿ”ฎ Future Research - Study long-term maintenance of AI-generated sites. - Measure security posture of generated code over time. - Explore multilingual generation quality and SEO effects. ### ๐Ÿ’ก Implications - Practice: faster trials, more experiments per sprint. - Policy: provenance, licensing, and auditability matter. - Security: define embargo and signing for AI code paths. - Education: revise curricula for AI-assisted builders. - Funding: support maintainers impacted by AI shifts. ### ๐Ÿง  Learning Styles Assessment - Reading level estimate: Flesch-Kincaid Grade โ‰ˆ 9โ€“10 (video content). #### ๐Ÿ‘€ Visual learners - Present: UI demos and code views. - Improve: architecture diagrams and data-flow sketches. #### ๐Ÿ”Š Aural learners - Present: narration of steps. - Improve: a 3-minute audio summary. #### ๐Ÿ—ฃ๏ธ Verbal learners - Present: labeled menus and terms. - Improve: glossary and term comparisons. #### ๐Ÿงฉ Kinesthetic learners - Present: live edits and publishing. - Improve: checklists and small labs. #### ๐Ÿง  Logical learners - Present: step sequences. - Improve: decision trees and KPIs. #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners - Present: agency use cases. - Improve: cohort guides and peer rubrics. #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners - Present: pause-and-try workflows. - Improve: self-check quizzes. #### ๐ŸŒฟ Naturalistic learners - Present: N/A. - Improve: lifecycle and hosting energy notes. ### ๐Ÿ“Š Accessibility Assessment #### Screen reader semantics - Present: unknown from video. - Improve: confirm headings and landmarks by audit. #### Keyboard navigation - Present: not demonstrated. - Improve: tab order and skip links. #### Contrast and readability - Present: unclear across themes. - Improve: enforce 4.5:1 and line-height checks. #### Text resizing and reflow - Present: responsive demo shown. - Improve: verify 200% zoom without clipping. #### Media and captions - Present: YouTube captions likely available. - Improve: downloadable transcripts and audio descriptions. #### Forms and interactions - Present: not covered. - Improve: labels, inline validation, and target sizes. #### Standards reference - Map gaps to WCAG 2.2 AA criteria. ### ๐ŸŒ DEIB Assessment #### Cultural breadth - Present: global agency target implied. - Improve: multilingual examples and locales. #### Inclusive language - Present: neutral tone. - Improve: plain-language summaries and glossaries. #### Neurodiversity support - Present: chunked UI steps. - Improve: predictable patterns and icon+text labels. #### Representation - Present: product-centric visuals. - Improve: diverse personas in examples. #### Psychological safety - Present: respectful framing. - Improve: clear community guidelines for support forums. ### โœ… Logical Validity #### Strong reasoning - Inductive claim: AI reduces publishing time. Evidence from vendor tests. Needs replication. :contentReference[oaicite:13]{index=13} - Causal suggestion: white-labeling improves retention. Plausible for hosts. Needs controlled study. :contentReference[oaicite:14]{index=14} #### Fallacies - Possible hasty generalization: single demo implies robustness. Fix by wider trials. - Appeal to novelty risk: AI is newer, thus better. Fix by benchmarking. #### Tone of voice - Promotional and instructive. Emphasizes speed and ease. ### ๐Ÿ›ก๏ธ DARVO Analysis - Deny: none observed. - Attack: none observed. - Reverse victim/offender: none observed. - The content markets features without adversarial framing. ## ๐ŸŽฏ Conclusion - 10Webโ€™s AI builder aims to compress setup and publishing. It targets hosts and agencies with white-label flows. Run structured tests before adoption. Confirm provenance, accessibility, and security. Then plan training and governance. :contentReference[oaicite:15]{index=15} ## ๐Ÿ”– Zettel Candidates - AI builder integrates with WordPress workflows โ€” Useful for onboarding design; test with Playground. https://www.youtube.com/watch?v=vHk7Q1fS0iM - AI generates sitemaps from prompts โ€” Improves information scent for novices; verify on ecommerce. https://www.youtube.com/watch?v=vHk7Q1fS0iM - Users view code and revert AI changes โ€” Supports auditability and pedagogy; log diffs. https://www.youtube.com/watch?v=vHk7Q1fS0iM - Publish directly to WordPress and keep access โ€” Reduces CMS switching costs; measure latency. https://www.youtube.com/watch?v=vHk7Q1fS0iM - White-labeling improves host retention โ€” Aligns with OSPO and product goals; study churn. :contentReference[oaicite:16]{index=16} - Tailwind integration claim remains unverified โ€” Avoid dependencies until confirmed. https://10web.io/ai-website-builder/ - Execution plan precedes changes โ€” Enhances predictability; evaluate user trust impacts. https://www.youtube.com/watch?v=vHk7Q1fS0iM ## ๐Ÿท๏ธ 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] 5โ€“10-word present-tense claim > [!quote] [The WordPress AI-Builder You've Been Waiting For](https://www.youtube.com/watch?v=vHk7Q1fS0iM) by an unnamed author via [[YouTube]]. Published [MISSING]. Accessed . > โ€œShort quote, verbatim, โ‰ค25 words.โ€ Two lines: context and use. Cite data if relevant. [view highlight](https://www.youtube.com/watch?v=vHk7Q1fS0iM#H1) #xref #articleseed ID:rw_[MISSING] ### [H2] 5โ€“10-word present-tense claim > [!quote] [The WordPress AI-Builder You've Been Waiting For](https://www.youtube.com/watch?v=vHk7Q1fS0iM) > โ€œShort quote, verbatim, โ‰ค25 words.โ€ Two lines: context and use. [view highlight](https://www.youtube.com/watch?v=vHk7Q1fS0iM#H2) #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] 5โ€“10-word present-tense claim - Scope/condition in one line. - Pointer to page/time or dataset. - Links: [[Parent-Concept]] [[Related-Idea]] #### [Z2] 5โ€“10-word present-tense claim - Scope/condition in one line. - Pointer to page/time or dataset. - Links: [[Parent-Concept]] [[Related-Idea]] --- ### โœ๏ธ 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] Short action โ€” context/https://www.youtube.com/watch?v=vHk7Q1fS0iM #fleeting #inbox - [F2] Short action โ€” context/https://www.youtube.com/watch?v=vHk7Q1fS0iM #fleeting #inbox - [F3] Short action โ€” context/https://www.youtube.com/watch?v=vHk7Q1fS0iM #fleeting #inbox --- <!-- deep-read:sections end --> ## ๐Ÿ“บ Video ![](https://www.youtube.com/watch?v=dcRRkCW2RqM) --- # ๐Ÿ“„ Full Transcript *Auto-generated from YouTube captions ยท timestamps roughly every 30 seconds ยท [watch on YouTube](https://www.youtube.com/watch?v=dcRRkCW2RqM)* **[00:00]** Hey, hey, hey. [Music] [Applause] Heat. Heat. N. [Music] **[00:34]** Slowly. [Music] Hey. Hey. Heat. Heat. **[01:08]** [Music] Heat. [Music] **[01:43]** Heat. [Music] Heat up [Music] **[02:16]** here. Heat. Heat. [Music] [Applause] [Music] [Applause] [Music] **[02:55]** 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 locked. Do you do you surrender? You try to try to stay away these walls. You can't escape. Here's one for the lonely hearts. For the ones that fear the dark, you better **[03:26]** run out. Run out. Out of here. Bet you can't look the other way. Here's one for the broken road. That's the only one. You know, you better run out. And now truth or dare. Get me out. Take me anywhere but here. Oh, anywhere but here. Wanting something good to come. Waiting for things to run away from. Are you Are **[03:59]** you just hiding? Yeah. Walking into the fire, talking like you never die, like you're like you're immortal. You try and try to stay awake these walls. You can't escape. Here's one for the lonely hearts. For the ones that fear the dark, you better run out. Run out of here. But you can't look the other way. Here's one for the **[04:30]** broken road. That's the only one you know. You better run out. Run out. Truth or dare. Get me out. Take me anywhere but here. [Music] Here's one for the lonely hearts. For the fear. You better run now. [Music] **[05:06]** Do you lie awake at night? Are you afraid to turn out the lights? Is there something you're scared of? What's there in the windows? Do you do you **[05:47]** Hello and welcome to PHP Alive and Kicking. This is episode five and we are live. We're brought to you by PHP Architect and made better by our partners by PHP Score, but more about them later. This podcast explores the latest developments in PHP and what's it like to earn a living in PHP today. I'm your host Mike Paige and I'm a developer at PHP Architect. And my co-host and longtime contributor to our magazine and now team member is Chris Miller. **[06:18]** >> Hello Chris. >> How you doing? I'm not too bad. You? >> Yeah, not so bad at all. >> Good. Good. Okay, this is, as I say, live. So, if you're watching this over on our YouTube channel, get over into our Discord channel. You can join in the chat. You can ask our guests questions. You can ask me and Chris questions. We might not answer those questions, but we'll see. Um, yes, and even though you can join in the the conversation during the show, we are all in there. There's loads of great people in the discord in our discord **[06:49]** throughout the week. You can have conversations, get help with things, help other people with uh with questions and we can also sometimes talk about random stuff in there. As I say, we are also live on YouTube at the moment. So, if you're not watching on YouTube, go over to YouTube, check out our channel, subscribe, like the videos. That would be great. Uh, as I said a moment ago, Chris has been a longtime contributor to our magazine, PHP Architect. Uh, we have a lovely discount code for **[07:20]** you listeners. Uh, a live three will give you your first three months free when you sign up to a year's digital subscription to uh, PHP Architects. Chris is nodding his head because I actually got it right though from that time. I don't always get it right. Uh not only do we have our magazine, we also run an annual conference. Uh and our um conference at the moment is call for speakers or what is it? They did talk about it on the other show on **[07:51]** Thursday and I can't remember what the the terminology Eric was saying. >> I think we're using call for speakers. >> We're using call for Okay. Call for speakers is still open. if you'd like to come and uh talk uh get down get on to the the link and submit your talks. It'll be great to have as many people as possible. Um and it will be nice to see people. If if you don't want to talk but you want to come over to a great conference, please do. It's it's a lot of fun. Um Chris, you spoke at it this **[08:21]** year. I've been a couple of times as a team member. Um very family kind of feel um and welcoming feel. So, it' be great to see you there. We also have a swag store if you're you want to get some PHP architect swag t-shirts, some hats, cups, and and uh like flaskers. Quite a few things in there. Some really nice designs on t-shirts which I quite like. Okay, Chris, that is all of the housekeeping. I believe we've gone **[08:52]** through the list. So, over to you to introduce this evening's guest. So this evening we've uh brought with us Safodine Gamati uh responsible for writing the new tool chain MGO that's in >> hello everyone >> hello >> the joy of being live you have to move things around as we go >> one thing reream hasn't quite quite got right we have to do a lot of shifting **[09:24]** yes so Yes. Um, as you may or may not know, we always start with exactly the same question with our guests. How did you get into PHP? >> Okay, so uh I got into PHP actually at an early age uh as a kid mostly like playing around uh trying to make things. Uh so uh it wasn't uh professional or uh educational. It was just me trying to uh **[09:58]** create things using code. Uh and uh that's how uh I ended up writing PHP uh initially doing some open source work. uh later uh it became into a career when I joined Symfony SAS started working with Symfony then with uh API platform then uh different companies and here I am now. >> Awesome. **[10:28]** So interesting that you started um just playing about and then went into open source which is >> that's quite an unusual journey to go from messing about with code to I'm going to go and contribute to things for free is that is quite an amazing path to take. Uh yeah, it's mostly because when I was playing around, I wanted to look how people did some stuff like uh for example, I didn't know how did routing worked in websites. So I went into **[10:59]** frameworks and I went through their code and how does this work? How how does this happen? Uh >> and that's basically how it started. >> Yeah. And uh when when you're looking through frameworks and um the code there, I I quite often look at frameworks and go, "Yep, that that's doing things." And then go back and try and work out what it's doing. And I I look at some of the code like I've said it before on a couple of these, but code written by Nuno, it's like that guy is a **[11:31]** god. He writes things that I don't even understand. And it's it's amazing to look at other people's code and just go, "Yeah, I don't know how that works, but I'm going to find out." >> That's that's my daily life. >> Looking at something, yeah, I don't know how this works. >> But is that not just agencies or >> I think so. I think it's just the the thing of working with legacy code and you you always find something you you you're trying to fix something, you **[12:01]** stumble across a a bit of code and you go I I don't know what that does. >> So yeah, that's all all fun. All good fun. >> Yeah. And uh I suppose that sort of leads us on to the next question which is obviously we we wanted to talk to you around MGO and the fact that this is a new um tool chain for PHP. you chose to write that in Rust. Why Rust over let's say Go why choose Rust? >> Uh so the main reason for me at the time **[12:34]** was familiarity because I was uh learning Rust. I was uh trying to do things at Rust. uh but at the time I started this project I was also working at Quizlet and at Quizlet my job was to uh create a compiler from hacklank to PHP because they wanted to migrate their codebase uh from hack to PHP. Uh and during that I had to write uh quite similar tools to the ones that exist in **[13:04]** Magu for hack like a parser, elixir name resolution and other stuff. And while I was doing that I was like okay I think I can do this for PHP as well. Uh so uh that's how it initially started and then I was like maybe I can add a formatter as well because we will need that at Quiplet. Uh and I added that but then things got out of hand I guess. I mean you you wrote a llinter a formatter and a static analyzer just for **[13:35]** fun by the sounds of it which >> and I guess uh writing any form of PHP parser is going to be complicated but writing it from scratch in a language that doesn't have one of them in a language that's compiled that must have had some interesting stories along the way of how you were building that up and complications along the way surprises you Yes, actually till this day we still find like uh some bugs somewhere in the **[14:07]** parser because PHP has like this weird behavior that's not documented anywhere and just one person tried it on a codebase that's from 2010 and it didn't work. So, uh yeah, so it's full of surprises. I think um every month now at least we have one or two people opening issues because there is this one specific piece of code that doesn't parse or something like that. >> Yeah. uh and uh for writing the parser **[14:38]** generally basically I had to kind of reverse engineer the PHP owns parser because there is no uh kind of semantics for PHP like a documentation of how the language is parsed. Uh so basically we just have to figure it out from PHP's own C parser. >> Yeah. So, so you were reading C code, converting it to Rust code, >> and somehow making this work. **[15:10]** >> Yes. >> But not only making it work, you you ended up with something that honestly is so fast it's unbelievable. I ran it on a 20,000 file code base >> and it took two seconds to pass the whole thing. >> Yeah. Uh so I think that's one of the feats of Rust. Uh like it's the performance you would get with any compiled language not just Rust whether **[15:41]** it's Rust C or uh Zigg or any other language you will get uh kind of the same performance. But I think what makes Rust appealing for this sort of thing is uh the ecosystem it has and the features the language have make writing parsers or anything that has any type of pattern matching super easy. Uh and this is not true just for PHP. There is also uh tool chains being made for JavaScript and **[16:12]** Python with UV and uh OXC for uh JavaScript for example. Uh so so yeah, Rust is a really good choice for this kind of problem. I think >> and pattern matching really is where Rust excels. It's >> it's almost like it's a GPU in the way that it can do it so fast. I know it's obviously not using GPU. Um, >> but it feels as fast as if you were and **[16:46]** that by itself is quite a feat. So, I've actually had a question come in on YouTube. Um, so let's pop that up. Uh, this is by Trickquit 5 who says, "What is the benefit of your code versus using Alexa?" Um I I assume what they mean is using PHP like C parser and lexer uh if that's the case because uh in mug we also have our own lexer uh for lexing **[17:19]** code and uh I think lexers are something that's trivial that we don't need to uh basically bend to PHP just to use their own lexor. It It's I think one of the most trivial things in uh uh in Magu so far. So we just made our own. >> Yeah. So just a quick look at that as it wasn't something I was familiar with. There is actually a Peekle extension that has Alexa class um and that **[17:53]** contains quite a lot of things where you could you could in theory do this in PHP. So parse PHP in PHP. >> Yeah. Yeah. Of course. Parsing PHP in PHP is something that >> people do all the time. Uh there is uh the PHP parser package by Nikita which is used by uh PHP stand and uh almost any other uh PHP tool that's written in PHP. Uh and the main uh thing that distinguishes **[18:26]** MGO from all those other tools is number one performance. Performance-wise uh Mago is much much faster than those tools. And uh the second thing is that Magu is not just one tool. It's not just meant to be just a sub analyzer or just a llinter. It's meant to basically be a complete tool chain for everything code quality. Uh so currently we have a formatter, a llinter and a static **[18:58]** analyzer. Uh but uh we just announced it yesterday. We are adding another tool called guard which is a uh basically a PHP architectural guard to ensure that uh basically name spaces are only allowed to import specific stuff. Uh classes matching this pattern must be final must use this attribute must do this thing. Uh so uh that's another tool we will be adding in the next release. **[19:29]** Uh and uh another thing we're aiming for by next month is the language server. Uh so uh that will make Magu integrates with any uh editor you are using. Uh and we also have plans for uh other tools in the future uh post uh 1.0 release. Uh couple of these tools are the uh uh migration tool which will allow you to migrate a codebase from one PHP version to the next uh basically automatically **[20:02]** or from a framework version to the next. Uh and another tool other than that is uh PHP installation uh manager. Basically uh to manage your local PHP installations if you want to install a new version, delete one, add extensions, remove extensions, that sort of stuff. >> And this is all being put in a single binary at the moment, which is >> quite incredible. and the the fact that you have one thing **[20:32]** that just does all of this and um it's it's not anything that is groundbreakingly new. All of these exist in other ways um but it's it's groundbreaking in the fact that it's all in one place. So, Tripwware has just uh come back with the reason I ask is because of symfony and API platform. If I need a custom query, PHP mutates it and makes my query safe and it makes it impossible to not use **[21:03]** lowle. >> Uh I I think this relates to runtime things which is Mago not involved in. So when writing PHP code, you will not use anything related to MO. Mango does not uh involve itself at runtime. Uh it's meant to be just a tool for uh code quality, something that you run either in your development environment where you're uh fixing issues or in your CI to ensure uh uh that the code matches uh **[21:38]** your expectations for formatting and uh uh typing. So with the the formatting um >> can somebody define custom rules for this in a similar way that they could for PHP stand? >> No. Uh so uh first uh our the mega formatter is something that actually uh doesn't exist in the PHP uh ecosystem right now **[22:09]** because there is no equivalent to it in terms of the way it works at least. Uh I found only one equivalent called uh pretty php and uh it's not really popular. Uh but that's the only thing that I found that uh works uh basically similar to how magm works. Uh so mag fmt can be compared to prettier gs or oxc formatter uh because the way it works is it parses the code and rewrites it from **[22:41]** scratch. uh basically one piece at a time. Um so every statement, every expression gets rewritten from scratch. Uh uh but I think when it comes to custom rules, uh those are things that are uh that can be added to the llinter and the static analyzer. Uh so uh the things that we currently have in PHP such as PHPCS fixer or PHPCS uh those are more **[23:14]** like a llinter than a formatter because they don't really print back the code. They don't like rewrite the code from scratch. They just look for specific pattern and they say okay we don't like this pattern. Uh and maybe they have an autofix for it. They can fix it automatically. Uh molinter is the same. it just works on as it finds some specific patterns and it complains about them. Sometimes it can fix it for you. So for example, if you are missing a declare strict type, it will complain about it and tells you, hey, just add **[23:46]** the fix flag and I will fix it for you. Uh >> okay. And uh for the llinter we actually are planning on uh allowing uh custom uh rules and but this is for post uh one release. It's it's not coming soon. Uh it the the custom rules will be written in PHP. They will not be written on Rust. Uh so we will provide basically a PHP library that you can install uh in as a dev uh dependency and define rules **[24:19]** uh using it. So you will get a do whatever you want and just give us back an error if you find any uh and Magu will just find the local PHP installation run that rule uh basically send it over JSON and just wait for JSON back. Uh so that will be the way to define custom uh roles in the llinter. Uh as for the static analysis which is probably something that also people uh want to define uh plugins for uh for **[24:50]** their network. Uh >> that's currently uh the current plan is to basically provide builtin uh capability for uh frameworks at least the popular ones. Um, and later we will probably also allow people to uh write their own plugins. Uh, but those are going to need to be written in Rust and compiled to web assembly. Uh, because if we are going to make them in PHP, then **[25:21]** it's going to slow things down dramatically because mag will just have to stop everything, wait for PHP to boot, run something specific, and then come back. Uh, and that will slow things down. >> Yeah, that makes sense. Uh, on on that note, I think it's a good time just to take a quick break and listen and hear a message from our partners. >> Thank you to our partners at **[25:51]** phpscore.com. Every app builds up technical debt over time. It's the price we pay for shipping new features and moving fast. When we build up too much of it though, it 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 measure it. A credit score can help you understand how well you're managing your financial debt. And now there's a credit score for your technical debt. Go to phpscore.com to get a free technical **[26:23]** debt score and monitoring for all of your PHP applications today. Thank you. Uh, PHP score. There we are. We thought we lost you then. >> I mean, we've had worse. We've I I remember the episode that was abandoned of John and Eric's. >> Oh, yes. Yes. Where we just lost Eric. >> We We He had no internet connection **[26:55]** whatsoever. He just kept dropping out. So that was an episode that didn't happen. >> Yes. So we have a we have another question coming. >> We can >> um trip. Wait, if you're still on YouTube, go get over to our Discord as well. Join us in Discord and have a chat with us in there as well. Um Chris, I'll let you let you read it out while I'm >> fiddly. What was the benefit of building **[27:26]** it in Rust? Were the downsides or upsides that you can mention? I think it's something a lot of people don't think of using another language to write PHP. >> Interesting. >> Um, yeah. So, there was a lot of downsides and upsides to it. Uh, the upsides as I mentioned earlier are performance and that trust makes writing such tools easy. Uh I think the um downsides are uh basically it's more work for us. Uh that's the number one **[28:00]** downside because uh unlike other tools written in PHP everything is available in PHP. You have the parser, the lexer, the uh uh name resolution there and for example the PHP doc parsers. All those stuff are available as open source packages. can just uh pull them in. Uh but for us, we had to write everything from scratch. Um and another downside I I think is the um integration with the **[28:31]** PHP ecosystem uh becomes harder. Uh as I mentioned earlier, uh if we if in the future we are going to support custom plugins for sub analyzer, they're going to have to be written in Rust and compiled to web assembly. they can't be uh written in PHP. Uh same with the llinter tools. Even if we make people write them in PHP, uh it means there is a round trip in our side that we're going to have to call PHP and then come **[29:01]** back. Uh so there is basically the downside of integration is harder uh there. >> Okay. soon. So, trip Trip Witter has just uh tripped over to our Discord. >> Well, I know I couldn't resist. So, welcome to Discord, Whit Trip Whit. So, um **[29:31]** one of the other questions I was thinking about was um you've put these in a single binary, which makes sense in some ways, but in other ways could create overhead. that's not necessary. So like holding an entire parser for holding an entire llinter in the binary when all you want to do is run the formatter or or the other way around. >> What are the sort of off plays that you considered in then getting to the conclusion of a single binary? **[30:02]** >> Uh so I initially thought about having separate binaries just like one binary per tool. uh but I didn't really uh see the need for that. Uh as the binary itself is not that big in size uh it's not like one gigabyte that you're going to have to download every time. It's uh just few megabytes. Uh uh and actually most of that megabytes are uh the PHP stubs we have to embed inside the **[30:33]** binary. So actually if we remove the stubs it's like two or three megabytes in total. Uh so the rest is just stubs in there. Uh >> and let's be honest, people don't generally worry about two or three meg these days. >> Yeah. So sizewise it's not big. There isn't really that concern of people uh not being able to download it fast enough in their CI environment for example. Uh so that's **[31:06]** not a concern. Uh but another concern that I had for uh having different binaries is if I have different binaries then we're probably going to have different configuration piles. Uh and that just starts polluting things. Uh and it's one of the things I don't like about having bunch of tools in uh my projects is that the root directory ends up having like 10 different configuration file each for a separate tool. Uh and I hate that. Uh I want just one file and that's it. Uh **[31:38]** so uh yeah that was another reason for just having one binary and that's it. Uh and so far we didn't there there isn't any downsides to it. Uh uh for example there is tempest PHP which is the PHP framework that they use mugu and they only use the formatter and letter. They don't use sub analyzer. Uh but it's it's there. It's just there. >> Yeah, it it is optional to use them. And **[32:11]** >> yeah, >> it's but it's quite incredible that you've managed to get it in less than 10 meg. >> I mean if if I tried to write anything in Rust, it would definitely be less than 10 meg because it would never compile. I have tried. So in your branding and marketing, you've called this the oxidized PHP tool chain. >> Mhm. >> What was the thinking behind that? What what was that meaning for you? >> So uh oxidization is basically a term **[32:43]** that people use when they write existing stuff in Rust. It's basically just it's been oxidized. Uh so that's the meaning behind the oxidized tool chain. It's because all those things already exist. There is PHP llinters and static analyzers and even for the uh upcoming feature which is guard there exist uh for example dep track uh that does this. Uh so all the tools are not new the they **[33:13]** are just uh made faster and all in one place that's >> so it's a term that comes from the rust community. >> Yes. So oxidized is just that. >> Okay, cool. I mean it makes sense. >> Makes sense. Now now you say it out loud. Of course that's what it means. Okay. >> I mean it's how you describe petrol that makes things faster, isn't it? Oxidized petrol makes a car faster. **[33:46]** >> So how could somebody get involved with Mo now? How could somebody sort of be contributing and helping with? >> Uh so currently we are using GitHub issued trackers. Uh so if there is any uh either uh plans for enhancements or bugs they are in GitHub. Uh anyone can uh is welcome to contribute. Uh if they know Rust uh they can contribute by either implementing features or uh **[34:17]** fixing bugs. uh if not uh you can uh also help us with documentation. Uh we are definitely lacking in that area a lot. Uh uh so if if you want to help there uh but yeah a a lot of people also uh help us add missing extensions because uh as I said earlier Magu ships its own stubs. Uh so uh people uh sometimes send PRs to **[34:48]** add stubs uh to uh extensions or missing maybe stubs or to improve uh also stubs by providing uh better uh types to parameters or return types uh stuff like that. Um uh so yeah um those are the ways to uh contribute. Uh also if you are not really familiar with Rust much you can uh pick an issue and give it a try and open a PR and we we can help and **[35:20]** guide you uh through the process. Uh because there is a lot of PHP developers who have sent us bug fixes and it was their first time writing Rust ever. Uh, cool. Yeah, >> I think that's one of the things I've spoken about before is the the fundamentals of programming don't change from language to language. >> You you might have a different syntax of how to do something, but >> how you you'll always have a loop, you'll always have a branch, you know, **[35:51]** >> a for loop and an if and an if statement, they're going to exist everywhere. Mhm. >> Yeah, we've talked about it quite a a few times before about knowing the if you know your your fundamentals of programming. You can pretty much pick up any language as all you got to do is understand the syntax of that language. The actual >> building blocks of how you build the program is is the same no matter what uh what language it's in. >> So yeah. Um, so t talk us through um how **[36:23]** easy is it to actually start using uh ma mang mango is it pronounced mango? Sorry, I'm I'm so mango m see now one thing we haven't warned is I'm dyslexic so I I I although I've heard Chris say and you say the words about 10 times in the last last half now I still haven't got it in my head. Um, so I do apologize for mis mispronouncing it, but um so what talk us through what the um what it looks like to actually uh incorporate it into our into our project and then start **[36:54]** using using the package. >> Uh so we tried to make the uh basically on boarding experience of Mago as easy as possible. Uh so uh in our initial versions you had to download the binary and place it in your path directory uh and all of that. Uh but uh after that someone from the PHP community contributed and added a uh composer plugin. So now you can install it with composer and it will be in your vendor **[37:25]** bin path. Uh so no need for for you to install it systemwide. Uh and uh other than that, MAGO also have the has the init command which initializes your configuration file. Uh it will uh read your composer.json to try to find where your code is and configure uh those paths for you. Uh it will also try to detect if you are using uh Symfony or Laravel or PHP unit and enable the **[37:56]** llinter uh integration for those frameworks. Uh and it will also ask you some questions whether do you want to uh leave the formatter to its defaults or do you want to uh change stuff and it will point you uh in each step to uh where the documentation is about that specific configuration section. Um so yeah uh we try to make it as easy as possible uh for people to on board. Obviously uh one thing that's missing **[38:28]** and hopefully maybe in the future we can add is to try and detect existing tools like and their configuration such as PHP Salm or PHP CSS fixer and see if we can uh basically read into them and extract uh some configuration from those files uh to make things even more easier for people. uh but that's currently not implemented and uh I I don't think it will be implemented soon because it's **[38:59]** not a priority basically. >> Okay. Yeah. No, we we'd certainly like easy trying keep our life as easy as possible. It's it's hard enough um sifting through code trying to find a bug. Let's keep everything else as easy as possible. Now that sounds that sounds great. And the the the fact that we can just you run a composer install it just yeah that makes things so much so much easier. >> Yeah that's good. >> Okay I think that's all of our pre or **[39:31]** you've some of the questions you you've answered while you've been talk talking but I think we've pretty much covered everything have we Chris all our questions or is there anything we missed? There's only one that we've missed which is um so obviously we've spoken sort of briefly about this but what's the relationship between >> Margo Mgo and existing tools like pest pharm PHP stand >> and yes there are things that you're doing that they're also doing but the **[40:04]** relationship with the developers of those and are you seeing positive vibes from the community Yes. So from uh the users uh at least uh the ones that we have in our discord as well are uh positive about it. We had a lot of people uh who uh basically liked Magu especially for its performance uh like one of our bigger users in their codebase. Uh for example PHP Stan was **[40:36]** taking about 30 minutes or 20 something minutes. uh while Magu takes just few seconds. Uh so against my advice they switched to Magu even though I told them it's still in beta don't switch yet just wait and they were like no the performance is is good and it's good enough for us now >> uh uh as for relation with the uh other projects as you mentioned SL and PHP stand uh those are all old like **[41:08]** established uh PHP tools uh that a lot of people are using and I I think they will continue using for a long time. Uh and those are project to me at least are resources for learning. Uh because whenever I come across a bug, the first thing I do is open PHP stand and SOM and run it on those both tools to see how they behave. And I think I've went through both their code bases multiple **[41:38]** times. like I've read through all of their code, every single line I think at this point uh just to understand how they work and how they do things. Uh and uh in my development process uh for the static analyzer, one of the things that I did was to write some really weird PHP code and try to uh basically debug it. And in that process I also discovered **[42:09]** bugs in SM and in PHP stand and I opened issue reports to both. Uh I I think over 30 bug reports to SM and same to PHP stand. Uh so I think it I think of it kind of like a two-way uh thing. I learn from them and I also try to report things uh as I go. Yeah, >> that that's one of the uh one of the **[42:40]** things I do like about this community that there's no animosity between most tool tool creators. >> You know, the fact that the fact that two tools do the same thing >> is kind of irrelevant. It's it's a choice that people can make as a user. >> Yeah. >> And me as a developer, I like choices. >> Mhm. Yeah. Yeah. A and I think switching to uh for example from one tool to another like if you are going to switch from PHP stand to Magu uh I don't think **[43:10]** many people that already use PHP stand will need or have the need to do that switch uh because most people are working on small to mediumsiz projects where uh PHP stand is fast enough uh so that's not an issue. Uh the main uh thing uh I'll trying to avoid with mango static analyzer is having to wait the 30 or 40 minutes in CI in really really big **[43:43]** uh or massive PHP projects which most people don't really care about uh because they will not encounter that. Um so uh I don't see personally the need uh for people to switch to Magu static analyzer at all even after the 1.1 uh I mean 1.0 release stable release. Uh if you're using PHP stand I think you're most likely will continue using it and I don't see the need for it switch uh **[44:13]** over. Um, so yeah, I and Magu will probably just be used by people that already use other parts of Magu and they want to add static analysis and well, it's available. You don't need to install anything else. >> I think it's quite handy having having it all under one roof and rather than having all these different packages to do the different jobs, having it all under one roof is quite quite an intrig quite intriguing to me. Um, and I've got **[44:44]** a couple of uh personal projects that I might give it a whirl on and see how we get on. As as you mentioned about the the beta and uh 1.0, are you at 1.0 yet or are you still in beta? >> Uh, we are at 1 uh 0.0 beta I think 28th at this point. So this is the 28th beta so far. >> All right. Okay. Have you have you got a release date or is it you **[45:15]** still just trying to get a few things in there some more features in there before you go to the first first version? >> Uh so we are planning on the RC version coming out in November. Uh I don't have exact date for when in November but it will be in November >> uh or maybe early December. And uh the stable release will be like in January next year just uh after the holidays **[45:46]** hopefully. uh and uh our goal for the RC1 uh we currently have a open issue for the release candidate like the first release candidate and that is um there is just a couple of features uh from PHP stand and some that mu doesn't support that we need to add support for and there is also the lsp so language server a lot of people uh want that uh to integrate mago into their editors **[46:17]** Uh so we need to uh roll that out before the first release candidate. >> Um so yeah, >> I'm looking forward to the LSP myself as a neim user. It's kind of every day that I'm using LSPs. So I guess that leads us to our final question which is what's your favorite feature in or coming to PHP? **[46:49]** >> Oh uh I I think my favorite feature right now is enomes. Uh I use them a lot. Uh I I don't think I've worked on a project uh in the past couple of years that I didn't use them in. uh they they are super handy. Uh as for the upcoming feature, I think uh from 8.5, it's the uh pipe operator. Uh >> I laugh because that is pretty much **[47:21]** everybody's favorite feature in 8.5. >> Yeah, I I I think everyone has said exactly the same thing. Yeah. >> Uh and uh on that uh pipe operator is already supported by MAGO. So Mago already supports 8.5. >> Awesome. >> Oh, brilliant. >> So yeah, both the static analyzer, the llinter and the formatter, all of all of them support it. >> That's that's uh that's pretty cool that you've been you've already got the the 8 **[47:55]** um five support in there. That's that's really interesting. Yeah, I think that's another thing that's uh kind of advantage uh to us having written everything ourselves >> is that when new features get added, it's extremely easy for us to add them to our tool chain. we do not have to wait for uh basically uh the PHP purser for example to add support for it and **[48:26]** then for a version to be released there and basically all those tools to uh to add support uh for it for us if something new gets added we can add it to the lexer parser liner formatter analyzer all in one go uh and the same day so >> yeah it's a trip says there still on 8.3. Um yeah, I think I think my private I think my my personal project is still on 8.2. Um and I'm still working still **[49:00]** working on one one project. Um PitchB, if you don't know, we we're also consultancy. So we do we we code as well. We don't just uh produce a magazine and the the conference. And one of the I there's a project I'm working on that I'm still trying to get to 8 point 8.2 two. So, I'm a little bit behind trying to get to 8.5 at the moment, but yeah, it's >> it's not as bad as one that I was asked to look at privately the year about two **[49:30]** weeks ago. Somebody came to me with a PHP 4.2 application and said, "Can we get this up to 8.5?" >> No. >> Well, not without a lot of money. >> You're going to have to put a lot of money into that. Wow. I I did suggest that I work for PHP Architect and we might be able to do it. >> Apparently budget was not in their favor. >> Uh wow. Okay. Well, we we still have a **[50:02]** little bit of time if anyone out there still has any any questions, but whilst we're waiting for any questions to come in, hang on. What's what's this? The boss is in boss is in chat now. In fact, one thing I've just realized is >> no better time to start working on getting the budget for PHP Tech 2026 before the year expires. >> See, if Eric was actually listening from the start, he'd know that we'd already said that. **[50:33]** >> Yes. >> So, we we have another question from uh Trip. How big is your team? >> Uh it's just me. So uh currently it's it's just me. Uh there is plans to uh have other people's on the team uh but nothing uh concrete yet. So >> So uh another one from Eric. Um if you're a speaker, CFPs are open until **[51:03]** the end of the month. So are you going to be playing to our CFP? Come and speak in Chicago. Uh maybe maybe >> get get a call in get one of the get a reply into the call for papers and I mean there's no guarantees of ever being picked but it's it's one of those conferences that honestly we welcome anybody and first time speakers through to people that do this for fun on a weekend. **[51:35]** >> Yeah. And it's a it's a very um I've said this so many times now so people must be sick of hearing me say it but it feels very much like a sort of family sort of feel when you go to to tech. Um I've not always experienced that and maybe it's because I'm part of the team and that that was that's helped but I would say there's a lot of um a lot of places or or you would kind of assume some of the higher names. So we we have quite a few people. We have **[52:06]** internal uh PHP's internal uh developers come to tech. Um in fact they're in our discord as well. Anyone still listening you you can come and talk to internal people in our discord. They hang out there all week long ask questions anything you want. Um but uh there there's there's this perception sometime of of organizations where you go to a big thing like this and the big names, the speakers, um the pe the package or developers and maintainers, the the internals, they're all sort of clicky **[52:36]** and they're in their own little group somewhere else away from all the attendees. It's not like that of PHP Tech. Everyone just mingles, talks all the time. Um, and you I I I've remember the first time I went um as part of the team and I I sat talking to someone and then suddenly realized who it was I was I was talking to. I was sitting chatting to Ben Ramsey who's who's a um release was a release manager for PHP. It got got packages out there that pretty much everyone uses. So **[53:08]** it's it's a great conference it's come down to. Um chat seems to be hoting up now. We're coming to It's kind of wrapping up fairly soon. So Chris, I hope you're keeping track keeping track of all this. >> So Trip um says he's going to pull one out and give it a shot for this call for papers, which is awesome. >> Love to see you there. Love to see you there. >> Eric has just discovered there's a delay. [Laughter] >> Uh we have >> Oh, we have **[53:39]** >> I'm not even going to try and pronounce that name. Leandu bladder I think. Thanks for the insightful episode regarding Mega in AI. Do you think it could help PHP make a breakthrough in machine learning or data analysis? >> Um I don't think so. Uh but but this uh remind me of uh one thing that we're planning to add to Magu which is uh sort of a an inspection tool where you can uh **[54:10]** kind of search for things uh based on types. So if you say can you find me variables that contain this specific type uh and it will kind of list their locations. Uh, and we're planning to add uh a lot of like inspection uh commands uh that allow you to do uh search and the codebase either using syntax or uh using type information. Uh and that **[54:41]** might be helpful uh for AI that work with code. They they can just use Magu to search for stuff. Uh >> yeah. Uh we currently have users who are using Magu and uh for example uh the current uh output for Magu either lender or analyzer is kind of big like it's just maybe like seven or eight lines uh just to describe one issue and for that we **[55:13]** have different reporting formats uh so you can just pass a flag say reporting format short uh and uh usually When uh people that we have in our community are uh asking AI to for example uh fix specific issues reported by Magu, they will tell Magu to use the reporting format short because that consumes way much less tokens. Uh so that's maybe a tip for people. **[55:45]** See, I I could see that working really well, putting an MCP in front of Marot and just saying, "Here's here's a tool that will help you get results faster." Because one of the things I find is if I'm using >> any of the CLI tools, um, if you're there waiting for PHP stand to finish or whatever, it times out before it's finished and thinks that the command failed, >> whereas Margo will be ridiculously fast by comparison. Yeah. Uh uh now that you mentioned it **[56:17]** also MCP server is something that uh someone in the community has suggested. Uh we don't uh currently have plans for it. Uh but at least our LSP server will have an abstraction that could allow us in the future to build different kinds of servers. Uh but they all use the same abstraction. Uh, so maybe that's something we can add in the future. >> See, I'm thinking back to episodes that **[56:49]** we've just done with um, Ashley Hindle. >> Yeah, I was just going to bring that one up. >> Putting the rules for Margo in there would actually improve it anyway because >> um, Boost for Laravel boost would actually call Margo if we told it to. >> Yeah. So >> do that now. >> That's in the L when you're using Laravel obviously because boost is part of Lar. Um but yeah, if you're **[57:19]** interested in a talk about AI and we we had quite a good conversation that was last week's episode with uh Ashley Hindel from the Laravel core Laravel team um who who basically built boost in like two weeks. his first two weeks at Laraveville, he just built boost. It was it was quite impressive. >> I love the fact that he like built something first and went, "No, that's not good enough." Got hired by Laravel and just said, "I'm going to build **[57:49]** better." >> Yeah. Yeah. So, uh yeah, that that's really interesting. So yeah, if you're a Laravel user, you could um yeah, you could you could get tell Boost that that uh it's Mango exists and it can Yeah, that would be really really interesting. Really interesting. >> So turning back to conference, Trip said, "What they're saying is truth. I've made lifelong friends, learned so much. Just when I thought I **[58:19]** knew everything, I go to the conference and my mind is blown. I'll never forget I'll never forget Grumpy beating it into my head to use unit tests. >> There is a speaker that is called the grumpy programmer >> and yeah, he he talks on unit test lots. >> Mhm. He's got a book on tests, doesn't we? But look, we we also as PHP architects have has um um published that's the word I was looking for, published. >> Um so yeah. Okay. I think we're we're **[58:51]** getting fairly close to to time time now. But if there's any other questions, we're please pop them into the chat and we will get the the answer for you hopefully. But um whilst we wait for it, wait for any if anyone wanted to um reach out to you and talk to you or just anything is there any any way people can get hold of you or is it just through your your g your GitHub or >> uh so you can reach out to me either uh in DMs on Twitter or Blue Sky uh in our **[59:24]** Discord. I'm always there uh in Mag's Discord. You can uh find the link in our uh website >> uh or uh email which is azcartishpoint software. >> Okay, there's the uh the website there on the screen again for you. All this will be in sort of show notes as well. Um oh, you've got you've already got their Discord. Just seen Chris has popped the Discord up in Oh, we both **[59:55]** clicked on it at the same time. There you go. >> What happens then? It comes out and then disappears again if we both do it at the same time. >> Cool. Yeah. So, head over to to their um their Discord as well. And what have we got here? We got some more chat going on. This is one thing we we haven't done. We haven't had the chat up on the screen, but never mind. I'm >> I'm just laughing at Eric's latest **[60:32]** Yes. Apparently, you can't be friends with Ben Ramsey. >> No, but that's a long that's an on ongoing long long uh joke. Um if you if you're not aware, um we'll probably let Eric tell that story another time. Yeah. So, Trip says, "Thank you very much." Um, so yeah, well, thank you very much, Trip, for listening, for tuning in. Um, hope to see you in our chat uh **[61:04]** during the week and um uh on next show and the next shows. So, uh just to talk about what's coming up before we go. Uh obviously on Thursday, we've got Eric and John doing the main main show talking about everything to do with PHP Architects and some other random stuff. Normally baseball might drop in there or whatever. Um, also somehow we have got such a backlog of pre-recorded shows that the decision has **[61:34]** now been made. We are going to release a second episode. We this week we have got another episode going live on Friday. Are we doing it 8 8:00 PM again UK time? Yeah. So 8:00 p.m. UK time. On Friday, there will be another uh episode. I think it's been leaked who it's going who the who the guest is. >> So, somebody leaked it on social media. I have no idea who that was. I mean, he did ask me for the socials and I gave it to him. So, **[62:05]** >> Oh, well, that's that. So, you leaked it. Really? >> Yeah. >> Okay. So, we have got um and now I'm never quite 100% sure how to pronounce his surname, so I'm probably going to get it wrong. Is it I do you know what Chris I'm going to get you to to say who it is because I so I don't get in trouble. Stala I don't know why I get I I can never get his surname right. So Matt Stala is on the on the show. Um it feels like quite a long time ago. We actually talked to him because we recorded that episode a while ago. So um **[62:35]** yeah that's coming out on Friday. >> The start of September. >> Start of September. >> Damn. Right. So that's Friday. Matt stay for on Friday. Next Tuesday we have um another inside joke for Discord. [ย __ย ] Steve's episode. Um >> if you're if you're if you're an old if you're an old PHP um ugly listener, you'll understand that reference. We do talk to Steve about that reference and **[63:06]** how he got that that nickname. Uh so you have to tune in next certain issue. massive pre-recorded again. Uh that will be uh next week. >> Yep. So that's next Tuesday. >> And then next Thursday, John and Eric are off because they're doing another conference. Um so we actually have another episode going out next week as well. And that is >> Susanna Susanna. **[63:37]** >> Yes. Yeah. That's bec that's if you're going to Longhorn, you'll see go and say hi to um Eric and John. They'll be there in as well as Joe um our our colleague Joe will also be over there as well. So go and say hello to them, but we're going to be taking their place with one of our pre-recorded um uh Trip. Yes, very quickly, Trip, we both myself and Chris are in the UK. Um, Oasis. Yeah, they're they're okay. **[64:09]** >> Not not my favorite, but yes, we are in the UK. Anyway, I think that is it for us today. So, thank you very much for joining us um and giving us your time to talk about uh this this really I'm really intrigued. I'm going to have to go and play with it now. I'm going to outside of outside of work hours. Eric, don't worry. I have to be careful. The boss is watching. Um so yes uh thank you very much for your time um this evening. I know it's **[64:40]** the evening for you as well. Um and thank you very much for everyone that's uh watched uh this episode and we will uh see you with our next episode on uh Friday. >> Thank you for having me. >> It's been a pleasure. Thank you very much. Bye everyone.