YouTube Video RBYBfwN25Rs ![rw-book-cover](https://img.youtube.com/vi/RBYBfwN25Rs/maxresdefault.jpg) ## Metadata - Author: [[YouTube]] - Full Title: YouTube Video RBYBfwN25Rs - Category: #articles - Document Tags: [[ai]] [[gamedev]] [[legacy]] [[xref]] - Summary: YouTube Video RBYBfwN25Rs - URL: https://www.youtube.com/watch?v=RBYBfwN25Rs Heat. Heat. Heat. Hey, Heat. Heat. Heat. Heat up here. Heat. Heat. 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 awake these walls. You can't escape. 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 dark? Make sure to keep Hello and welcome to PHP Live and Kicking brought to you by PHP Architect and our partners at this place. More about them later. This is the podcast that explores the latest developments in PHP and what it's like to earn a living in PHP today. I'm one of your hosts, Mike Paige, and I'm a developer at Pitchp Architect. And my co-host is a longtime contributor to our magazine and now fellow team member, Chris Miller. Hi, Chris. >> Mike, how you doing? >> Not too bad. Not too bad. You >> h I'm here. I'm alive. Not sure about awake this time. Oh, well hopefully we will do. We've got a special uh edition uh this evening. >> We have >> um for this and we are live. So, please head over to our Discord channel. >> Words word's already got out. >> Yes. Well, who who let who let the let the cat out of the bag? Who's who's who's leaked the fact that >> I don't know but Joe what thinks we've let the dogs out. >> Okay. Okay. I feel sorry for our guest if that's if he's referring to our guest. But hey anyway, if you're over in in YouTube watching us, head over to Discord um where you can join in the chat, ask questions. Um the Discord isn't just for when we are live. You can join in all week long. Cool conversations going on in there. Um um all sorts of people in there. We've got uh PHP core developers in there and we've got package um maintainers in there. So yeah, it's great time. Uh YouTube, as I saying, if you are watching on YouTube, please like and subscribe the channel. It helps us a great deal and you also get notifications when we've got more videos out. It's not just this podcast. We have the the main podcast with Eric and John and there's also the community corner with Scott and uh some um I think he does he still I think Scott is still doing some tutorial videos as well which is great. Um Chris is chuckling at something. Let's just ignore what's going on there. Uh we have a magazine as I said earlier. We do produce a monthly magazine and we have a discount for you and that'll be up on the screen. Alive three will give you the first three months of a digital yearly subscription for free. Um some great content and in there articles about PHP and surrounding technologies that we use in in this world. Uh not only do we uh do we do some development work and we have the magazine, we also run a conference called PHP Tech. Uh tickets are on sale for that uh for next year. Uh alongside that we are running JStech and we have call for papers is open right now. So please submit please submit your your talks to come and talk at JStech. Uh there is a link there for session eyes on the screen right now and it will also be in the show notes as well. And the good news is that as we learned today from John, the the uh call for papers is going to be open for another month or so. >> Yes. >> Yeah. Extending call for papers. You got a bit longer to to come up with those ideas of what to to put in. Uh we also have our store uh where you can get t-shirts and hats, caps, mugs, all sorts of things in there. Store.phparch.com. Head over and check out the the merch there. uh both me and Chris has kind of although these one these are these are staff tops I don't think these are available to to general public but there's an array of different things you can get a hold of in there some really cool t-shirts I still need to order that one t-shirt I like I haven't done that yet >> okay as I said this is a special episode we've already leaked what who's coming on this below decks >> and the name comes from Awoods if he's in if he's in Discord today. >> Yeah. So, we have the man, the myth, the legend. That is Frank Wallen. Hey, Frank. How you doing? >> Hey guys, thanks for having me on. >> I mean, it it was inevitable that we were going to get you on eventually. >> Oh, eventually. Yeah. >> So, Frank, you you've been listening to our podcast for a while, so you know what the first question is. How did you get into BHP? >> Yeah, that's uh boy, that was a long time ago. So, I used to be in video game development and at that time I was just a project basically a project manager. They called us producers um at the time and so uh I was helping move a lot of data working with spreadsheets of these football teams, American football teams, uh things like that. So, one of the issues that we had was uh Sony was our big parent company would provide us with bug lists and we got that through I don't know it was like file manager pro or something file I can't remember what it was but we had to pull it down and it was just this big document and then the guys would go around print this thing out clip off with scissors you know these bugs and then go hand them to the the engineers They're supposed to work on this bug. And I was like, you know, I haven't been a project manager for very long, but I was like, where's the tracking? How do we know what's going on? Who has what? You know, it was crazy. And so I started thinking about this going, how can we do this better? Is there systems out there? And there were, but they're very expensive. And I didn't think Sony was going to be open to, or at least our company was not going to be open to doing that. And then I saw, you know, you could just run your own web page, right? we had our own internet and so I saw that hey we could do uh do this in PHP and I was like well I know how to program so let's pick it up and learn it that was PHP I think it was three and four you know um so I started learning that to build a bug tracker uh which was a great way to learn how to program in PHP >> that so did you track your in bugs in the bug tracker that you built. >> No, but I was just thinking about that as I said it, you know. Yeah. Yeah. It's uh Well, when there was a bug, it was it was it was in, you know, massive email threads, you know, and everybody was constantly telling me what was wrong, you know. >> It was interesting. um >> especially learning uh query language, you know, proper SQL and um um >> that was just you know very con it was it was difficult to to figure it out and because I was kind of on my own. Um, and at one point the system was very slow and they were complaining about it and uh they even sent like their top senior programmer over and said, "We're going to walk through your code and see what's wrong." And we walked through the code and he's like, "I don't know what's wrong." You know, and I was like, "All right, thanks." And then he left, you know. So I sat down and started looking some more. And then it dawned on me that I'd had a a join was basically flipped. You know, I was you I was looking at the largest table we had and joining to that, you know, when I should have been going with a more direct, you know, >> what's the the minimal number of rows I can work with, right? >> And I flipped that around and suddenly that afternoon was flying and and working great. And um yeah, it was a very fun experience. And I didn't I kept continuing to program in PHP after that, but mostly for myself and little tools to help myself because nobody else seemed to be very interested. I was trying to put out things like >> uh Tikiwiki, you know, get wiki up there. Um but nobody was really interested in it. These guys are kind of epitome of cowboy programmers, I think. >> Yeah. H an interesting first product to choose when your life was project management to build something that is used to terrify developers. >> Yeah. >> Right. It worked. >> Yeah. It kept these guys going on their bugs because it tracked like even if somebody passed the bug off to like a subordinate um things could not be checked off, you know, unless that superior checked it off. So the subordinate could say, "Oh yeah, I finished this bug. It's done." >> But the guy, his lead had to look at it and say, "Yes, it's done." You know, or to basically proceed. So yeah, >> it was a really good experience. I it really is a brilliant app to learn on because you are covering the whole stack there of how to handle database entries, how to handle moving things back and forward in a flow, how to >> Yeah. >> I don't think I could think of a better project to throw somebody first project. >> It was really good. Yeah. All my all any other languages I ever wanted to learn, you know, I started off, of course, way back on the old TRS80 computers, uh, learning basic and then I learned assembly language. Um, >> yay. I am not the only assembly language program. >> Yeah. No. And assembly I thought you know it was hard but I felt so powerful at the time. >> Yeah. >> And and it really cemented some concepts I think for me later because it seemed like every language I learned was just kind of easy after that. You know it was a matter of learning structure and flow of course. You know the little >> nidbits about you know how they function. Um but uh you know when I got to C eventually C++ you know references totally made sense to me. I was like exactly because that's what we worked with was just a pointer you know all I have is this address of where my data is and I better know it's structure >> you know I'm going to make things really bad you know >> so um yeah it really helped. So, and then, you know, eventually, uh, yeah, PHP just kept something I was always kind of messing with and making my own websites and fooling around with that stuff. And, >> you know, eventually got to the point where like, I better have a new job, you know, because the game industry was so damn >> difficult. Um, that's what I went with. >> I don't know why you find working 25 hours a day a bad thing. >> Oh my god. Yeah. Luckily, my kids remembered who I was. They thought I was a hero, you know, because oh, my dad's a video game developer. I'm like, oh, you know, I don't >> I think I think you're a hero. That's sounds pretty cool to me. >> Yeah, it was it was really cool. Yeah. Yeah. The texts and all that stuff were really interesting and fascinating. A lot of really smart people, you know, >> um to work there. I mean, some of these guys were just brilliant. >> Um, with some of the low-level stuff they could do, um, you know, it wasn't just the C language. It was like some of that was like they had to they're doing some assembly language, you know, on top of that to manage graphics, you know, really fast. >> I think people forget that is where the industry once was that you didn't have like Unity or the Unreal Engine or whatever. It was literally, okay, we want to make a game and we currently have a blank screen. >> That that's where we're starting, >> right? >> And I was that that was always a game I was trying to build and every language I was learning I was like, what's it? Except for PHP, I went with a bug tracker, you know, but yeah. >> Yeah. I mean, it amazes me that theme park, I don't know if you remember that, but that was written entirely in assembly language. It was like a hundred lines of code to write hello world, >> right? It's like Yeah. Oh my god. Yeah. You had to somebody really forced you to try to have some kind of organization or at least understanding, you know, breaking your code up >> somehow because you could just just overwrite everything you were doing and, you know. >> Yeah. >> Yeah. and then remembering which which address you put that bit of information in and >> and then remembering that not every computer had 16 bits because >> no >> at that point 8 bit was the processor I was using. >> Yeah. Yeah. I mean I was yeah I was working on the TRS80 was a Z80 chip and you know um once I started getting into like memory maps and like these larger you know bit memory I was like oh I'm getting lost now you know but um >> as long as it was in 16 bits I was fine you know so learned binary and and hexodimal and you know >> um assembly was just really great because it was just fast compared to you know on the TS80 TS80 was about twice as fast as the as I recall at that time. >> But Apple had the really nice color graphics, you know, and ZD the TRC didn't have that, >> but it was uh Yeah, >> you say color graphics. It was eight colors. >> Yeah. As opposed to two, you know, >> but um >> three if you were using if you were using hashmaps, you could do gray. >> Yeah. Right. Yeah. I tried to do some of this stuff. Some people had done some pretty clever ways of using asy characters to make explosions look cool and I hadn't gotten that far, but I was just trying to draw a map on my screen and it was taking forever just watching it, you know, progressively draw and uh it drove me insane. I was like, how can I do this faster? And then there I was learning, oh, assembly language is the way. I was like, all right, great. Let's learn. And then there was a cool way of hybridizing actually injecting assembly into your basic language, which is really cool. Mhm. >> Uh made the list you when you went to list your code, it made it look obfuscated because you had all these crazy characters flying across the screen. But you know it was and then it's and suddenly all of a sudden my maps are like instant you know instantly drawn on the screen and um it was really really exciting. Um I guess that's the kind of stuff that what makes you a programmer is like when you have that result you're just so excited. >> Yeah. >> For having solved it. Yeah. the the little dance that we all do. It's like that worked. Why? >> Yeah, >> that didn't work. Why? >> Yeah, that was the worst part with assembly is like when something went wrong, you're just like, well, I have no idea where it's happening. You know, >> and debugging it was very difficult as it was so difficult. It was hex maps. You just go look at your hex map and see what's going on and try to read the data. It was terrible. But good experience. >> Well, on that cheerful note, I think we should uh go and hear from our partners. >> Thank you to our partners over at Displace Technologies. Building PHP applications is your passion. Managing cloud infrastructure shouldn't be your headache. Displaces your partner in cloud infrastructure orchestration, giving solo developers and small teams the tools and automation to deploy enterprisegrade Kubernetes clusters without the enterprisegrade complexity or cost. Their CLI tool streamlines everything from local development to fully managed cloud deployments on AWS, Azure, Google Cloud Platform and more. Skip the steep learning curve of Docker, Kubernetes, and Terraform. Let their automation free you to focus on your core business without losing control of your infrastructure. Get started at displace.te. That's d i s p l ace. tec and discover how the right tools can eliminate the need for a full devops team. >> Thank you. >> Thank you. Displace. So Frank, you you started off doing uh game development. you learned PHP to um track the bugs within the the games. How did you how did you end up at Architect? >> Yeah. So many years. Um, so at one point, um, and it was before, let's see, um, I was just working at these different game development studios, and basically anytime a contract was done, >> there was always the fear that the studio was done, and that tended to be the case. Once a contract was done, >> your job was basically done, and you're freewheeling it and had to find work. And um as you know as Chris had mentioned earlier like you're trying to extract more hours out of the day than the day is long >> and you know you're you're you know you kind of suffer for it you know and I wanted to spend more time with my kids and you know stuff like that be more at home and uh once the final studio once the final contract was done I said I'm not going back and um I need to do something different and I thought I think my next best step honestly is just really go all in as a web developer, >> you know, >> um especially after I was, you know, like, yeah, I went into that and started doing like just some stuff in WordPress. Not that I'm a WordPress um professional or anything like that. It was pretty challenging um building like a shopping cart for lady who sold shoes, you know. And then uh one of the guys that I had worked with came to me and he said, "Hey, we got a contract with this company to do a a game for their app on the phone and we'd like we'd like you to help us do the programming on that because we can do HTML, you know, all that kind of stuff." And so we're going to we did it with JavaScript and the PHP a simple PHP back end because all we really were doing is just you know getting data um and no it was not a proper API. I'm sure if I if I could find that code again and go look at it I'd be terribly embarrassed but uh it was a good learning experience um for that. Um, so I just kept kept doing that and kept working. Um, and then uh got some different jobs doing PHP work through some temp service agencies uh you know stuff like that. Eventually I was working for a storage company um working on their app you know their whole browser the whole back end and you know rendering on the browser for storage like reserving storage units and things like that. So, we had to be going, you know, stay on top of the inventory and >> sending out notifications. I had to work learn to work with Tulio to make calls to this to the different offices to say, "Hey, you got a reservation. Go check it out, you know, uh to go get your close your sale, you know." Um, so that was a and and that was a great experience going because they had a their app built originally on Symphony One, I think it was. or what what what version of it was it one? No, it was I had to look back. But um I got to work on the upgrade, you know, actually building it out in a brand, you know, much newer version of Symphony. Um so that was a really fun experience. But then eventually they brought a guy on, >> another pro, well we had another programmer, he left, they brought another guy in who had worked with them before. And this guy was just uh he was classic web developer where you know you threw him at a task and he just did it any way that it was possible and and he got things done. But he came to me one day and he was very frustrated that to build a query through you know the OM you know and he said I can't tell what's going on and I was like well it says table and select columns and join and it's all very it's there just we're going to this RM so for some proper safe binding and all that kind of stuff but he kept writing raw queries all the time and um when I was like, "Hey, I I don't want to work like this," you know, they were kind of said, "Well, you have to." And so I was grumping about it at the meetup, San Diego PHP meetup with John and Eric were running. And I'd already been doing some presentations there um at this at these meetups, talking about Symphony and things like that. And uh they they heard me grumping about that job and they said, "Are you looking for a job, Frank?" I was like, "Oh, as a matter of fact, if I could find something better, yes." And so they talked to me and um interviewed with them and they brought me on to work with them, threw me into the deep end of a legacy app and uh I eventually surfaced. I'm still alive. So you went from complaining about working with raw SQL queries to working with raw SQL queries. >> It's all over the place and accepting their existence and Yes. >> Yeah. Yeah, we do. Yeah. So, but at least the well the legacy stuff this other guy had been writing was just like, you know, just straight raw queries and and ignoring the fact that we had this nice framework with a nice OM, you know, like you could have at least taken your raw queries and thrown it to that thing. But no, you know, at least in this this one that I work in still, we still have, of course, there's plenty of code that's still legacy. um that stuff just does generally kind of go through a uh database layer that they had put together, you know, but um it's yeah, eventually we'll turn that stuff around, but you know how that goes. >> I mean, we we joke about it, but raw SQL does have its place even with an OM. There's there's times where it would actually be worse for the query to write it through the OM than through raw SQL. >> Absolutely. I see that all especially well it depends on the and I don't want to be dissing uh really dissing frameworks and stuff like that but >> I you know I came from that time where if you were joining a bunch of tables together you know the idea was to make one query call and try to get as much as your data as possible you know so you know I know that there's some OMS and they say oh yeah you could just do this relationship and all that but I know that I'm pulling that record the main one and Then that relationship is generating another query to pull that data. And you know, part of me is like, well, gosh, you know, cuz you could just build your your query and your select and yeah, namespace your selects, you know, your your data that you're pulling and then, you know, hydrate your your models after that and you have all your data without making these extra calls, you know, that that is kind of probably the most efficient way to do it, you know, but I get it. It's it's difficult for a lot of people to pull that off, >> especially when things change because oh my gosh, now you got to go back and rewrite your query. And >> that's the worst part, you know, it's not going to change, you know. >> Um >> Yes, we we've all worked with code that's definitely not going to change. >> Yeah, >> that's that's the nature of working in legacy code. Yeah. >> Yeah. >> It's uh it's one of those things where I I've learned over the the months year the sort of the year just over well actually it's coming up to almost two years I've worked for architect now as we said just before that's that's >> that's quite not scary but it's like mind-blowing that it's been that long. Um >> it's great. Yeah. >> But yeah you you have to be so careful what you touch. It's almost like playing Jenga. Yeah, it's >> you move one. Yeah, you want to try and move move one block without everything toppling over and it's almost impossible. You have to be so careful. >> I've broken entire systems. I've broken entire systems like that. I'm like, oh, this function is horrible. Why are we doing this? You know, why are we returning this value like this? It should just be like this. And oh, then you discover like what else you really broke. >> Yeah. You you change it and you go, oh, that's why. >> Yeah. you know, it's like you're supposed to return junk, you know, you have to, you know, until you go back and refactor those other systems to accept something different, you know. >> Um, but, you know, and I don't I, you know, I worked at one job, it was uh at a company we were train, you know, basically porting NASCAR 07 over to the Wii and PS2. And uh there are these you know the the menu the front end menu was really run by flash. So they had that embedded in the in the engine. And so you it wasn't just like one layer of flash and then a layer of functions in your code. No, no, no. you had your C code, C++ code, and you had to build your communication layer that would talk to the communication layer for Flash, you know, so you had these different levels like that. It was really difficult, you know, and I was like, I just got to get this done. And so one time I took a function that was supposed to, you know, do one thing and I I changed it so it did more than that, you know, like it either returned a value or it did something else. And you know, the other programmer was very upset with me for doing that and I said, "I totally get it, you know, and I'll fix it." And the other and another guy who was basically the lead said, "No, I think it's brilliant. Leave it alone, you know, just leave it, you know, because we got to we got to we got to ship, you know, >> and it's unlikely that the same engine's going to be used again." They always wanted to do that, but it was really hard. Well, Chris had mentioned Unity earlier. So, yeah, there's things nowadays that are a little better. You know, you can reuse. It's like frameworks, right? You want to use the you can just use this framework again, you know, saves a lot of effort. >> I think of the game engine, the one that that feels closest to programming to me is actually Unreal Engine. It puts you at the point where you can do absolutely everything you want to do with drag and drop, which is cool. >> But if you don't want to do that, flip it to code mode and you can do everything in code. >> Yeah. Yeah. and makes for fun. >> Yeah, it's it's it makes it can be harder, but uh you're getting, you know, quote unquote closer to the metal, right? Like you're, you know, with the with the drag and drop, it's going to do some kind of, you know, transpiling of that and converting the code over and then you you have less efficient code, you know, really. Um, it's better to try to make things more efficient, obviously, >> you know. So I I hear a rumor, Frank, that you may be returning to your roots and you may be working on a game in PHP. >> Yes, I am. I'm building this in PHP and it's going to I want to use JavaScript. Uh also, >> um it's it's I'm really kind of old school on this. Um, this was it's a it the idea is it's going to be a turnbased game, but not turn-based that you sit there, you just click and you move your like a rogike or something like that. You're moving a guy around on a screen. No, I'm coming back from my old um play by mail days. We used to play games by mail and not chess, although chess was like the first one back in Victorian ages. That was the first playby mail game. Um, but these are some of these strategy games where you one of them was the one that was really inspired me was called Legend and I believe it's still running Chris. So, yeah. And so, you would get these these turn sheets, you know, and depending on the size of the turn sheet you used, that affected the cost that what you were going to pay per turn for that game. Um, so the bigger the turn sheet, the more expensive it was. So if you wanted to run like a kingdom which had a you know big kingdom and it had you know I don't know foms and all this kind of stuff and characters and troops and stuff like that. It was a big sheet and that was like I don't know $20 a turn you know very expensive. Um I kind of like but I really enjoyed that I would fill out a turn. Not that I ran the biggest level but I would do like a town and maybe have a group of heroes. um fill out your turn, send it off, and then like, you know, a week later you'd get your results back and it would just be this stack from a dot matrix printer, you know, of the results. And then I could just take days reading through this thing, you know, and making notes and making my plans for my next moves, you know, and I really enjoyed that. And I'm kind of thinking that maybe I can hit some little niche with this and just mostly for fun. um build something like that. So I want this expansive kind of world >> um that you know MMO games do it all the time, you know, but people play those games. It's much more in an immediate >> um experience, right? Like you're in the moment acting and moving and doing things like that. This is a little more drawn out, you know? >> Um and it was a lot of fun to in my experience was finding in some other games I'd played. I didn't get a chance to do that in this game called Legends, but there are some other ones where I actually had teamed up with another player and we coordinated together. So, we were writing letters and calling on the phone, coordinating ourselves, and I thought it was a fun experience. Obviously, nowadays, we don't have that. We're not going to have that kind of experience again, except the chatting part, right? Because now it's so easy for us to chat with each other online >> and text even through the phone, you know? But I'm kind of hoping to do something like that. I got this big grand idea of this world and um you know it's going to be a lot of data I think um and I want to have you know this turn by turn thing but I also want to have moments in there where you discover like almost like they would call them instances in the MMO world where you have something you can now play. Um, but this would actually be like maybe a JavaScript uh driven experience at that point. And so that could actually be more like maybe it's actually like a little classic rog like where you're making move by move and things are happening uh as you're moving. Or maybe it'll be real time, you know, because you can absolutely do that with these new JavaScript engines and game engines drawing and it's amazing, you know. >> That's one of the reasons I like JavaScript. >> Yeah. Yeah. Exactly. Yep. That was one of them. Yeah. 3JS. Yep. >> Sounds really really cool. >> Yeah. If I can get around to it. I still It's hard to find time and energy, >> you know. >> It's kind of worrying that I'm now sitting there thinking, well, if you wanted to do procedural generation, here's how you do it in PHP. Here's how you'd pass that procedural generation as JSON to your JavaScript so you could actually envisage it. Here's how you get all of the data out of that because the world doesn't even need to be stored because it's generated from a random key. >> Did you think I like this idea? >> Yeah, I Yeah, cuz Yeah, I was getting through all that. I mean, I was actually figuring out how am I going to generate the world? And that's the thing is a lot of times you don't look at PHP as a game engine, you know, and it it's it in this case it can work because you you can pass a turn uh you know I don't know hundreds and thousands of turns to it and it should be able to just run through that and process things very happily. Yeah. you know, um and then generating maps. I could still do those fun algorithms like you know, as an example, uh um like sound I'm I'm spacing on the algorithms now, but um you know, game of you know, like the game of >> Yeah. noise Yeah. using pllin like a pllin uh noise generator um things like that to generate >> uh maps and each point has a value you know so then you can use that kind of stuff to decide on how valuable a certain location it can be >> right so that was a real fun >> uh fun thing to work work through you know >> um so >> and of course if you've got if you've got a random seed in there you can regenerate the same world without having to store it in a database because you just get the same number. >> It's how Minecraft does it. >> Yeah. >> Right. That's the really And a lot of people don't seem to understand that. I always try to let people know. They go, "Oh, you know, you get this randomness in the computer." I'm like, "Yeah, that's that's kind of hard." And people are like, "Oh, yeah. Well, computers do it all the time." Like, not really. You know, it's fake randomness, you know, because >> it's like, you know, basically the computer is built on a bunch of binary switches. How random are those? You know, your light switch is on or off. How random can you be with an on and off? >> You know, >> we we are heading to the point that they can be both on and off simultaneously. >> That's where we're getting to. That's going to be fascinating. I think that will be the third value, right? >> What is what is the value of your your boolean variable? True or false? Yes. >> Yeah. >> It's not boolean anymore at that point. What are they going to call it? I don't know. >> Trillion. >> Trillion. Trillion. I don't know. We can't use that. That's an amp. But yeah, uh yeah, it's going to be really fascinating. And the and then the storage >> capacity of a system like that is just going to be massive, I think, you know, because you can store so much information like that. >> Each each individual bit can then hold twice the value. So a one terabyte hard drive immediately becomes two terabytes, >> right? Yeah. It'll be really amazing. uh you know, we'll see how processing goes because now you got to have your you need quantum processing to handle all that data, you know, but >> I'm looking forward to see seeing what quantum programming looks like. >> Yeah, I think the first thing we'll see is the is the password cracking, >> you know, >> might be some of the first applications. So now now you've just told the whole of YouTube and all our listeners what your game is. You're going to have to make it before someone else does. >> I I know I'm I'm working on it. I know there's others out there, you know. I'm I'm just thinking, you know, like maybe I can hit this one niche and just have fun with this, you know. And >> yeah, in all honesty, there's there's there's loads of games out there that are very similar. >> Yeah. It's not stop it's not going to stop people still producing the same sort of games. >> Um >> it's been working for the Elder Scroll series for six games. So, >> right, you know, I mean I I I just I've been I've loved games since I was a kid, you know, board games and and stuff. I mean, you can see behind me I've got my board games right up here and, you know, uh stuff like that, old tabletop games. Um, you know, so it's it's to me it's just fun to try to build this game and balance it and add some layers to it, you know, stuff like that. I'm hoping. >> So, talking of um games, do do you know what the first thing I ever wrote in PHP was? >> No. >> Oh, this is testing to see if he does listen to the podcast. >> I've never said it on the podcast. >> Have you not? I thought you had >> it must have been just in conversation then. >> Do you remember the game Risk? >> Yeah, of course. >> Yeah, >> I rewrote Risk >> in PHP. >> Yep. >> That's a great that worked just fine. That's great. It was fun to build because I learned so much of how not to write front end and >> yeah that's the hard part is that map you know and you oh you got to try to like finding path finding through maps like that where you have this non you know this non-polygonal shape you know or >> you know like where's the edges of this thing right and um you know finding edges and traveling through that's you know I like those kind I do enjoy those kind of algorithms you >> I mean I I love finding writing root finding algorithms because they are incredibly complex to work out >> but when you've worked out the path that you want it's like oh well actually that's pretty easy >> and it's that that moment where you go from this is really stupid and a really bad idea oh that's how it works it's fine. >> Yeah I love it. >> Yeah. Yeah. That's a Yeah, that that goes back to just like who can be a programmer or not. You know, I worked with a guy who was also a teacher and he said right away he could always tell who was going to survive survive as a programmer because you have one student coming in and they're just raving about the fact that this one comma out of place broke everything and they were just insensed. They were just hugely angry. And then the next guy comes in and he says, "I found it. It was just this one comma that was out of place and it's working. It's fantastic. And the guy goes, "That's the programmer. He's gonna make it." >> It certainly certainly needs a bit of a thick skin. >> Yeah. And and also the realization that, you know, you got these higher level languages >> and they're just being compiled down and compiled down and compiled down into eventually assembly, right, in machine language. Because assembly gets compiled into machine language and you start talking about those little bits out of place, it's huge. >> Yeah. >> You know, >> you try and explain to somebody that it's a single one out of place and they just look at you blank. But I'm not even using numbers. Right. Let's start from basics. This is a processor. >> Right. Right. Your letter A is not just a letter A. It's got a representational value somewhere, you know. >> Yes. >> Yeah. It's just really Back in the ZR80 days, it was literally a representation of an 8 by8 array. >> Yeah. Yeah. Yeah. That's what that's when you get in if you get boy, if you want to talk to like graphics programmers, man, those guys will really blow you away with the math they have to do with the matrices and stuff like that. It's crazy. It's really challenging. >> I I was excited when I wrote a game engine in C and I could draw a triangle, >> right? I had spent nine months to get a triangle. >> I I was uh like my first attempt at actually one day I decided I would try to draw a map just a hex map with PHP. And so of course that meant using you know GD or I think it was GD you know the the extension for PHP you know graphics there's a couple of them >> um to generate this image on disk basically and then you know send it to the browser and uh that was kind of exciting you know uh then of course my JavaScript that I had on that side had to recognize and know what the shapes were so it was probably not the right way because that meant I had my algorithms in PHP and I had my algorithms in JavaScript, you know, and it's better just to have them in one place, you know, just let the JavaScript do it if you're going to be rendering it up there, you know, let it do it. But, uh, that was a lot of Yeah, that was pretty fun. Of course, now you have these these new graphic JavaScript graphics engines that'll just do these polygons for you. No problem. They want to do 3D and you're like, I don't even want to get into that, you know? I want to do 3D. No, >> that's that's a lot of math. Well, talking about um talking talking about like the first things we ever wrote in in uh programming, I I actually remember the first thing I wrote and I got so excited about it and it was >> Hello World. >> No. Well, okay. Yeah, that is the first thing I printed. Hello world. That is the first because that's the first thing anyone ever does in any any language because that's just like what we do. But I um I was learning I was on holiday on the family holiday and um I was uh looking playing around with C learning C and I built this little um terminal sort of program. You opened it up just asked your name you typed in your name and it just printed out hello and then your name and I was just so excited just by that. >> Yeah. >> And I was in my 30s when I did it. I was like I've made something. I've made the computer do something. It was pretty cool. >> C wasn't too bad. >> C wasn't too bad. I used that at Sony to help me iterate like to dump create tools in no time. So, it was really really nice because it provided all the UI that we needed, >> you know, to do all that stuff. >> Well, funny enough, I I I started off in C. Well, I started off learning uh reading about HTML because I needed to build a website for myself that I heard someone else was supposed to build and it never happened. Um, and I won't go into too much detail. People can always go back to our first episode because I had to talk about it in that. Um, but I started reading HTML and I thought this HTML stuff seems really simple. It all makes sense. It just clicked. is I I understand how to do this h and how easy is it to actually make a game because I've had this game in the back of my head for since I was in like my teens. Uh well early 20s I'd say um that I don't think is out there in the market. I won't say too much about it now because I don't want someone to steal the idea, >> but I wanted to build this game and that's when I did the research of what language do I need to learn to build a game. And that's where I was starting off and and it was funny enough that I found an article that said, um, I'm going to tell you why you should learn C over C++ and then I expect you'll probably go and learn C++ anyway. And it was it was quite an interesting article trying to compare the two languages to uh well the the it was trying to say um playing golf. You wouldn't go and buy Tiger Woods golf clubs. You go and get something that's a bit more forgiving, a bit easier for a beginner to to use. And that's what C car C sharp is is like the more beginner friendly. So that's why I started learning it and then obviously when I was working at the school I was told I had to look after internet which is in PHP never heard of PHP at that point. Um and then just yeah that's how I got into PHP but um I still have the back in the back of my mind about this game and I'm now wondering whether to do it in PHP. >> Right. >> The answer is yes. >> Yeah. >> Yeah. I think I I'm going to try and do and do do it as a I mean these as we as we know I don't need to do it as a web app. I could do it as a desktop app. >> I can do it as a mobile app. >> And once we convince Shane and Simon we can do it as a fridge. >> He still wants to build his fridge. >> That's awesome. Yeah. But does it have to be but it still has to be Laravel the Laravel framework. But at least he got that. It does at the moment. Um, and it's it's likely to stay that way for a while from what we understand from the interview we had with them. >> Um, >> they they want to get everything right in Laravel first and then they've got to figure out how to do some of it in the other ones and and it's going to have to be quite opinionated. It will turn into more of a framework, but by the the sort of the language and the things I was saying because there certain things have to be done in a certain way for it to work and Laravel sits very well in that. That's the thing too about Laravel is you know one of the things I do like about it is is when it comes to like rapid application development it's really great for that because you I mean you can spin up that thing I you know I used to work with Symphony most of the time >> and as I you know like way back it was like yeah I I can set this this framework up and set it up and I can display a page but it's going to take me a week to configure it >> just to configure like the firewall and I mean all Oh, it was so much work. And you know, now >> they've got they've improved that now. They've added a lot more scaffolding. So, it's a lot easier now to to kind of get going in Symphony, you know, but it's still, you know, it takes still a little bit more work. Laravel just like out of the box goes, but, you know, like, you know, for a P or like, you know, rapid application, you know, it's fantastic. I mean, te teaming teaming Laravel up and putting Boost in there, getting Clawed on there. I literally within a in about an hour spun up a quick little app to track u my reading progress because I started reading books. >> Um I'm getting into sort of fantasy reading and I wanted to track and monitor like how many pages on average am I reading a day because I wanted to set a target of pages read rather rather than books read. I wanted set pages but uh how many pages to read each day. So I wanted something just to track that track my library track a wish list and those things like that and it literally I had it up and running. I mean it's probably got all some there's some probably some issues with it. I'm sure if we went and sat through the code there's a lot of work needs to be done to it as we know. Um and we talked we talked about this on the show quite a few times about how AI is really good as a tool but you've got to go back and re recheck the work. it won't always do the error check, all the error checks that need to be in there and those types of things. I'm sure that's all missing, but at the moment it's just me using it just to track how many pages I read each day and what books I have in my library. Um, >> and that that's the key difference, isn't it? It it's an app that has been built >> to make your life easier for a specific area. >> It's not an app you've built to go and put on the internet and contain people's real world information. If a bank's vibe coding their mobile app, then I want to have a conversation with them. >> Conversation, I would just leave that bank. >> I think I think that leads on to a really cool question that I I was thinking about asking because I understand or if I remember Frank on one of our conversations, you've done a bit of vibe coding. Has that been >> That was actually my goal. That was my goal with my game. I thought let's try to vibe code this thing because it'll be kind of a fun experiment, right? Yeah, >> talk us through that. Tell tell us what you found. Come on, let let's let's talk through this is I think this is a really interesting conversation. >> So, I wonder and I spent I probably spent days like days just composing my context, >> just the prompt that I was going to give the AI because I thought I was thinking about this going I need to tell it about the framework, the environment it's going to work in. What are my goals? What are we going to do here? um how this is going to work. um all these different different little things I was building up and it was you know several pages you know of this document and then I you know dumped it in there and it proceeded to pump stuff out and I was working with a friend a friend of ours um um uh Kendrick as a matter of fact um and he was using claude you know code >> so he said hey let's throw it in claude code and it it did a pretty good job I thought of kind of building out the initial structure >> um and things like that. And um but then of course I'm not using cloud code and he was using a very expensive version which is I'm not going to I mean $100 a month or I don't know what it was, you know, to give you a lot of tokens. But one of my experiences I was finding is that maybe it's because it's a game that has some rules in it and some depth to it, you know, some data depth that I could run out of tokens kind of quickly, you know. Um, and then it it sometimes it was just take off and I still have this experience where it just takes off in a direction. It's like, oh, I'm going to try to figure out this problem. I'm going to do it this way and I'm going to do it that way. And I'm like, what are you doing? Why are you doing it that way? You know what? I don't understand this. You know, you're what do you mean you're using Python to generate my PHP code? What? You know, I have an editor right here. Why are we not using the editor? You know, it's like what is this? You know, eventually I had to honestly I had to give up on the vibe coding thing because it was driving me crazy because it was just taking off in directions and I had to roll those things back and I'm not great sometimes at these micro commits, >> you know, like going to a point I guess maybe because I get excited. I'm like, "Oh, this is going in a direction. Let's go. Let's go. Let's go." Instead of like stopping and maybe committing that and committing. So if it starts to go bananas, you know, I can just revert back a few steps cuz sometimes it's like you're you're why are you getting the the gasoline in a torch? What are you going to do to my code? You know, >> I mean, it's just crazy. Um, my best experience with the AI is just really helping me with tests. >> That was really what was helping. Um, and even then, like you're saying, you have to go back and reread it. Man, I'm watching that thing as it's building it. Every time I build something, I go look at it because it's adding stuff into the tests that it's like almost like Croft. It's like, why are you doing that? You know, there's no need to count how many records we have before you even insert any. >> Mhm. >> That why does that matter? you know, um I can understand some cases, yeah, that that could matter if you're supposed to be starting with a clean slate and adding it and you've only added that, you know, but it's just yeah, I haven't found that was one of the things I think it wasn't too long before I messaged Eric and said, I'm not worried about my job when it comes to AI, you know, right now. >> Yeah. I mean, we we've we've had that conversation on a couple of the quite a few of the the episodes AI comes up and um my my experiences is so with that reading um blog app that I built, I did I did like you did. I bid did a massive long prompt of everything that I wanted in that um and I let it run. So, I just did it, let it run. I went off probably walk the dogs or something and came back. None of it worked. So, so I then >> would have been the most beautiful code you'd ever seen. >> The code would have been brilliant. It just wouldn't do what you wanted it to do. No. >> How brilliant is that? I don't understand that. >> So, I then ended up going, "Okay, right. Let's let's break this right down and and and almost going down to not kind of like the micro parts, but going, okay, I just want to be able to add a book to the database." So, we worked on that and that wasn't it wasn't just one prompt. It was a few other prompts. It took a little while, but we got there and it worked. And so, although I've not got all the features in that app working that the way I want to and in fact me and Chris were talking on Friday, I've got even more ideas um to add into it, which will be really cool. Um I will still I've just I've learned you just do baby steps, >> little baby steps. Check that works. Once that works, move on to the next one. >> Yeah, smaller bytes. Yeah, yeah, Joe has even mentioned that just in our app. Yeah, >> it was interesting. >> I would I would even go smaller than features because a feature could be I want to store this in the database. Great. >> Yeah. >> What are we going to do to validate it? What are we going to do to take it from the user? What are we going to do to ensure that it's stored in a safe way with the correct indexes? what are we going to do to ensure that we can get this back out again? >> Right >> now, I would go I want a model for a user. >> Yep. >> And I'd focus on that. Now, I want a database table that matches the model for the user because now it's got something to stick to. >> And it's keeping it small enough that it understands what it's doing. What actually happens behind the scenes is context loss. So, if you give it this great huge thing, it's going to be super excited to do everything right and about 30 seconds in, it's going to go, I have no idea what you were talking about because I've not got that many tokens. >> Yeah. >> Yeah. So I mean when I it depends of how big the the feature is because there's another app that I've been working on um that I've I've decid this is my the first experience using AI because um I wanted to use a JavaScript library to uh generate a chessboard and its pieces and then have all the rules of the game built in. Um, there is there is a there is a a PHP package that does it, but I didn't want to have to keep calling back to the server to get all the information. I thought if I can all be in JavaScript on the client, brilliant. I and I I I'm not a very good JavaScript developer by any means. Um, I I'm quite open about that. So, I thought, right, let's get let's get Claude to write this for me. And it was. And I'm still not there yet. There's still a few extra little bits, but I had to break that whole feature down that I was trying to build into the tiniest little almost uh actions, all the different actions like, okay, I need to be able to move the pieces and the pieces those moves are then recorded in an in in a string because I know I they need to that string needs to be then put into the database or it's got to be updated or have an autosave or and all So, um, that's taken me a long time to work on. I keep going back to it every now and then. Um, and then I'm just going to throw at Chris and say, "Can you read that? Make sure it's it's not doing anything stupid because I because the JavaScript is not something I'm going to pick up very easily because I'm not, as I say, JavaScript developer." So, >> I I will just like you said, I'm not worried about AI taking jobs. Um, I don't hate on AI like a lot of developers do. What was interesting the conference that we went to on uh Friday, me and Chris, they they quite a few talks seem to try and bash AI. But if it's used in the correct way, I think it's a really really good tool. Really good tool. And >> it is is breaking things down slowly. And we do have need to go back and check and put things in. I mean, this this thing to do with the um with the chessboard, the buttons aren't where I want them to be. I'm not going to sit and try and write a prompt to tell it where to move them. I'm going to jump into into the the code and just change change the um the tailwind to get it in the right place. >> Do it yourself. >> I'm going to do that myself. But it's there. It's done the bulk of it. The functionality is behind the buttons kind of is working what how I want it to. I then just need to make sure all the safety stuff is there and it's not doing anything stupid and just get it all in the right place. >> Yeah, sometimes it's it's it's more work sometimes just to compose the prompt. >> Then just go do it yourself. >> And I So I'm picking my battles. I'm picking my battles. What can I what I could change that faster than it would take me to write the prompt. So I'll just jump in. So I like the the the reading app I'm using filament within Laravel. >> Um which as a lot of people know I'm a massive fan of filament to be bring up almost anything I but I think I'm building everything I ever built in in filament at the moment. Um but I I can jump in and just change that that array for all the for the table like get rid of get I don't want that column there right delete that. I can do that faster than I can write out. Now, delete this column from that table on this view. >> Right. >> So, you pick you pick your pick your battles. >> What's what's what's uh what's Joe on about now? >> So, it's talking about to making sure that it doesn't spend a ton of time running down the wrong path because every second it's running the wrong way, it's more tokens. >> I have had it go so far off track, it's in an entire separate country. I've I've had it happen with Copilot where it's like, "Oh, you ran out of, you know, I don't think it uses tokens as a as the term. It uses something else, but says you you've run out. Uh, you can start over or tell it to continue." And I'm like, "Well, >> we'll obviously continue. >> We'll continue, you know, but I guess, you know, but you got to realize that it may be have lost some of the context, right? Like it's only, you know, I think of it as a programmer like you're telling me I got a context. Well, I bet you there's a stack, you know, there's a stack of data it's got to walk back through or forward through or whatever, you know. So, >> and that stack can only be a given size dependent on what account you've got and varying other things. >> I programmed on a 48k RAM machine. I know what limitations of memory are. >> Frank, you have no idea. I was on a 16k machine. >> Well, I started on smaller. Luckily, it got up to 48K. I mean, if if we really want to go back, the smallest machine I've ever programmed on is the ZX80 with its entire 1K. >> Yeah. >> Oh my god. >> And most of the people listening are like, "What the hell is a K?" >> Yeah. >> Yeah. So, another another thing that I've used AI for um and I think has done a fairly good job is actually doing a bit of research. So when I decided I mean don't talk about this a lot but when I decided I was going to start reading again a lot of people I do say that I'm that I'm dyslexic so reading is not something I do very quickly and I avoid it when I when when I can but I have got a few books people have bought me over the years I'd like to read and I stumbled across and I don't even know why but I stumbled across this um uh video of someone and I can't remember the names of it's you'll have to message me and I'll send you the link. But it was a it was titled how how I read five more books in a month than everyone else. And one of the tips he gave was don't count how many books you read in a month. Count how many pages you read. Have your target is how many pages per day as I was saying before. And that that kind of motivated me. Well, if I just read one page a day, I'm still reading and I and reading is practice and it's something that I do avoid. I mean, I'm not a bad reader, but I'm a bit of slow reader. Um, so when I then thought, what sort of books would I like? And I think I was watching I think it was the Equalizer, the films. There's three of them. and he's throughout the films he's reading the top 100 books everyone should read or the he's got a list of 100 books he's reading and that kind of spurred me on going okay what are those 100 books and I looked at the I did a bit of research and I thought what what sort of books would I be into and I've decided fantasy I love the Lord of the Rings uh films I've never read the books um however I have just bought you can't really see it but it is behind me just there standing out I've just bought the Hobbit of version of The Hobbit, which is back there. Um, and I thought, okay, fantasy, sort of medieval type fantasy with bit of magic, sword battles, big epic things, and like big worlds and things like that. That's what I really like. So, I I then just entered all that into u into chat GPT. So, can you find me like the top 10 fantasy serieses that fit into this description? and I'd just go back to it every now and then, tweak things, and it's given me a reading list. Not just a reading list, but it said, "Okay, here's a good series to get you into fantasy. It's not as heavy. You don't have a lot of different points of views and really complicated magic systems." So, it's done all that research for me. I could have kept Googling all that and reading loads of articles, watching loads of videos of everyone's and then collecting all this. It's it's done it for me. So, I'm like, "Okay, brilliant. Now, I've got a bit of a path." And as as I read stuff, I can then kind of get an idea of what type what sort of type of subg genre I lot I want to go down. I can then feed that in. So that's another thing I find that AI has done done really well for me. >> Um >> so that is very very true that AI is really >> what the I've just seen our Discord just blow up. >> Yeah, that is >> FS FFS. What are you doing to us? Well, he's living up to his name. Yes. >> Yes. I nearly said that on air then. >> So, yes, the AIS can be exceptionally good at research, but they are seriously stubborn if you tell them that they're wrong. Gemini is one of the greatest tools I've seen for researching something, >> unless it's wrong. Example, in our internal Discord, we had a conversation recently where a picture was shown of Taylor and another person in a Ferrari, >> right? >> I gave this to an AI. It would refuse to believe that it was Taylor. It was the first employee at Uber and it would not hear anything otherwise. I even gave it a link to Taylor's Twitter and it said Taylor is lying. What is it? Mega. >> It It's just weird. I mean, why would Gemini >> be so sure of itself when I'm giving it evidence to the country? But then I think, is that not like every developer ever that will believe that they're right and everybody else is wrong? >> And is that actually bias creeping in from the way that it's been trained? Because on the internet that's how we all speak. >> Right. Right. Because it's not really intelligent. You know, it's a structure word. >> It's a data structure and an algorithm that's telling it how you find this information or how it's going to be constructed or of course it's deeper than that. But >> yeah. >> Yeah. >> Boil it down to its roarest level and it is just what is the next most likely word in this sentence. >> Yeah. And I have seen like when they've done some comparisons of you know like I think it was the amigga an old Amigga chess app. >> Yes. >> Up against some AI and it was clobbering this brilliant AI. It just the AI had no chance. The amigga was clobbering it in turn. It just moves. And one point I think they asked Chad GPT hey do you think you could you know how are you at chess? Oh I'm fantastic at chess. I have blah blah blah this many ability to look up this and that. He says, "Well, how about if we pitch you against this amigga chess app?" He says, "Oh, I give up already. I'm not going to even try." >> Mhm. >> Well, funny you say that. We I remember there was a video of a of um someone it's quite big in the chess world um of content creation in on YouTube and he analyzed I don't I don't think he actually did the game but he analyzed it um of two AIs playing chess against each other >> and this is not that long ago 18 months ago I think and no word of a lie these AIs is were one not following the actual moves. So like and they the move the pieces moved in slight in different ways this time. >> They were just putting pieces back on the board just pieces just appearing on the board and making a move. It's like hang on that piece isn't actually there. >> So as AI can't play chess it can't handle chess at all. You need a proper chess that I mean that's like and that's like it's not like I'm trying to say you know I don't know I mean >> you there's no randomness with chess right other than us ourselves human beings making a mistake it it's very straightforward it's very numeric it's like you know >> but there's there's chess engines out there that's the thing there are computers that can play chess so why can't AI yet if >> because the two processes are different >> Mhm. Mhm. >> So an LLM is designed to one make its user happy. >> Two, >> that's why it loses it chess. >> Yes. Two, to predict the most useful thing next. >> Yeah. >> Now you give it >> best >> chess game and it starts losing, the most useful thing it can do is put the queen back on the board. M >> but a chess engine is a different process. It's looking at the probability of the next set of moves in the rules. An AI doesn't actually calculate anything. It just predicts. >> It doesn't so much. Yeah. So the chess engine what it calculates each move. So it goes a really quick M. So, as you know, by the time you get into the middle of a game, there are so many options, but it will it will it will analyze every single one of those options. It's got some predetermination inside it to score the position. Things like um the pawn structure, you don't want I'm going to start talking a bit chess jargon, so if I do go too far, sorry. But things like you don't want double pawns, you don't want isolated pawns. don't want your knight on the edge of the board. You want your bishops on nice long diagonals, all those sort. So, it analyzes all that sort of stuff. Um, and that is all programmed into it via via the person who's created the actual engine. So, it know like sometime it will value. So, each piece has got value as well in in the game. So, a queen is a nine, a pawn is a one and everything in between. Um, but things like knights and bishops are both for three. However, they're slightly weighted in different points of the game in different in different positions. >> So, they work better in different different scenarios. So, if you've still got all the pieces on the board, a knights are better because they can jump around. If you've got uh if there's less pieces on the board and you're coming to the end of the game, bishops are better. >> Mhm. >> So, that's all programmed in. Um so, it will then go through and analyze each position and try and and and with that an I can't say the words with that an analysis. It will then >> go work out the next move, but it will go it'll keep going and keep going and keep going deep deep deep. And you might set set it to do 30 moves deep and it will get to 20 moves and it goes well this is the best move. It will then get to 25 moves go actually no that is not the best move. This is the best move and it changes because of something that's changed further down the line. Um, so >> and if you look at that, you're also looking at the exponential growth. So let's just say that at the point you are, you only have one possible move you can take to get you out of check. >> Mhm. >> But you've done that, you might now have two, >> which branches to four, which branches to eight. >> Mhm. >> At what point does it become a,024? >> Very quickly. >> Yeah. Because if you think >> is a,024 for every single one of them. >> Mhm. >> You're soon looking at a couple of billion possibilities. >> Yes. >> Well, if you start when you look at the starting position, uh, whites whites to start, there are 18 possible moves to start the game. >> Mhm. >> I think I've done the math right. >> Yeah, it's 18 possible moves. >> No, it's not. >> No, it's not. It's not. It's 20 plus. 20 possible moves. Sorry because Yeah, 20 possible moves. I hadn't done that. >> Forward one, pawns forward two, and then your two knights. So, it's got to be >> Yeah, we've got Yeah, each knight has got two two separate squares it could go to. So, it's 20. Um and then, but the second that's been done, um obviously black then has 20 possible moves. >> Mhm. >> And then once that then that I'm not even going to try and do any maths after that because it just grows. so fast. >> But then it will look at each of the first 20 with each of the second 20 on it. >> So that's 200 400 moves. >> Mhm. >> Then on the next level it will go out and it'll be like thousands of moves. >> Yeah. >> You just get seriously complex and then you've got to think in terms of the data structure that these engines have got to hold are effectively gigantic trees. >> Yeah. And >> LLMs don't have the context for a gigantic tree, which is why they are terrible at chess. >> That's right. >> And thank you for bringing it back on subject. I'm sitting going, we've really gone off track here. >> Yeah, >> that's No, it's fine. It's great to have these conversations and and we could I know we we you and me, Frank, can sit and talk about this sort of stuff for hours and we we do some not not during work hours, but we do talk about this sort of stuff. Uh we get we get >> we don't do that in work hours. >> We we we get we get to >> yeah the conference we'll sit for hours and chat about stuff. I mean that's one I love it that's one of the difficult things I suppose working in a team where we're all remote. Um and even more so for like myself. I mean things have got a little bit easier now with Chris on the team and we're going to try and meet up a lot more because we're only about an hour drive away from each other. Um, so we're gonna try and meet up a bit more. But it's that's the one thing I've had to mentally change is I I'm not seeing and talking to people that we would have a nice long conversation over throughout a whole day. We're we're Yes, John. I'm sure. Um, >> that's why I don't listen to the PHP Arch uh podcast because I'm working at that time. Um, but I the going to the conference and I've only I've done it twice and I I remember the first the last year when we I came over for the first time and it was a bit bizarre because up until then I'd only really know I mean I we've talked for work purposes and things and Frank you helped me a lot with my on boarding and kind of took me under your wing which was very I was very great I'm very grateful for um But meeting you, Eric, John, and the rest of the team face to face, especially after the long journey that I had to get over there. And I literally drop my bags off of the hotel. Eric had ordered me an Uber from the hotel to get over to where you guys were eating. And I walk into that room and I see you guys. I see Eric stands up and he's he's a towering guy. I I didn't realize how tall he was until I, oh, I'm tall. I'm 6'2. I'm like I'm looking up. I don't normally have to look up at people. >> I am a small man. >> And seeing and just seeing the rest of the team and then seeing everyone else that was there because it was a speaker dinner. So there there was Derek was there. There was all these >> I'm like oh my I'm literally sitting in Royalty and I'm jetlagged to that the hill. I was just so tired. I just needed to eat. And but it was nice the week after the for the like the few days that we were all working together. We I think we bonded so well very quickly and I miss that. I do miss that sort of contact. So I love coming over to the conference and >> that helps and it's it's not you're not in an office every day to chat. I mean, we do chat almost every day. It's about something and we might do it in the in the Slack or we'll have a phone call, but actually sitting physically in front of each other and chatting and laughing and joking and taking the mickey out of each other and going out for meals is is a is great and it's certainly something that other teams should do. Buy tickets, come to tech, get them all together. Do it. >> Absolutely. >> Do it. >> Finally get yourselves together in a great environment. >> It's not just It's not It's not just about learning. It's the It's the community and I have said a number of times on this on this show, I talked to people when I talked to people outside of it, tech was like an extended family, not just the team, not just you and the rest of the the guys, um, but the everyone else has sort of just invited me in. And there I mean there were there were a handful of people that come over from from the UK last year. Um, but it was very welcoming. It's the only way I can say it. >> Energizing. It really is energizing. Yeah. >> Yeah. It's energizing and it's the socializing afterward after at the end of the day each time um and just meeting new people and you never know what what comes out of it. It's a bit like yourself um going to the meetups and now you're you're architect because you've been you're going to those meetups. It's more powerful than sitting there with building the most amazing portfolio website. >> If you don't know anybody to show that website to >> Yeah. Right. >> And personality. It's like personality as well. We've talked about that on I think it was probably on the Friday's episode with um >> with Dan. Yeah. >> With Dan. We talked I've talked a bit about personality >> is important to make sure we all work together. >> That's part of the chemistry of the team, right? Yeah, >> I think I think I think Eric and John have done a really good job of of getting a bunch of people together that can just vibe off each other and work and laugh and joke. And I don't there's no bad apple. >> Actually, no. It's in the same game. If you don't know which who's the bad apple, it's normally you. >> You. >> So, but we all it's it's great and it's it's lovely that you've joined us. we get a bit more the listeners get a bit of insight into to you and how you joined the team. Um we plan to have other people from the team on the on the show periodically as well. >> Um this isn't going to be a one-off. We will be bringing other people on. >> Um >> yeah, a lot of fun. >> Yeah, we're we're really running along. Um but we literally the three of us could sit here for ages and talking. >> Yeah. >> Oh, yeah. But I'm hungry. I need to go and get my dinner. Um, Frank, you need to get back to work. >> Yeah, >> before Eric and John come after you. Get in trouble for keeping you away for both in the comments. So, >> I know they I know they I know they're watching. I know they're watching. But, uh, yeah, thanks a lot, Frank, for giving us some time. Um, I hope people enjoyed that little bit more of an insight into some of our team. >> Um, >> thank you. >> Yeah, don't forget tech tickets are on sale. submit your your talks for JStech. >> Get those in. Um I don't John is in the in the chat. I don't know if there has been a actual date set for the closing of call for of call for talks. >> I said it was a month another month and then another month. So it was at the end of this month. So it looks like it's probably till the end of the year. >> Yeah. >> Yeah. Till the end of December. I'm sure John will shout in a second at some point with an actual Frank is the best. >> It must be a friend. >> Um, well, I haven't got my notes up. Hang on. Hang on. What have I got to talk about? >> So, we've got this store thing. >> Oh, yeah. We've got the store. That's normally the last one I talk about. So, he's now throw me like he does every single time. He sends me a list of questions and he never asks them in the same order. So, I just get lost and sit here in silence. Um, so yeah, we got a store. Head over for the store. Um YouTube, get over to our YouTube channel, like, subscribe, and get those uh notifications coming in for when we are got other videos coming out. As I said, it's not just this podcast. We've got the main one of Eric and John, which is on a Thursday. Um and then we've got Scott does community corner and some um tutorial videos as well. >> So, please um but it'll be great to see as many people come over to tech as possible. and say if you you're working in a remote team, persuade your boss. Get everyone over. I'm I mean >> we are being corrected by our boss. >> They just don't promote. They just don't promote. >> Oh, it's an extra week. So, one more week, not >> one more week for JStech. Uh >> yeah. So, we're down at December the 7th. December the 7th. Make sure you get your talks in. Okay. All right, Frank. Thank you very much for joining us. Thank you everyone for for watching and listening and we'll see you at the next one. All right. Bye. >> Bye-bye. >> No, that's it., YouTube Video RBYBfwN25Rs, YouTube, 01kae3eemzyxhfsvfdyvbeapwk.