LongCut logo

How to build apps with AI: Xcode, Claude, Codex, and more!

By Paul Hudson

Summary

## Key takeaways - **Xcode 26.3 Integrates Claude and Codex Agents**: Xcode 26.3 and later have agentic coding built right in with Claude and Codex baked into the IDE, accessed via command zero or the sparkly line button. It's a huge step forward even in release candidate 2, with tools to read files, build errors, and preview screenshots. [04:02], [04:25] - **Start Small, Iterate Incrementally**: Throwing ambitious prompts like a fully featured chess app with AI opponent burns tokens fast and risks failure, but starting small like a basic chess board then adding players and AI step by step allows small course corrections and better results. AI breaks down large problems into small steps just like humans learn piano by scales before Mozart. [07:38], [08:57] - **Claude Builds Chess AI with Minimax**: Claude generated a 587-line Swift chess model with rules, then a minimax AI opponent with alpha beta pruning and depth four, creating a playable app despite concurrency struggles. It knows rules like castling and responds reasonably against human play. [09:34], [16:02] - **Attach Screenshots for UI Matching**: Drag screenshots into Claude or attach in Xcode to remake UIs like a dark green chess board with gold brass borders from an iOS 6 Game Center style without detailed instructions. It evaluates designs from sketches or Dribbble mocks to match your vision. [19:14], [21:23] - **Multi-Tab iTerm for Parallel Agents**: Configure iTerm2 with AI1-4 tabs plus commands tab using shift-command R, sending inputs to all tabs simultaneously via command-shift I, then individual work like Claude in tabs 1-4 and git diffs in tab 5 without conflicts. Rename tabs with command-I for tracking like 'documentation' or 'stalkit'. [29:04], [31:00] - **Grill Mode Extracts App Ideas**: Prompt Claude 'make this an incredible app, ask comprehensive questions to design it' to grill you on use case, style, players, features, turning a trivial scorekeeper into a production-ready retro scoreboard with celebrations and history. It explores ideas you hadn't thought of like unlimited players. [38:37], [41:47]

Topics Covered

  • Break Down Complex Apps into Tiny Steps
  • Start Small, Iterate Incrementally
  • Grill AI to Refine App Ideas
  • Human Judgment Shapes App Soul
  • Agents Files Override AI Defaults

Full Transcript

Hello folks. Welcome to this special live stream about building apps with AI.

This is going to be a long stream. I

think at least an hour, probably more.

Uh and we'll cover a whole range of things in one place. This is going to be a lot of information um for a range of people and that's okay. Um it's a huge topic and be clear up front what we'll

be looking at. So you can say yes that suits me or not. You can fast forward if later watch later on if you want to. Um,

we'll start out with the easiest stuff, which is working with Xcode 26.3 and later, which has Agentic coding built right in. So, your Claude and Codeex are

right in. So, your Claude and Codeex are similar baked into Xcode these days.

We'll start there, nice and easy. Then

we'll go on to look at command line tools like Claude, Codeex, and Gemini.

I'm going to show you controversially how I configure my terminal to get the most from agents. We'll look at ways to make AI smarter using agent files and

skills.

Then we'll look at different ways using AI tools rather than writing code for you. It can do other things too,

you. It can do other things too, including how I work with other tools like chat GPT and MidJourney, including

uh how I force GPT to really fight me as I refine ideas. And yes, we'll talk about vibe coding as well. It'll all be in here somewhere. Along the way, I'll

be taking questions. So, you can see this um question area on the the right hand side here. Uh I'm sort of vaguely watching out of one corner of my eye, looking out for questions uh that might

come through. So, uh if you want to ask

come through. So, uh if you want to ask questions along the way, please do. I'll

try to answer them as we work our way through. I'll do my best. If I miss it,

through. I'll do my best. If I miss it, you won't be a surprise because there's a lots of um people here. Um, ask again, harass me. Um, I'll do my best.

harass me. Um, I'll do my best.

Um, if you've never touched AI before, this will be a really useful stream for you. And even if you consider yourself

you. And even if you consider yourself be pretty experienced with AI, I think you'll learn something new along the way. Now, before I start, I want to make

way. Now, before I start, I want to make four things abundantly clear. First, and

most importantly, this stream is not sponsored by anyone. I don't get paid by any company featured in this stream. I

haven't offered special deals or free tokens, whatever with any of them or whatever. Nothing like that at all.

whatever. Nothing like that at all.

These are my honest thoughts. I just

want to help you make great stuff. The

closest I am to being sponsored was my friend Cesar said, "Could you mention my killer app, Umbre?" Yes, Cesar, I can.

It's a great app for tracking recipes.

That's it. And it's free. I didn't get money for this. Like, I quite like the app. Um, but that's it. That's as close

app. Um, but that's it. That's as close as I'm being sponsored. Um second thing I have very low tolerance for folks who are abusive in the chat. You will just

get an instant lifetime ban. I have

again very low tolerance. Uh thirdly, I also have very low tolerance for AI bros who will shout again and again how the

AI model they use is much better than whatever AI model you choose to use.

Seriously, no matter what you pick, someone will still tell you their things better. Okay? So, if I were you, I'll

better. Okay? So, if I were you, I'll just learn to ignore them and have fun.

And finally, if you watch this stream and think, actually, you know, AI coding is not for me. That's perfectly fine. I

said in my recent newsletter, if you sit down at Xcode every day and you love writing code, you can and should carry on doing that unchanged. You still have

complete control over everything you build. You still have to dream up and

build. You still have to dream up and deliver everything you could before. And

that pure joy of bringing ideas to life is still there waiting for you. So

you're having fun hacking with Swift right now. Don't feel bad about ignoring

right now. Don't feel bad about ignoring AI entirely.

Okay, let's start with the easy stuff.

I'm going to close ombre. Sorry, Cesar.

Close ombre. I'm going to um Xcode. So,

I'm running 26.3. Okay, 26.2 and earlier had some AI assistance built in, but it's gotten so much better from 26.3 onwards. They integrate clawed and codec

onwards. They integrate clawed and codec agents right into the IDE. So to start out for now making a new project uh and I'll choose a Mac OS project. It's a bit

faster to run on my Mac. I'll call this thing example one. Nice catchy name.

Swifty. Next and create.

And uh I have unsurprisingly ahead of time configured my Mac to talk to both claw and codec. You don't want to watch me try and sign into these things. And

so when I go to this button here, this sort of sparkly line thing, which is the coding assistant thing, um you can get that with command zero. Um bring this screen up here. Um if it's your first time doing this, it's going to ask you

to sign in. It's going to ask you to make accounts on claude or codeex and sign into them. Um connect your account to them right now. I add that ahead of time, so I don't see it here. I should

say though, command zero um took some retraining for me because for a long time, no matter which uh inspector you in, sorry, which navigator, sorry, command zero meant hide them all, and

now it means go to the AI agent, which confused the heck out of me. Uh no end.

Anyway, I've reconfigured itself to talk to both uh Anthropic and OpenAI, Claude and Codeex. You can get some work done

and Codeex. You can get some work done with a free OpenAI account. I believe

Stuart Lynch has a video on this. What

can you make with a free OpenAI account because right now they've put in place larger token limits to encourage folks to try it out. Tokens are basically the characters you're being sending, not characters, but chunks of words sending

to and from LMS. And so they've put in very generous free limits right now to try and get folks um hooked presumably.

Um so he managed to build a whole app uh with a free account. I suspect it would have run out immediately after the account was made. Uh the app was made, but he did a fair chunk. Uh and he was

there. Ah, Praesh. Thank you. Anyway, um

there. Ah, Praesh. Thank you. Anyway, um

if you are trying to use it free, you're going to find it frustrating on a regular basis because if you want to get any work done, you're going to need to pay. You're gonna need to pay. Uh

pay. You're gonna need to pay. Uh

there's no way around at this point because you will blast through tokens very, very quickly. Folks asking, is the stream available later on? Yes, streams

available later on. It'll be on YouTube forever and ever and ever a day. Okay,

so the best way to start with aic coding AI is just to type the first thing that comes into your mind. Seriously, just

give it a try. Like, whatever pops in your mind, just try it out. And I'll be honest with you, for some reason, you're probably thinking, I'm going to make a to-do app. Like, I don't know what it is

to-do app. Like, I don't know what it is about Swift developers, but we love writing to-do apps more than most musicians like writing love songs.

But just be brave. Just type in this box wherever pops into your head. Just try

it out. You want to do app, go for it.

Don't worry about getting it wrong. You

just wait for more tokens to arrive, then try something new, right? Try

something else. Just throwing things at the AI is a great way to learn and you're going to screw up so fast, but you'll learn so [snorts] much faster.

Now, I have uh a Claude Max plan.

actually have two Claude Max plans and so I have a huge number of tokens and so I'm going to say let's just let's be let's be ambitious here. I can chat to you while it's building. I'm going to

tell this thing down here in the message clawed agent box. I'm going to say um make a fullyfeatured

uh chess app with an AI opponent. That's

a really bad prompt as you'll learn later on, but for now I'm going to say just go to town. Now that's a lot of work. Now what would it take for you to

work. Now what would it take for you to build a fully featured chess with an AI opponent? answer is quite a lot right

opponent? answer is quite a lot right that's for me easily a day of work I expect to get the the rules right and castling and on pass on whatever there's

a lot of work happening here for me I reckon a day uh and I've I've asked claw to do I'm obviously very very demanding and you'll see it's just started work already it's it's going it's right now and it's what it's done is the first

thing it's done is it's read our files and it's made this plan for itself it's just had a go at breaking down this large problem. How do I build a fully

large problem. How do I build a fully featured chess app? Whatever fully

featured means, of course, uh with an AI opponent. How do I do that? The answer

opponent. How do I do that? The answer

is you don't just, you know, build the app. You break it down and you break it

app. You break it down and you break it down and you break it down. So, you can see it's got a list for itself. Well,

first I'll make the chess model board pieces, logic, rules, then AI opponent, then a chessboard view, then game controls, and so it's it's made this plan for itself, and it's going to work

through these things step by step. You

can see already it's done one of them here. made the uh board pieces move

here. made the uh board pieces move logic and rules here. So, it's going to work through these things step by step.

And this is is what allows the LLM to build bigger more complex software just the same way we do. You know, you don't say how do you learn piano step one

become Mozart, right? You you break it down to very very small things. Learn

this key, learn this scale, learn this piece, and you get bigger and bigger and bigger. And what will happen is it's

bigger. And what will happen is it's doing the same thing. It's broken it down to a whole bunch of very small steps and it's going to work through them step by step by step. You can see as it's working, it's kind of talking to

itself, just chatting away at what it's doing, what it's working on. It's

written this file here. You can go and view it if you want to. Here we go. So,

read out this file here, which is [laughter] uh 587ish lines of uh Swift code. Um, someone's

asking, am I on 26 RC1 or version two?

I'm on RC2 which shipped yesterday.

Thanks Apple. [laughter]

Anyway, um it's it's already written, you know, almost 600 lines of Swift and that's just for the very first check in its list, right? So, it's doing a lot of lot work along the way that's written

the chess AI now. And if I go back to the uh project navigator, you'll see it actually working. Here we go. Here's the

actually working. Here we go. Here's the

AI it's written for us. This is a miniax uh with alpha beta pruning. You can see how it all works out here. Where to try and place a middle game for the king and

similar. So, it's working very hard to

similar. So, it's working very hard to build a fairly good chess AI. And if

we're lucky, we'll see it beat me live on the stream. Um, and what's happening is it's working again. Command zero to back the conversation. And it's going to go blank for me. Cool. There we go. Um,

it's working. Um, it's still talking to itself. It's talking out things. Now,

itself. It's talking out things. Now,

let me do this. Now, let me do this. So,

you can see what it's doing. You can

track its progress along the way.

And if at any point it hits problems, Xcode has built-in tools to let it find those problems quickly and resolve them.

And there's a whole bunch of these built in. It can read the current file you're

in. It can read the current file you're in. It can read the current build errors

in. It can read the current build errors you have. It can even see the contents

you have. It can even see the contents of the preview canvas. It can get a screenshot of the preview and read that preview and say, "Oh, you have this problem here or the the alignment's wrong, whatever." And it will use that

wrong, whatever." And it will use that to evaluate how it results.

Now, while it's working, you see it's getting there slowly. It's actually on to the last step already, which is obviously remarkable. I love it very

obviously remarkable. I love it very much. Um,

much. Um, it's working. You can see here it's

it's working. You can see here it's responding. And I can't type in that

responding. And I can't type in that box. I can't send more messages. I' got

box. I can't send more messages. I' got

to wait for it to finish doing all its work and then I can uh carry on. For

folks who are more used to doing other ways of working with LMS, which we'll look at shortly, the command line and similar, this can be frustrating. We

kind of want to do stuff as we're uh as it's working. Oh, try this, try this,

it's working. Oh, try this, try this, try this, and and give it a nudge as we're um you know, as it's thinking, just queuing up things as it goes. Uh

and that works better. Someone asks

here, is it train iOS 26? Does it liquid glass? So, Apple behind the scenes

glass? So, Apple behind the scenes provides Claude with some preie of training. We recommend this, this, and

training. We recommend this, this, and this for things like liquid glass. So,

it knows how to adopt liquid glass out of the box. does a very very good job of handling the APIs because Apple's given it files to read. Now, ideally, Claude is training those ahead of time. In

practice, it isn't. It's fed to Claude as your requests go in, which means those extra files eat into your token budget, how much you can spend uh per every sort of four or five hour block or

per week or whatever. Anyway, so it's it's it's building now. It's it's hit naturally some concurrency problems. Welcome to the club, Claude. It's now

trying to think about making it sendable, nonisolated. Yes, we can now

sendable, nonisolated. Yes, we can now inflict swift concurrency on LLMs for fun.

Um, yes, DB Shelly, that the files sent to GPT as well. The files are sent as, you know, effectively instructions for the bot ahead of time. Here's how you can work with our stuff. It's not just

Claude, it's everyone here. So, it's

building time now. It's still main actor. It's arguing with itself. It

actor. It's arguing with itself. It

probably hasn't realized yet. uh has

this they finally fixed it. It's got

main actor everywhere because that's the default thing for uh new Swift app projects in Xcode 26. So it still have a go. There's some warnings. I reckon it's

go. There's some warnings. I reckon it's probably fine though. I reckon it's probably like a warning at this point.

It's like eh [laughter] it's getting worse.

Oh, this is currency, folks. Um it's

going to do its best and we'll see how it gets on. Anyway, um so it's it's going to send the information up to Claude about uh the liquid glass and

similar, which is how it works. Anyway,

um so you can if you want to say stop, you can put this thing out of its misery and make it stop. Um if you want to um you can even if you want to stop and

then try again, it might get a bit confused with half an old thing and half a new thing. Um but you definitely can't send messages in the meantime. You got

to basically wait for it.

>> [sighs] >> Anyway, keep in mind this is just the beginning. This is this was this shipped

beginning. This is this was this shipped the very first time two weeks ago from Apple. Um it's not even out of release

Apple. Um it's not even out of release candidate status yet. This is release candidate 2. Uh and as a result, it's

candidate 2. Uh and as a result, it's going to get more and more and more. The

fact the Xcode team shipped this already is a huge step forward by itself. So,

even though more experienced AI folks might find it frustrating, they want to use a terminal or codeex or whatever else, I'm still really glad to see it.

Like, I'm genuinely well done for the team. I have no doubt we'll see a lot

team. I have no doubt we'll see a lot more at dubdub this year. All right, it claims to have uh built. I might kill it at this point because it's really

struggling. Um, I might press stop and

struggling. Um, I might press stop and see what it's going to do. It's now

struck as something else. Um, I'll just press command R and hope this thing's going to run. Uh, it had a good go at concurrency and really struggled because it is hard. And there we go. There's our

chess app. Now, the colors, I think one's white and the other one's white. I

think the white Hello dogs. Uh, the

white ones you can see through are probably the ones that are white and the white ones that are filled are probably the black ones. I suspect that's um Claude not being terribly smart. Hello

dogs. Wait nicely. Sorry. Dog treats are dog tax required. Uh, oh, how many tokens does it take? Good question. So,

let's go and just quickly look at my clawed settings. So, if I look here,

clawed settings. So, if I look here, we'll see how much I burned through my token usage. Half which is probably

token usage. Half which is probably currency by itself. 5%. So, not a lot. I

mean, I've used hardly any tokens. Quite

frankly, we're doing fine, [snorts] right? Uh anyway, so does it work? Let's

right? Uh anyway, so does it work? Let's

find out. I'm going to do traditional move forward. So, you can see it knows

move forward. So, you can see it knows the correct place to move forward. I'll

move to here. And then it's black to move. Black move the knight to there.

move. Black move the knight to there.

So, it's threatening my pawn. So, you

can see it's having a go. Uh, Maurice

Soul asks, "How do graphic elements?" I

suspect these are going to be SF symbols. Uh, which is obviously a great

symbols. Uh, which is obviously a great choice of Claude inspect here having her own pitch will be slightly harder to do.

I'm going to defend the pawn like that and then it's going to move forward.

Yeah. So, it's it's doing a good job.

So, it's got a reasonable AI. Um, I

suspect you wouldn't want to ship that AI. Want to have gameplay kit or a

AI. Want to have gameplay kit or a custom chess based AI, but it's done a good job. You can see it kind of works.

good job. You can see it kind of works.

White to move. It's tracking the moves down here. What's up here? New game is

down here. What's up here? New game is white difficulty. Oo, depth four. Nice.

white difficulty. Oo, depth four. Nice.

And then new game. So, it kind of works.

Now, even though it is fun to work like this, a much much better idea is to start small and work your way up. Like

build a small thing first. This respect,

you know, just give me a chess ball with pieces on now. Make it two players, then make it AI. You want to do a small thing, then fix that to be correct, then get a feature over that, then fix that to be correct, then over that to be

correct again and again and again and again. Otherwise, it has a much bigger

again. Otherwise, it has a much bigger chance of going completely off the rails, burning through tokens uh as it did here. Keep in mind, I've got the

did here. Keep in mind, I've got the clawed max uh 20 plan uh which gives me a very very large number of tokens. That

little concurrency fight would probably burnt through a regular pro plan straight away. You'd run out of tokens,

straight away. You'd run out of tokens, so it wouldn't been very pleasant.

Anyway, building this way step by step by step by step incrementally means you have lots of small course corrections rather than try oneshot

stuff. Uh Eronb, this is using Claude

stuff. Uh Eronb, this is using Claude currently, but Codex is one click away.

I have that available as well. So, I

know some folks claim you can oneshot apps and ship to the app store. Don't be

like that. Make great apps still, folks.

Polish your apps. Try them out. Try out

dynamic type. Try out voice over. Try

out different device sizes. just make

great apps still. In fact, AI makes it faster. We don't want to cut corners

faster. We don't want to cut corners still. And as you work with a smaller

still. And as you work with a smaller steps approach, you're going to find that being specific will really help because you're all developers, you know, you can say things like, uh, make this

corner radius be 16 points, whatever you want to, right? You're being precise about what you what you want here. But

also, you're going to find that being vague is fun, too. Uh my daughter Charlotte, who's 12 years old, just shipped a game for iPhone. Uh and it uses prompts [snorts]

inside there. She's like, "Make it look

inside there. She's like, "Make it look pretty."

pretty." And that was it. And she went, "Oh, no, make it look prettier. Add sparkles."

And what happens is it allows the AI to kind of riff on things as it goes. And

often has ideas you did not have. Has

original. That's a very good idea. Well

done, Codeex. Or well done, Claude.

That's a great idea. Uh and it's a powerful way to work. You know, you want a bit of you being very specific, but give it some room to wiggle us all around as well and see what happens.

Uh, again, Claude can see Swift UI previews and it can also read error messages. So, when things aren't quite

messages. So, when things aren't quite right, like it was happening here, it can try to figure them out. It can try and fight its way through. I don't want don't really want to know what crimes it committed with um a concurrency to make

this thing, oh yeah, there's still some concurren concerns around this kind of thing. Um, it it'll try. So when things

thing. Um, it it'll try. So when things aren't quite right, it'll try to figure it out. But you can also attach

it out. But you can also attach pictures. So if you want to say, you

pictures. So if you want to say, you know, make it look like this rather than using words, you can say there. Thank

you very much, Vulcan CCT. You can look at screenshots, too. Yes, you can. So

you could say, um, I'll press around here, attach a picture. I'm going to attach a a file, new file. I'm going to select some assets from a game I made in my previous live stream. Uh, I'll attach

this board picture. This is like a kind of iOS 6 find my friends felt. Remember

the old game uh games app uh on iPhone game center. That's the one. Game center

game center. That's the one. Game center

that I attach here and say look u I love this design. Make it uh look like uh

this design. Make it uh look like uh look I can't type. Sorry. Look like

this. Don't worry about the concurrency stuff. Oh,

stuff. Oh, because otherwise it'd be in it'd be in concurrency hell for a good old while.

There we go. So, I'm going to send that screenshot. It's going to look at it and

screenshot. It's going to look at it and uh evaluate it and say, "Oh, I can see you've got some design here. Beautiful

board. Thank you very much. Dark green

squares, green grid, gold brass beveled border in a style, whatever." So, it's going to basically have a go at remaking that. And I'm giving it no instructions.

that. And I'm giving it no instructions.

I've obviously, you know, drawn the picture ahead of time, but I'm giving it know instructions how to match that. So,

you know, it's going to have a go at doing that. Now, it's of course great

doing that. Now, it's of course great when you have an idea for your UI and you're on the LLM to try and match that idea somehow. And it could be just a

idea somehow. And it could be just a sketch. You've you've drawn your iPad

sketch. You've you've drawn your iPad look like this, please. Maybe you have had a designer, you know, you've paid someone to go and build something or design something or you've gone to

Dribble and paid someone there to design a a killer look for your app. picture

ping file in it goes have a go at this see what it can do and it it might go not happening as it's currently got build failed so you can see it's an error but it's now going to go ahead and fix those errors it's going to try and

it's probably I expect concurrency issues at this point it's going to have a go at fixing those now and see if we can make the whole thing work now if you want to uh you can fire up

multiple conversations at the same time just be careful because out of the box.

They're going to overlap. There we go.

It's got That's a preview snapshot right there. Let's have a go. Let's run that

there. Let's have a go. Let's run that code back. It looks great. I agree. Look

code back. It looks great. I agree. Look

at that. Not bad, right? It's still got, you know, transparent and white, but look, it's fine. Um, so it looks better straight away. And all it is is a

straight away. And all it is is a brighter picture.

So again, if you want to have more conversations, you can do just press this button here and press your new type here. So you can do a codeex one or

here. So you can do a codeex one or another claw agent. You could use Sonic if you want to be a bit cheaper. Um,

it's it's also very fast. I can do another claude here and say, "Okay, um, uh, add code comments, whatever." And

I'll do the add code comments. And while

that's happening, I can go back to this other one and say, "Actually, uh, I want you to explain, uh, chessai.sswift

to me." And it will do that in this one.

And I can do another one. Let's say I want to have another Claude. and I'll

say uh write a readme for MD file for this project and it'll all work in parallel. Now I've chosen those

parallel. Now I've chosen those intentionally because they don't conflict, right? I don't want a

conflict, right? I don't want a situation where the uh AI is trying to change the the the file here and the file at the same time with another AI home session. They're going to they're

home session. They're going to they're going to fight all the time and you'll have a a horrific mess. Uh probably best not to do that. Uh so be careful how you overlap them here. be thoughtful. I

think this one now finished explaining it stuff. Uh this one over here, what do

it stuff. Uh this one over here, what do we have? That's the read me file being

we have? That's the read me file being written. And then over here we have code

written. And then over here we have code comments. So they're all working in

comments. So they're all working in their own way independently, which is a good way to work. Now, if at any point you're like, "Ah, no, the AI's done something terrible. This kind of sucks."

something terrible. This kind of sucks."

Like if you hate my green and gold or brass whatever it called it um design then this little history button here is

very very helpful. Sadly again folks who are used to working on the command line will find this an annoyance because this thing here requires you to have git set up for this repository. Now on the

command line you can normally say I have git for stuff I want to keep forever and ever and ever but I want to be able to wind backwards and forwards inside a conversation. That is not currently

conversation. That is not currently supported by Xcode. So you got to have uh git and you still want to have git regardless right. So it's a good idea to

regardless right. So it's a good idea to have git. So it's not a problem but it's

have git. So it's not a problem but it's a slight little niggle in um Xcode right now.

So that is aentic coding in Xcode. It's

not complicated, but it is a huge step [snorts] forward from the team. And I

have no doubt they're working on so much more. I'm really looking forward to

more. I'm really looking forward to seeing where they go with this at WDC.

Some questions real fast. Uh how long should competitions be? So you can actually ask it. You can talk to it a little bit and say, you know, what is my token limit? How am I doing for states

token limit? How am I doing for states and so forth? If you use slash and do was it models or tokens context? Ah, non

working. Cool. Try context. Complete

guesswork. There we go. So, it's it's going to tell us what's in the context.

Right now, it's saying you have uh clawed opus 4.6. I've used 31,000 of my 200,000. So, I'm 60% of the way through.

200,000. So, I'm 60% of the way through.

And it tells you how it breaks down inside that. So, Apple system prompt is

inside that. So, Apple system prompt is here. It's 3.7,000.

here. It's 3.7,000.

That is what a thousand words or so that include the, you know, liquid glass and similar. Um their tools are here. That

similar. Um their tools are here. That

is things like how do I do screenshots, how do I analyze build errors. Uh, also

here we have messages between me and and Claude and back the way. Tons of free space. This is the auto compact buffer.

space. This is the auto compact buffer.

So, it knows how to compact a conversation, which means when it runs out of space to remember what you're talking about, it starts again and remembers bits of what you told it previously. That's the autoco compact

previously. That's the autoco compact buffer. Uh, and then these are the tools

buffer. Uh, and then these are the tools we have. You can see there's GP, there's

we have. You can see there's GP, there's ls, render previews, the screenshot thing, uh, test list, run some snippets, make directories, whatever. So these are all in there somewhere with some degree

of tokens being used.

Uh any more question? Uh yes, man commit is fine. You can actually tell claw to

is fine. You can actually tell claw to commit for you or codeex commit for you if you want to if you trust it.

[laughter] It's down to you. Um are

there advantages using the built-in AI?

Yeah. So Xcode uh the advantage using Xcode right now over the command line or similar is you get things like it took a screenshot by itself. Now that same functionality is open to other tools to

use. You can get that from claude and

use. You can get that from claude and the command line because Xcode ships an MCP server inside model context protocol. And so it means that claude

protocol. And so it means that claude the command line tool codeex command line tool and similar can talk to those same tools automatically. The advantage

is that Apple have done that for you. So

you get that whole liquid glass prompt for you explain how to make good liquid glass apps. get the, you know, snippet

glass apps. get the, you know, snippet execution, whatever it is, all this kind of stuff here, all built in for you out of the box. There are a bunch of downsides and I'll walk you through them as we go. But there there are some

upsides that you saw, you saw by itself.

It tried it out, found the errors, got a screenshot, it just works very very smoothly. There's a more limited

smoothly. There's a more limited experience at this time. I expect XO27 to be a significant step forward. Um,

but right now it does do those small number of things very, very well. Just

kind of the Apple way, right? Pick and

choose things, do them the very best you can. Can it create UI tests? Uh, it can.

can. Can it create UI tests? Uh, it can.

Uh, broadly speaking, I tend to tell my agents actually UI tests are a last resort. Try and do unit tests first. Um,

resort. Try and do unit tests first. Um,

because obviously they're much faster, much more repeatable, less flaky, and similar. We haven't still got a great uh

similar. We haven't still got a great uh UI test library for Swift yet, sadly. U

perhaps that'll change this year. We'll

see. So, that's an coding. Now, I've

mentioned a few times about working on the command line, and this is where, honestly, most AI folks seem to do their work. It's certainly where I do most of

work. It's certainly where I do most of my work. Uh, and this is where we get to

my work. Uh, and this is where we get to the the first controversial thing. It's

not really claw versus codeex, despite what the AI bros might tell you. Um, for

some reason, I don't know why, people love to fight about which terminal they use. They just there has to be an us

use. They just there has to be an us versus them for everything that exists ever apparently. I don't know why.

ever apparently. I don't know why.

Anyway, um I use a terminal called iTerm 2. It's free. It replaces the built-in

2. It's free. It replaces the built-in terminal very well. Other folks like Ghosty. I'm sure there are more out

Ghosty. I'm sure there are more out there that exist. What I can say is that most people, unlike it might be 79, we do tend to replace the built-in terminal

app with Mac OS. That hasn't changed very much in a long time sadly. It turn

2 is a real powerhouse. So is Ghosty.

They're wonderful, wonderful tools. And

I'm going to show you how it works here and we'll do a bit of coding here as well. So I'm going to leave this uh

well. So I'm going to leave this uh concurrency hell chess app to one side.

I'll make a new project in Xcode. I'll

just choose Mac OS again because it's faster. Call it example two.

faster. Call it example two.

And that is a new empty app 450 on my desktop like last time.

[sighs] Ah, so ah, so V Fender asking, do you want to plan things out first or write a mega prompt instead of doing step-by-step prompts? That's a great

step-by-step prompts? That's a great question. I'll show you exactly how I do

question. I'll show you exactly how I do that because you can get some really great results. I've made a new project

great results. I've made a new project here in Xcode. I'm going to leave it alone. I might like, you know, kill the

alone. I might like, you know, kill the preview to make more space for me to see the code, whatever. But I normally just leave it as it is, right? And now I'm going to open up item.

Uh, and I know it looks like uh terminal.app right now, but I've

terminal.app right now, but I've customized this a fair amount behind the scenes. For example, the way I use AI

scenes. For example, the way I use AI very standardly is kind of baked in. If

I've got a shortcut here already, shift command R activates this mode here. So,

it opens up a fresh terminal view window here with AI1, AI2, AI3, AI4, and then commands over on the right. All

pre-labeled me to work with. So, I've

got four AI tabs and agents have a command tab at the top there as well.

Uh, Praash say shares, do I think LM coding is stealing experience and website today? Yes, I do. It's very,

website today? Yes, I do. It's very,

very hard for juniors today. Seniors are

doing incredible work. Seniors are being 10xed easily by using Codeex or Claude or Gemini. And juniors are having a

or Gemini. And juniors are having a really hard time. Uh, I I don't know what to do. It's grim because if you don't have juniors, you never get seniors. Yeah, we don't know yet, folks.

seniors. Yeah, we don't know yet, folks.

I'm afraid. I'd love to find out.

Anyway, uh trying to stay positive for the time being. Um I have these I have this pre-made layout the way I want to work and I can switch between tabs very easily. It's just shift command left and

easily. It's just shift command left and right like this. Move between tabs. And

if I want to do some work uh say here and I'm doing whatever here I want to move that later on. I can just move it by pressing option. So that moves now to the fifth position for example. So I can

move tabs around very very easily entirely on the keyboard. So, it's very good for a keyboard warrior like me to get around very quickly. Um, if I want to do some specific work in tab, which

is very very common for me, I would use uh command I uh to rename the tab. So, I

might say, oh, in this one I'm doing stalkit for example, and it'll appear as a stalkit. And then over here in AI2,

a stalkit. And then over here in AI2, well, I want you to be uh documentation whatever. And so, I can see, you know,

whatever. And so, I can see, you know, shortcut keys. press command one for

shortcut keys. press command one for stalkit work. command to documentation

stalkit work. command to documentation work and it means I can have a whole bunch of things working at the same time and know what they're doing because if you're trying to multitask many many agents are working at the same time

you're like ah I'm an agent before what were you doing scroll back scroll back scroll back oh that's what I was doing you waste a lot of time okay if you just remember this is doing stalk it this is doing this is doing cleanup this is doing whatever testing it helps you

remember what you're trying to do at any given time once I'm ready like this I would then go and find the folder I want to work icon.

And in iTerm 2, if you press commandshift I, this little icon appears in the thing. And that means whatever I'm typing now is sent to all tabs simultaneously.

Text larger. Of course, I can make text larger. There you go. Large text.

larger. There you go. Large text.

Hopefully, that's easier to read. Sorry,

I apologize. I hope that's better. This

icon means that all things I type are now sent to all terminals at the same time. Oops, they're all bit small for

time. Oops, they're all bit small for that one chap. Sorry. There you go. Make

them all real big. That's actually a bit too big now perhaps. There we go.

Anyway, so they're all a bit bigger mostly. Um I'm now sending my stuff to

mostly. Um I'm now sending my stuff to all the tabs. So if I were to say on my desktop I was at CD example 2. Um in the

first tab, second tabs had it. Third

tabs had it. Fourth tabs had it. Fifth

tabs had it. They're all now in example 2. So they've all moved to the same

2. So they've all moved to the same folder to uh work with stuff. And I

could say, let's fire up Claude here, for example, or Codex or Gemini. Again,

please don't listen to the eyebrows.

They're all great in their own way. It's

going to ask you, are you sure this is safe? Um, some folks very commonly say,

safe? Um, some folks very commonly say, yeah, it's fine. Just approve everything and then delete their home directory.

Broadly speaking, you don't want to do that. You want to be careful. Yes, I

that. You want to be careful. Yes, I

trust this folder. It'll ask you again and again, you trust it or not. Yes, I

trust the folder. Boom. So, now Claude is active in all these terminals. uh in

that uh folder. Now, this is where I'd remove this little icon. I press command shift I again. So, I'm now no longer typing to all terminals at the same time. It's all individually typed. This

time. It's all individually typed. This

last one, I normally quick clawed there.

This one I want to have the command line only. This is where I'm looking at diffs

only. This is where I'm looking at diffs commonly. I'm working with git commonly.

commonly. I'm working with git commonly.

I'm poking around my files. That's for

me as my commands tab. 1 2 3 and four.

That's for claw to go to town. You you

go to town with your code over there, buddy. five for me. Okay. Now, as you

buddy. five for me. Okay. Now, as you work, you're gonna recognize it. It'll

do some work. It'll ask you to to do stuff, and it'll say, "Well, do you trust Claude to uh use LS? Can Claude

use CP to copy files? Can it use MV to move files?" And you're like, "H, you

move files?" And you're like, "H, you know, that's fine. That's fine. That's

fine." After a while, you start to get intuition for what you trust Claude with. It might take a few weeks, maybe a

with. It might take a few weeks, maybe a few months if you're a bit a bit doubtful. um you're going to learn yes

doubtful. um you're going to learn yes claude these things I trust you with and as a command you can say slashpermissions which let you allow and

deny tools you can say yes these things are fine I want to do this and this and this you might say add a thing here yes

bash ls star you can use ls however you want to I don't care and then say yeah put it everywhere in my user settings I'm gonna allow all cla to access that

thing and do another one. I only want to use bash find for example. Yeah, use

find it finds files. Go to town and you build up and I've in my main Mac. This

is my recording Mac. My main Mac I've got maybe 20 things there I trust, you know. Yes, go and search web if you want

know. Yes, go and search web if you want to. Yes, go ahead and use MV or CP or

to. Yes, go ahead and use MV or CP or whatever you want to echo common things I know are safe. But slash measures helps you customize that list to be the way you want it to be, the level of

trust you have. And now it's a regular claude. You can go ahead and start

claude. You can go ahead and start typing to it. Uh make this into a look a scorekeeping app for two players,

whatever. Uh and uh just like you had

whatever. Uh and uh just like you had before with Xcode, it'll start by reading the files, scanning the files, and deciding what's there. And it'll say because it's the first time running it

here, uh is it okay for me to change the files? You'll think for a good while.

files? You'll think for a good while.

Say, okay, I'm going to change a file here, here, and here. Is that okay? And

you can say yes, go ahead. Yes. Um, what

you'll find yourself doing, particularly when it's a new project like this, you know, green field project like this, you're going to want to say, ah, this is what I want to mention to you here. This

is lovely. By the way, see this term to notifications. So, you can be over here

notifications. So, you can be over here in tab four thinking and it'll say, "Oh, tab one wants attention. You can go back and talk to tab one." Anyway, when you're in a green field project just noodling around, trying things out,

nothing to lose. you're going to say yes. Just crack on, buddy. Make all the

yes. Just crack on, buddy. Make all the edits you want to. This is where you get into vibe coding territory. Just go

ahead and start making edits. Don't ask

me again. Do it. Now, the very first time you run the command line, it'll say this. Do you want to have the language

this. Do you want to have the language server system, the plug-in pulled into this or not? And it helps you in theory provide code intelligence. Uh, I'll say yes. Crack on. It'll download it. It

yes. Crack on. It'll download it. It

want to restart and it claims to finish the work already. Done. So, it's got score changes. It's got color coding and

score changes. It's got color coding and two player sections over side by side.

Uh, and what do we have? There we go.

There's the code. And it should build and hopefully even run. Let's find out, shall we? What it build for us? It's

shall we? What it build for us? It's

thinking.

There we go. Add one. Oh, look at that.

Okay, it goes the wrong way around going down the ways, but otherwise it's a it's pretty good. Yeah, very nice. So, that's

pretty good. Yeah, very nice. So, that's

a nice tiny prompt. Do this small thing, please. Again, start small, work bigger,

please. Again, start small, work bigger, work bigger. It's much smarter way to

work bigger. It's much smarter way to work. Now, when you type in Claude, one

work. Now, when you type in Claude, one thing Claude can do that Xcode currently can't do is let you queue up stuff. I

see, by the way, this see this gray text here? Uh, that is Claude suggesting the

here? Uh, that is Claude suggesting the next thing I might want to type. It

sounds so lazy, but it's honestly about half the time it's exactly correct. Just

press enter, and it will start doing that. Basically, it fills in the text

that. Basically, it fills in the text for you. But I can type now also make

for you. But I can type now also make the animation extravagant, whatever. And

that's queued up now. I can press up to edit the queue if I want to or let let it do its thing. And it will just you can add QQ Q while it's working. And even what will happen is during some breaks of its

work, it kind of comes up for air briefly and goes, "Oh, you got messages for me." It'll take them into account

for me." It'll take them into account while it's working. So queuing is very, very helpful. Look at that. Yeah. No.

very helpful. Look at that. Yeah. No.

Dispatch Q. Anyway, look, [laughter] we'll fix that later on. Don't worry.

Okay. Extravagant animations apparently and scores get bigger later on. Let's

find out. Uh, so I press plus. Whoa,

look at that. That is extravagant.

Okay. See, it's getting bigger and [laughter] bigger and bigger. It's It's

a stupid app, but that's fine. It's

fine. You can just noodle around. You

can just try things. You can just make things and see what happens, folks. Why

not? Um, so you you saw there it did some stuff for me. Uh, and while it was thinking, I typed another message. And

again, you can cue as many as you want to just type type.

And while it's working, it'll bring them in as soon as it can. It's very easy to work with. And again, press up to edit

work with. And again, press up to edit the queue while it's working. Or after

it's finished, now press up to go back through old messages. So you can go and find things or you can see here, press control R to search your history, try and find exact things here. Um, and it works really, really well. You can just

queue up stuff and see what you get on.

Now I want to show you one of the best things you can do with the command line that you cannot do with Xcode. Xcode has

a again it's it's a very first version but it's a fairly small implementation of what Claude can do. I genuinely think this year 27 the team have something special ready for us. Come on team you

know I love you. Um,

with the command line, you can enter a mode where it grills you. And this is fantastic. So, in this case, one thing I

fantastic. So, in this case, one thing I love to do with new apps like this is a prompt like this. I want you to make

this into an incredible app. Really, the

best in its genre. Then say, ask me a comprehensive set of questions to help design it. This is a killer prompt to

design it. This is a killer prompt to use. It's going to go in think about it

use. It's going to go in think about it life for a while and say, "Okay, it's currently a scorekeeper. Not a lot of options there to work with, but then it'll come back to you with some questions. What do you think about this?

questions. What do you think about this?

What about this? What about this? What

about this?" And help you guide your idea. And again, it's going to have a

idea. And again, it's going to have a whole bunch of uh ideas here you never had, but it's on you to shape them. And

this is true for people who use AI massively or hardly at all or not at all. You as the app developer, you are

all. You as the app developer, you are the ultimate arbiter, the ultimate judger of what makes good stuff. It's on

you. So you can see it's asking me here the questions. So let's start with the

the questions. So let's start with the questions here. And question one is

questions here. And question one is what's the primary use case? I can

choose one, two, three, four or something else. So I might say it's for

something else. So I might say it's for casual party games. Okay. Boom. Off it

goes. Next stop, visual style. Bold and

sporty, clean and minimal, fun and playful. Retro Scor sounds good. Do

playful. Retro Scor sounds good. Do

that. Players. Oh yeah, unlimited features. And now it's checkbox stuff.

features. And now it's checkbox stuff.

So I'll say that one, that one. Yeah, go

to town. Do all those things. I mean,

just go to town. Submit. And it'll send it off to Claude and go, "Okay, this is very interesting. I like this idea." And

very interesting. I like this idea." And

it factors that into its plan. But then

it'll come back with more questions. It

really it will grill you until it's explored every possibility for the app which is powerful. It'll have ideas you had not thought of like retro scoreboard

and similar. Yes, how do you exactly

and similar. Yes, how do you exactly correct? It might be multiplatform app

correct? It might be multiplatform app in the future. Who knows? Anyway, um

what kind of score do you want to have?

I don't know. Uh

that one. Uh whatever. Just go ahead and try things out. Game time. Whatever. I

don't know. I'm just pressing the first one now. Ah, there you go. What do you

one now. Ah, there you go. What do you want to target? And I'll choose u actually uh iPhone, iPad, and Mac. Boom. Submit.

And it might come even back with more. I

mean, honestly, it'll just Yeah, it's got more questions coming back. There

you go. Um it really grills you and along the way it will just keep on giving you fresh ideas and you can say no, no, no, no, no, no. You can pick

like one of three ideas. Ah, celebration

go absolutely wild. Obviously, uh, match history, whatever. Not so data. Uh, that

history, whatever. Not so data. Uh, that

one submit.

All right. So, look, you can see what's happening here. It's turning a trivial

happening here. It's turning a trivial idea, the score counting app into a huge idea, a production ready idea. And then

it presents the plan. And I was going to go up detail here. You can see here's what I'm thinking. Uh, that that sounds good to me.

go ahead and plan it out.

Okay, so now it's going to go ahead and enter a thing called plan mode. It's not

going to do any coding. It's just going to sit and think through the ramifications of these answers. And this

is where it gets into the coding territory. It's okay, this thing has

territory. It's okay, this thing has this thing has this. So I'm going to use this view model here, this storage area here, this this is it. It starts to make actual choices that help guide it. And

the reason for this is very, very important. You've got to remember that

important. You've got to remember that LLMs like uh GPT uh Claude uh Codex whatever they have what we call a context window how much information it

can hold about you at any given time and it could be you know we saw I think 200,000 tokens earlier could be a million tokens in I think in set and similar um and so it's going to fill up

this window full of words one token is like three to four characters right so like call it two tokens of word so it fills up the words eventually goes I'm out tokens and it has to restart from

scratch and it will try and remember some things but it won't remember brilliantly because if it remembered everything it would fill the whole thing again, right? Remember parts of what it

again, right? Remember parts of what it learned previously.

As a result, the plan mode makes it write down literally everything in great specific detail about what it plans to do. This file is this. This file is

do. This file is this. This file is this. UI is this. The animation is this

this. UI is this. The animation is this D. Extreme detail. So that when that

D. Extreme detail. So that when that context window is thrown away, it goes, "Aha, this plan has everything I need to know. Now the specific exact words you

know. Now the specific exact words you said to make the plan, they're gone. But

the actual fundamentals of what the plan means, how to do it, how to make it happen, that is saved."

Uh, chance of questions real fast. Will

X update live as make a change to the code? Yes, it updates live as happen.

code? Yes, it updates live as happen.

You can watch it as it's doing its work.

It's even like a sort of a a little visual effect as files change behind the scenes. It does like a little Xcodey,

scenes. It does like a little Xcodey, you know, the the Siri shimmer thing where it goes glow appears briefly. Uh

advice for a junior get into this stuff.

Um it's hard. It's really hard right now.

it's hard. It's really hard right now.

It is so tempting to build and ship apps just through LLMs and say, "My portfolio is fantastic." You're going to be asked

is fantastic." You're going to be asked coding questions at your interview. You

just are. Why do you choose that? Why do

you choose this? Why not swift data? Why

core data? Whatever. They're going to ask you questions about the code. Be

prepared to answer them. And by the way, claw can do that, too. Asking, I'm sure, uh, codeex. You could say, "Hey, grill

uh, codeex. You could say, "Hey, grill me about this code. ask me questions about the code to make sure I understand it. So yeah, go to town, build things,

it. So yeah, go to town, build things, learn what it's done, learn why it's done it that way, and then understand it by making it ask you questions back till you feel comfortable. Literally say to

it, pretend you are an interviewer grilling me about my GitHub portfolio app I want to ship. Ask me questions until you're confident I understand it, and then it'll it'll keep on doing it

again and again till it feels confident you know it. And it's a great way to learn it to actually learn the code because what I what I see again and again and again is folks use LLM to

build stuff and the LLM sadly even the very best even your Opus 4.6 your codeex 5.3 extra high will still make some terrible choices. Okay, it's going to

terrible choices. Okay, it's going to happen sooner or later. It'll make some terrible choices. You saw dispatch Q

terrible choices. You saw dispatch Q async go by. You saw it fighting with concurrency. It's going to make bad

concurrency. It's going to make bad choices. Knowing ahead of time, do this,

choices. Knowing ahead of time, do this, don't do this, this is good, this is bad, goes a long way to making apps much, much faster. Yes, my daughter

who's 12 can make her app. Check out the app store, by the way. I should probably find it for you while I'm talking. Um,

it's very hard to find. It's an iPhone app on a Mac. If I find my company because ship under my company name because she hasn't got an account yet.

It's my company here. And then her app is a game for iPhone. There it is.

Scramblelet. This is it. Got She's She's saving up to buy Lego, by the way. So,

buy her game. It's like $2 and it gets her towards buying Lego. Um, she made that knowing nothing about AI, nothing about claw, nothing about uh Swifty or

devices, but I was next to her saying, "Look, I know it looks right now, but could you just launch it on an iPhone SE?" And she goes, "Oh, wow. Suddenly

SE?" And she goes, "Oh, wow. Suddenly

it's really compressed." Because she was running on iPhone Pro Max. um let let me just show you what dynamic type looks like and of course the fonts get much bigger and she's like oh yeah it looks terrible now so thinking about ahead of

time these things takes you a very very long way a very long way so yes it is still very valuable to learn to code know what it's doing and give it

sensible guidance along the way it'll help you so so much uh and yes when you're a senior developer or even a junior developer you'll be using AI extensively maybe not to rightful apps maybe to rightful apps I don't know I'll

tell you what, even if you don't use it rightful apps, just saying, "Hey, review my code." Spot any problems, identify

my code." Spot any problems, identify any hiccups or something like that can go a long long way to helping your stuff get better. So, even if you want to

get better. So, even if you want to write your code by hand for your brilliant portfolio, please, please do.

It's a great way to get a job. Still put

it through Claude. Say, "Review my code.

Check my code out. Are there any problems? Does it behave correctly with

problems? Does it behave correctly with whatever settings you want to work with?

Help it understand." And it'll give you good feedback to improve. So is it is safe. Seriously, coding is still a

safe. Seriously, coding is still a fantastic fantastic career. I love it so much and code does uh help.

Uh which should I start with? Um swifty

at this point. I don't think folks are really writing much UI kit. Certainly

not new folks at this point. Uh I don't think anyone's starting new projects with with UI kit. Swifty is being used basically everywhere.

All right, Scramblelet, go away. It's

buy the app. It's a great app. Trying to

save Lego. So, you can see now it's used 19,000 tokens. Um, you're probably

19,000 tokens. Um, you're probably wondering how it's going in my Clawude budget. Should we find out? I've got

budget. Should we find out? I've got

again Claude Max. I think I'm quite safe. I have used 7%. Okay, I've barely

safe. I have used 7%. Okay, I've barely scratched the surface of my Clawude budget. Um, so I'm I'm quite safe on the

budget. Um, so I'm I'm quite safe on the token front. Again, you know, I I I've

token front. Again, you know, I I I've run 20 or 30 claws at the same time just fine. and it does tend to go through

fine. and it does tend to go through tokens quickly at that point, but small things like this absolutely fine. Um, is

the Udacity course? I don't know. Is it?

It wasn't answer that question. I've got

no idea. Anyway, so you can see it's used a bunch of tokens and now it's gone back and this is the plan it's got. This

is the plan. Uh, it's quite long. Uh,

but it's detailed and again it's detailed for a reason. So you can see the plan here is to build this this scorekeeping app. Here's the file

scorekeeping app. Here's the file structure. build these files doing these

structure. build these files doing these things. Then it wants to have the exact

things. Then it wants to have the exact code. Here's the player, here's the

code. Here's the player, here's the round, here's a match record, architecture, game state, history stuff, timers, injection of stuff, navigation flow, color pallets defined here,

typography, and similar uh and then modifiers and then celebrations designed. It's absurdly

designed. It's absurdly specific. It's absurdly specific. And

specific. It's absurdly specific. And

again, it's so that it can lose its context. you can throw it all away and

context. you can throw it all away and read just this and know exactly what to do. That's why it's powerful. And in

do. That's why it's powerful. And in

fact, what will happen here is down here, you're going to see eventually after all this stuff options are, yeah, just go ahead and

clear the context and auto accept edits.

And that is now safe. Wipe your memory.

Get rid of it all. Free up the space to make the the app because that plan is so detailed. it can go ahead and make it.

detailed. it can go ahead and make it.

Now, with Xcode's uh version of this, there is there is a plan mode. It will

plan stuff out, but it will tend to go straight to execution. It'll go, right, let's go and just start building it straight away. In clawed code or codeex

straight away. In clawed code or codeex or similar, I much prefer to say no, no, no, number four. Here, I do number four.

write this plan to plan MD in this directory so I can review it.

So it's a great plan. I like it very much. I'm sure it's great. But it then

much. I'm sure it's great. But it then gives it to me to look at. I can then go ahead and modify the plan, scan through it so I can think, yeah, that's the right choice. Good choice. Yes, yes,

right choice. Good choice. Yes, yes,

yes, yes. Make edits freely whenever I'm ready and then say, fine, go ahead and build up the plan. That is how I prefer to work. Now, as you're working, you

to work. Now, as you're working, you might find ah just just go for it. Go to

town. Um I just [laughter] I'm just slightly unsure about that. I

want to know where the plan is somewhere else. I've seen it and reviewed it

else. I've seen it and reviewed it because I want to make sure it's getting it correct.

Um George, where do you think on scale AI take all jobs to tool being used by devs? AI can't take all developer jobs.

devs? AI can't take all developer jobs.

They see someone to drive it. I mean,

Anthropic are hiring a hundred developers right now. A hundred. And

that's anthropic, right? uh they're the ones making this stuff. Uh yes, allow plan.MD is fine. Um if Anthropic even

plan.MD is fine. Um if Anthropic even hiring a 100 developers, I think it's pretty safe that everyone else is hiring too. We still need people to know what

too. We still need people to know what to build. Say no isn't right. Write this

to build. Say no isn't right. Write this

test, read this code, whatever. There's

still a lot a lot of work to do. We can

just do more faster now. Anyway, there's

written plan. [snorts] I can go ahead and read that file. So I'd go to example two.

There's my plan. 13 kilobytes of plan read adjust futs edit whatever you know make it the way I wanted to and then I'm happy with it and I can put that actually in source control if I want to

and say yes that is now a good plan I can pick it off um somewhere else um how do I do sonus I've never used cla

sorry um the pro plan is pretty generous you'll be okay as long as you aren't using it full-time if you if it's your full-time job you want to get company to pay for opus because um let's not pay for for less or or Codex, you know, I'm

an equal opportunity love giver for LLMs. Anyway, so review the plan and then go yes, go ahead build it when you're ready. Again, it's telling me

you're ready. Again, it's telling me what to do. Go ahead and build it and it will do that same plan. So it's it's very very similar, but now it's grilled me. It's going to build something much

me. It's going to build something much much better. Now again, I said one of

much better. Now again, I said one of the big things about we had uh Xcode had those tools baked into it to do things like screenshots and similar. We can get

the same thing with Claude because XOD has an MCP, the model context protocol built into it. We can use that same thing here.

Uh yeah. So a question here, if you use Go ahead, will it use the same context?

It probably would do, but uh I'd recommend compacting it first. You just

use compact and then say prepare to implement the plan uh like that to give it some custom compacting instructions. If you didn't

compacting instructions. If you didn't do that, it would start immediately without clearing the context first. and

you kind of you don't want to get through half a change and have it compact at that point. It's rather

annoying because suddenly it might have forgotten a little thing. I don't want to reread it. It's a lot slower.

Anyway, so Claude can talk to Xcode, right? You can say to Xcode uh give me

right? You can say to Xcode uh give me your information. So if I go Xcode again

your information. So if I go Xcode again over here and go to settings, um down here is allow external agents to use Xcode tools. If you press this learn more button, it'll open up this thing

here which tells you how to give external tools like claude code access to Xcode. And literally, it'll say this

to Xcode. And literally, it'll say this line here, run this line for Claude or this line of codeex like that. Just grab

that thing, run it back. It'll install

this thing which knows how to talk to Xcode. Now, it's not perfect. You know,

Xcode. Now, it's not perfect. You know,

Claw's doing its best, XO's doing its best, but it's it's pretty darn good.

I'm going to grab that line of code here and then paste it into here and it'll think and it will try and hit go. So say

you want to do this yes please go ahead connect that and when it connects it'll want to restart like this. So just check cla restart. So yes I'll uh control C twice

restart. So yes I'll uh control C twice like that and then claude.

And so now Xcode saying aha do you want to allow claude code to read Xcode? Yes,

we do. That's fine. So, now Claude code is connected. See this little symbol up

is connected. See this little symbol up here? This little uh agent activity.

here? This little uh agent activity.

That means there's an agent talking to Xcode right now, which is cool.

And we can ask it questions. Now, uh in practice, it might struggle at first, but it will get there. So, we could say something like, you know, uh what Xcode

MCP tools do you have?

Let's find out. So, it's going to have a little think and give us a bunch of commands back hopefully. And it's going to query Xcode directly and say hopefully ultimately a bunch of stuff.

There we go. So we can read all these things and these are same things XO is doing internally and you can see yes you know get the snippet being run or read some file or render preview that that's

the best one. It renders any swifty preview and get snapshot. So you could say let's try it out. Uh use the render

preview tool to uh render the current content view to uh snapshot.ping

in the current folder.

Current current current. Um so do you want to do this? Yeah. Just just crack on. Yes. Go ahead. Basically, it'll have

on. Yes. Go ahead. Basically, it'll have a go. Uh yes. Starts again with that

a go. Uh yes. Starts again with that command. XCO commands. Fine.

command. XCO commands. Fine.

Yes. Do that again. It learns

eventually, but a bit slow at first. So,

it's going to do that. Let's run the preview. It's now copied to this

preview. It's now copied to this directory here hopefully and then write the file being well reading a file. See what it looks like.

And there we go.

So, the same thing it was doing in Xcode just now on the command line.

So uh on the command line here you can see we've done things like queuing of messages, editing queuing messages and similar I should say as you're typing stuff you say you know I I want you to

uh I don't know reread the plan and do stuff with it when you're typing around you can press left to go back and forth of course you can but if you press down the option key or the alt key on your keyboard it goes by whole words at a

time which is much much faster you can press Ctrl A or Ctrl E to go to start in the line if you have multi- lines stuff.

You can just up and down between lines.

Makes it much easier. If you press alt, sorry, option and delete, it deletes whole words at a time. So, it's fast to delete stuff if you want to. Um, so

there are a handful of useful keyboard shortcuts to get around faster.

What I would say is when I'm in this kind of effectively vibe coding thing, you know, a green field app idea, it's not serious. I'm not shipping it. I

not serious. I'm not shipping it. I

don't, you know, at this point care about it quite frankly. Uh I tend to be very lasso fair, very not worrying too much about about um GitHub and git. I

have git repository always. Um but I've got a command I use which is just gg uh which just sends stuff to git immediately. Uh so I have a bunch of

immediately. Uh so I have a bunch of these things. I have like uh gp is git

these things. I have like uh gp is git push, gc is git commit, gs is get status. Uh and the these are old

status. Uh and the these are old commands I use like if I was in like um one of my projects. Let's go to uh uh not that one. Let's go to work and then

kickstart my new uh iOS project. Um if I making changes in here, I could do, you know, uh GS get status and I get the answers back here straight away. Uh or I could say actually I want to uh do GP to

push things up or whatever. If I was to make a change somewhere, let's go to another project I can make changes in more freely without breaking stuff, like activate my hacking app. Uh, if I go

here and then do uh read me. No, let's just do uh vim uh test txt. Hello. Maybe you

want to like that. I've written a file here. Uh g gg adds all files, commits

here. Uh g gg adds all files, commits all files, pushes all files in one go.

Uh oh, I use hackivate all the time. So,

someone's saying here, do I use AI in activate? Oh my word. Yes. So, Activate

activate? Oh my word. Yes. So, Activate

is this game I'm making uh which is designed to help you teach, learn, have fun learning cyber security.

And uh almost all the code's written by me. It's something like 85% written by

me. It's something like 85% written by me. But a handful of things are

me. But a handful of things are viciously hard. For example, if you're

viciously hard. For example, if you're in uh here and you're doing some challenge somewhere, one of the tools you can use is uh Enigma machine, which

is uh a cipher used by the uh Germans about 100 years ago, about 95 years ago now. And this was almost a one shot in

now. And this was almost a one shot in claw to make an enigma machine in Swift.

That would have taken me days to make that's hard to make. The mathematics

behind that is hard. And Claw's like, "No, have a go." And it got it wrong a few times. eventually got there and and

few times. eventually got there and and now it works very very good. Uh it works very well. Oh, I'm glad you like it. Um

very well. Oh, I'm glad you like it. Um

say for it's really it is a lot of fun to play. I recommend hack very much.

to play. I recommend hack very much.

It's on the Mac and the iPad and iPhone.

Anyway, so that kind of thing was um claude an e machine 100% clawed. I mean

I could never have written that. That

was extraordinarily complicated. But

almost everything else is me. Um because

I want to get the UI right. I want the the missions to be handcrafted. You know

all the love is absolutely from me. Um,

and Claude comes in to do the horrors. I

don't want to do quite frankly like any machine and similar. Anyway, um, let's quit that. So, yeah, I do use it all the

quit that. So, yeah, I do use it all the time. It's very, very helpful. Anyway,

time. It's very, very helpful. Anyway,

GG, if I just do wish GG, you'll see what it does. Wish GG. Um, it adds everything, pushes up, and sends it sends it off to GitHub instantly. So, I

just do here gi GG add example file for live stream. Boom. Off it goes. Done.

live stream. Boom. Off it goes. Done.

[laughter] And and and that's what I do when I'm in this sort of early state of noodling around. GG push push push push push. I

around. GG push push push push push. I

don't want to think about get commit messages. Just push it up, push it up,

messages. Just push it up, push it up, push it up, push it up constantly because there's no risk. If in a day I go, actually, you know, that kind of sucked. I delete the repository. Oh no.

sucked. I delete the repository. Oh no.

Right? If it ends up being something serious, fine. I slow down. I think

serious, fine. I slow down. I think

about changes. I read the changes and but if it's just noodling around, by all means, go to town. Just try things out and you can't really go wrong.

H [sighs] more questions in the meantime I want to ask one other thing uh which is that um there's a there's a fun way of coding

right now uh which is uh [laughter] it's got this stupid name which is the Ralph Wigum approach um and it's basically a bash loop uh it launches

Claude does a thing quits Claude launches Claude does a thing quits Claude launches Claude again and again and again and again it does it intentionally because of that context

window. Now, you saw it has 200,000

window. Now, you saw it has 200,000 tokens. It doesn't have 200,000 tokens

tokens. It doesn't have 200,000 tokens because you already saw it reserves some for other things like tools and um the compacting and similar. But as it fills up, it kind of gets more stupid. Like

there's a lot of things to think about now. It's got 100,000 words to worry

now. It's got 100,000 words to worry about now. It's a lot of words. It's

about now. It's a lot of words. It's

going to get confused and do things wrong. The Ralph Wigum approach

wrong. The Ralph Wigum approach basically quits Claude fully relaunches it fresh context window. does one thing, exits. Launch, exit, launch again,

exits. Launch, exit, launch again, again, again, like relentlessly, and you can leave it running overnight. This is

why I have two Claude Max plans. Um, I'm

actually making a thing right now for kids to help them learn how to use AI responsibly. Uh, and it's part of this

responsibly. Uh, and it's part of this this site I make for for um for schools.

Uh, in my work, cyber security activate.

Sorry, I got a lot of stuff in this Mac, folks. uh config AI. So, this is my AI

folks. uh config AI. So, this is my AI stuff, teach kids responsible uh coding in here. And uh one of the things inside

in here. And uh one of the things inside here was I wanted them to feel like they had some realworld

um AI usage. And so I used Claude and Codeex and Gemini to write a lot of stupid stuff. And you can see um like in

stupid stuff. And you can see um like in these various folders, this is a cat bouncing a trampoline in a ball pit.

Same thing, same thing, same thing, same thing. And then it's oil painting style.

thing. And then it's oil painting style.

Same thing, same thing, same thing, same thing. And then it's fistic. Same thing,

thing. And then it's fistic. Same thing,

same thing. So basically, there's like a bunch of prompts to make 25,000 pictures being made here. This is like a watercolor cat trampoline. You can go further and see, you know, cat eating a

massive ice cream sundae in space oil painting. And so the kids are shown,

painting. And so the kids are shown, choose your subject. Do you want a cat?

Do you want a scroll way way down? Do

you want a dragon? Way way way way way down. Do you want a flamingo? Way way

down. Do you want a flamingo? Way way

way way down. Do you want a whatever? Uh

hamster. Um your your your subject, your location, your style, and then it makes the picture for them from one of my cached pre-made ones. This is pixel art hamster trampoline top of a giant piece

of pizza. Anyway, as part of this, I

of pizza. Anyway, as part of this, I made 25,000 uh pictures. I made these things. These are a bunch of voices

things. These are a bunch of voices reading out some stupid lines. It's one

of my favorites. A computer once me chess, but it was no match me kickboxing, but in a bunch of voices in different styles. They feel like they

different styles. They feel like they have some control of the AI. Then I used uh and here this is movies. So, I made 900 movies. A dinosaur on a trampoline

900 movies. A dinosaur on a trampoline in a swimming pool full of jelly. And

you'll get this kind of thing.

[laughter] But it makes the kids feel like they have the chance to have some control and it's in a volcano now and now it's in a birthday cake and now it's on a train

whatever um break dancing. So the kids have a chance to noodle around. Anyway,

the reason I'm asking saying this is because 64 challenge 64 did this. This

is uh 4,800 standalone websites where the kids choose a topic like do you want to be aquariums? Do you want to be

aquariums? Do you want to be backpacking? Do you want to be

backpacking? Do you want to be basketball, board games, book clubs, car tricks? They choose a topic and they

tricks? They choose a topic and they choose a style. I want to have bold and bright or warm and cozy or orange. And

then it basically I left the Ralph Wickham approach script running saying launch thing make thing exit launch thing makes thing exit. Basically

overnight it went through and just made a billion uh things. There's a climate change sepia climate change warm and cozy climate change bold and bright bubble gum whatever. And it makes this

about coding now. It just makes it made 4,800 example stuff to go in here. Oh yes,

look at this excellent AI um pictures.

So that's what Ralph's great at. You want a vast amount of work to be done, you leave it running overnight, leave it roughing away to itself and it'll do everything. If you do that with a main

everything. If you do that with a main claude, it will just stop. And the Ralph script for this, by the way, is very, very simple. Um it is it's almost

very simple. Um it is it's almost stupidly simple. I love how stupidly

stupidly simple. I love how stupidly simple it is. AI pre-warm. There we go.

So, the RAV script. Um, it's small.

Sorry about that. Um, it just basically it's a bash loop for I up to, in this case, a th00and you can choose. Keep

going. There's a little pause in here for 5 seconds. So, it can it can sit and think about it time. You can kill it if you want to. Otherwise, just keep working. Just keep going. Keep going.

working. Just keep going. Keep going.

Building building building. Uh, and it it did the whole thing. And that's where I'd have because with this thing you'd have like 30 or 40 claws at the same time all working and they're all

independent and it they won't overlap because in this case it was independent HTML files, independent videos and pictures and stuff and so they were all independent and so uh it was it was great. Anyway, that's a Ralph Wiggum

great. Anyway, that's a Ralph Wiggum approach. You can literally say just

approach. You can literally say just Ralph this whole thing basically and it will it's astonishing. Uh questions why can Claude hit a limit? Yeah, there

isn't. No, you've run out of money.

Basically, they uh you have the pro plan, the max plan, and the max 20x plan, which I'm on currently. Um and

they are limited by tokens. Um when you had 40 clauds running, raling their way through HTML, I could use an entire max 20 plan about seven minutes for five

hours. I had to wait five hours

hours. I had to wait five hours sometimes to launch next step. So I

ended up leaving it like about five of them running overnight was better.

Anyway, um question get posted apparently. Sorry

about that. Um they issues with docs.

Yeah, they do have issues with docs. Um

Matt Matt Thompson has uh soi do this which takes Apple URLs and basically flooded

markdown. I suspect that's going to

markdown. I suspect that's going to expand uh to Apple as well generally. I

was using um someone asked me earlier just for fun just for fun for Lux I told Claude here is a h 100,000 fake dollars

not real dollars just fake dollars and here's an API to talk to uh share prices to do virtual shared with toy money you must make money otherwise I'll turn you

off basically and it made $10,000 in about eight hours and sadly annoyingly I didn't turn it off in time so the market closed and so all its money is locked up in some random shares. I can't I want to

like have some fun with crypto over the weekend perhaps, but it can't because um it's fake. Anyway, it's not real money.

it's fake. Anyway, it's not real money.

It's not real money. I'm nowhere near that rich. Um so, uh the claw can do

that rich. Um so, uh the claw can do that too if you want to. You can noodle around there if you want to. Um, so yes, the reason I'm saying that, sorry, the reason I'm saying that is because I was

using an API from a company called e Toro and their API docs are fantastic. So

they the API docs they have firstly they have you know hook me into uh clawed code or cursor and stuff hook me in right here MCPs across the board and

then they have markdown files of all their stuff. So all their docs have

their stuff. So all their docs have markdown pages too which is fantastic.

You just say give you this markdown. It

can read markdown in the URL directly.

It's incredible. That's the markdown file there. So claw code MD. Boom. So

file there. So claw code MD. Boom. So

every piece of documentation has a markdown attached to it. Apple could do that very easily and that would be fantastic. I'd love to see that. Anyway,

fantastic. I'd love to see that. Anyway,

so I the reason I'm asking that is because yes, it's not great reading docs right now. Apple do feed it. You know,

right now. Apple do feed it. You know,

liquid glass docs for example. Um, and

there's some currency help in there, too. Um, but right now it's not great.

too. Um, but right now it's not great.

And so, it's going to struggle with stuff. Anyway, anyway, anyway, anyway,

stuff. Anyway, anyway, anyway, anyway, how for our tokens? We're at 8%. Yeah,

barely moved. It's fine. All right.

I've talked a lot about uh Claude. Okay.

A lot about Claude. I want to say it is again, it is not the only AI out there, folks. There's a bunch of AIs out there

folks. There's a bunch of AIs out there competing for attention right now. Um,

probably the most popular is Codeex.

Um, directory. Yes. very similar. Um,

codeex is really good. I mean, it's absurdly powerful. Now, I should say

absurdly powerful. Now, I should say ahead of time, I tend to only use what's called extra high thinking. You don't

have to. You can change that. You can

say, "No, I want to go to the model and go down from this thing to be a lower one or a cheaper one or a medium one."

U, honestly, high is great. High is

really good, but I tend to use extra high. And what [snorts] I normally do is

high. And what [snorts] I normally do is I'll be working with uh Claude in AI one, two, and three. Number four, I'll say no your codeex and you review

Claude's code. Now, Claw can do itself.

Claude's code. Now, Claw can do itself.

Claude can just say, you know, uh review Claude again. Uh review the Oh, X saying

Claude again. Uh review the Oh, X saying once again, yes, you may allow it again.

Thanks, Xcode. Review your all work so far. Um whatever. You can do that. Of

far. Um whatever. You can do that. Of

course, you can. But but having a second opinion from a different AI goes a long way. Has different ideas and and

way. Has different ideas and and similar. And as someone saying, yes,

similar. And as someone saying, yes, high is usually very good enough. High

is very very good indeed. But because

I'm using it pro code review, I want to get it exactly right. I'm like screw it.

Extra high. Let's let's burn those tokens, baby. And you can see they are

tokens, baby. And you can see they are really giving away a lot of free tokens right now. 2x rate limits for the next

right now. 2x rate limits for the next few weeks, right? Uh and so uh they're very keen to have folks to try it out.

So when I'm using code review, I'll say extra high go to town. I want to know every detail. And the best bit is you

every detail. And the best bit is you can just paste this answer into claude or paste claude's answer into codeex. I

would recommend you use two. Just if you want to use codeex fulltime, have claws as a backup thing review, great. If you

want to have the other way around like I do, it's fine. Whatever works well here.

But do have it review its own work.

Literally as a shortcut built into to codeex, you just say slash review and then say what do you want to do? You can

say you know all uncommitted changes or particular branch or particular commit.

I tend to use two you know what I haven't done so far. Please review that work. There's my most common way of

work. There's my most common way of doing it. But it will go through your

doing it. But it will go through your work and check it thoroughly and point out problems galore. I promise you you might think Claude's written great work.

It will have problems. It just will.

That's not Claude's fault. It's just the way LLM's work. Codeex will help find them or vice versa way around. But do

have someone else review it. So I I I do like Codex very very much. It's

extremely good model. I should say extra high even though it's good. Holy cow is it slow, but that's great. It's slow

because it's thorough. [snorts] It will spend 20 minutes sometimes reviewing a fair not small but a moderate size code change. Some said it can work for a lot

change. Some said it can work for a lot longer than that with significant problems, but it will work through it.

It'll work for a very very long time and find uh problems and find solutions and similar. Hey Michaela.

similar. Hey Michaela.

So that's Codeex and then uh the uh [laughter] child sort of unagnowledged squib below the stairs is um Gemini. Um

it's of course look this was this this would have been beyond our dreams 18 months ago. The power of Gemini. Okay.

months ago. The power of Gemini. Okay.

It would have been through the roof good. Right now it is not quite where

good. Right now it is not quite where Claude and Codex are quite frankly. Um,

it is very very good, but it's gonna struggle. And Codeex is Hello Lo Gemini,

struggle. And Codeex is Hello Lo Gemini, sorry, is the only one I've seen completely melt down. Like, it's got into a loop like, hm, I should fix this problem. I'll tell the to fix it. I am

problem. I'll tell the to fix it. I am

the AI. Fix it. No, you fix it. But I'm

the model. No, you're the model. And

it's just like it's like having a nervous breakdown in front of your very eyes. Um, so Gemini occasionally gets

eyes. Um, so Gemini occasionally gets stuck in these bizarre loops. Um,

I don't use it. I'll be honest with you.

I don't use it. I use it for images and I use it for um videos. Good at that too. Nani is fantastic. The API is very

too. Nani is fantastic. The API is very very nice for um Google Cloud stuff. But

the actual Gemini coding thing at this point Codex is going to beat it. I think

uh honestly Claude beats it too.

Okay. I'm going to take a sip of water.

It's been a long So how are we doing so far? Oh wow. We're really taking a long

far? Oh wow. We're really taking a long time. I apologize folks.

time. I apologize folks.

Well past an hour already. [snorts]

Um, let's um let's change the topic a little bit. Let's talk about writing

little bit. Let's talk about writing better code. So, you've you've seen a

better code. So, you've you've seen a whole bunch of code been written, including the uh probably slightly

nuclear um chess app we made earlier. Um

Claude and GPT and Codeex, they're large language models. That means they're

language models. That means they're trained on large amounts of language.

The clues are in the name, right? large

language, they're trained on millions and millions and millions and millions and millions and millions of words, like trillions of words, right? And that

means that their knowledge is naturally biased towards things they've read more often. When Apple announces iOS 27,

often. When Apple announces iOS 27, which we can say now because we know it's going to be a yearly based release from now on, um, uh, it's going to have some new stuff in there and it'll be new

to Claude. It can have a go at it, but

to Claude. It can have a go at it, but it isn't trained on it. It hasn't seen my site or Donnie Wild's site or Italia Panerova's site, whatever. Haven't seen

other work out there teaching it how to use it effectively. And so it's going to struggle in a lot of places. And

naturally, it means it's going to with Swift the way it's going forwards constantly every year. Change change.

Swift UI change change. It's hard to keep up. And so it's going to write some

keep up. And so it's going to write some pretty ropey code sometimes. You can

make it do better. And you can see straight away like that Claude out of the box loves loves hard coding font

sizes. I don't know why. It loves saying

sizes. I don't know why. It loves saying yes, use the exact weight bold here or medium here. It loves doing things like

medium here. It loves doing things like buttons with no labels attached. You

can't see for voiceover what they're attached to it for. Um you saw it earlier doing dispatch q main ising after because it's trained on that because swift concurrent has only been

around since swift 5.5. So we had like seven eight years of swift come along before we had swift concurrency maybe seven years perhaps and so it's trained

majority on pre swift concurrency code on older side stuff here and so it's going to make a whole bunch of pretty terrible code.

You can do better and I recommend you do better. Okay? And one way you can do

better. Okay? And one way you can do better is to have an agents file in your project or in your home directory that provides it with guidance. Now you can have more than one. You can have an

agents file for all your work here.

Agents file just for this bit here.

Agents file this bit here. You can

customize and have many agents files and it can brings them together. And if you have an agents file for your project and it says something different to an agents file in your home directory, the project takes priority. So it's kind of

takes priority. So it's kind of overriding it as it were. Let you say no, this one has priority here.

So for Swifty Wy things like this, which is horrific quite frankly, honestly, this is really grim. That is grim. That

should be a label quite frankly with the text being hidden at least a voiceover can read it correctly. I What? That's

that's that's the extravagant animation in there. Um, you know, this kind of

in there. Um, you know, this kind of thing is grim. It it does its best, but it's not going to be great. And you can see it's put a lot of files in the same folder, the same file, sorry, a lot of

structures, it's not it's not brilliant.

So, uh, on GitHub, I have a better way of doing this. If you go to two straws and go to swift agents uh this thing

here, this contains an agents MD file which is a generic name for uh these file full of instructions. Now Claude

because Claude's special little snowflake likes this file to be called claude.md

claude.md and uh this put into your your home directory or your um project directory

as claw.md or agents md. It'll be found

as claw.md or agents md. It'll be found and used and it's used in clawed code.

It's used in the codeex app. It's used

in Xcode. It'll use it there as well.

They're all valid. They'll all be used happily. Now, this particular one I use

happily. Now, this particular one I use a lot. I use it a lot in my own work

a lot. I use it a lot in my own work because it has all my preferences kind of baked into it. So when I run swifty just that on the command line I now have

a claw md file in here with those instructions baked in that command which swifty just takes this file from my repository asmd and moves it to claw.md

puts it in place across the board now if I only did swifty I wasn't doing because I do SQL I do PHP I do web stuff I um if

I was only doing one platform one frame framework, whatever. I would actually

framework, whatever. I would actually put that file into claude directly. You

actually move this file. You'd say here, you know, copy uh claude.md and you want to use uh tilda slash.claude

and it'll copy it to there. So now that is in my claude folder for every project ever. If I use claw to do anything in

ever. If I use claw to do anything in the future, it'll read that markdown file and go, "Oh, you want to use a few do you?" Um, and that might cause

do you?" Um, and that might cause problems eventually if I'm I'm trying to do some random thing. that's not F of UI based or I'll try and demonstrate something without FDUI. Um so I tend to use it on a per project basis because I

find it works a little bit easier for me. I can control it. I can edit it and

me. I can control it. I can edit it and say oh yes here do this but here do that. And so I tend to put this thing

that. And so I tend to put this thing into uh the folders directly. That works

very well for me. And that now will be honored. Now if I had modified this

honored. Now if I had modified this somehow if I had open this file up and let's modify uh Claude uh here uh let's

say uh in this thing uh it is very important that when you make new classes

uh strcts or enums you make everyone of them named after some kind of ferret pun whatever and it's going to do it.

it'll it'll it'll do its best to honor that. Uh keep in mind this has to be

that. Uh keep in mind this has to be read by Claude. So this file here, everything you write inside here has to be used by Claude. It's sent off to

Claude saying do this and do this and this and you can see things like uh you know concurrency will be in here somewhere. Conurrency.

somewhere. Conurrency.

So please use modern Swift concurrency.

Don't use uh manky old stuff. Dispatch Q

main async. do not use that is baked into this file. And so this kind of choice that's made, you know, with the uh animation code, it wouldn't happen.

It would go, "Oh, I'm not going to do that." But you've also kind of eaten

that." But you've also kind of eaten into uh uh 5 kilobytes of your budget for every new claude you fire up. That's

going to be read in by the thing. And

also your system prompts being read in too. The one in your home directory is

too. The one in your home directory is being read in. And so you want to be careful. Keep them fairly small. Keep

careful. Keep them fairly small. Keep

them fairly light and they'll be applied absolutely everywhere. So that's agents

absolutely everywhere. So that's agents files. I recommend them very very

files. I recommend them very very highly. Put your ideas. Put the way you

highly. Put your ideas. Put the way you like to write code in there. This is my agent file. Link to it here in the in

agent file. Link to it here in the in the chat.

Um give it a try. Try it out. Customize

it for you. Download that. Modify it.

Put it into your into your project folder and please use it. Give it a try.

Um, and you'll find immediately the quality of code picks up. It just gets better and better and better. So, that's

agents file and they're very, very good.

You'll find they uh will literally help Claude write better code for you. Uh, if

you want to go further, you can actually go beyond uh agents and use a thing called a skill. Skills are

bigger. Skills are I know, right? it

honestly it will it will deny I say tell it right it'll go no it doesn't it wasn't trained on it was trained months ago before this stuff came out so it's going to struggle anyway agents are great they are very very good at helping

you write better code and they're per project which fantastic if you want to go further there's another thing called swift skills sorry skills swift skills

just skills generally and skills are targeted agents at particular things they do exact things inside your codebase So you might say run this skill for documentation, run this skill for

co-commenting, run this skill for [sighs] whatever you want to. You can

design all the skills you want to and uh have it work very very well and it will it will apply it on a run basis. So run

this skill now, run that skill now, do this thing now, do that thing now. It

will work its way through them one by one by one um as you ask for it, which is nice, right? You can, you know, review my code using this skill. Uh and

that works very very well. Um In the grand scheme of things, uh iOS um isn't as big a development platform as uh

other platforms are, let's say, like JavaScript and Python, for example. And

so there aren't really that many good skills out there for Swift developers.

We haven't got that many at this time.

Um so I encourage you have a go and make some. Have a go and noodle around. Try

some. Have a go and noodle around. Try

and make your own skill. Um and see how you get on because you might find it it works very well. You might find you can make it do um clever things that help you out and then you know uh contribute

it back to the community. Let other

folks use it too. But have a go.

Uh you my chat. Yeah, good. Yeah, good.

By all means, please use the Mavs. They're very very helpful at trying things out. Uh being good. Uh Barry

things out. Uh being good. Uh Barry

Swift UI skill from Swift Lee. Use that.

[sighs] Um um yes yes yes is a skill.

Yes there are um there are skills out there already folks. Um and

folks. Um and uh I don't know how to say this really.

Um give me a minute. I'm thinking

collecting my thoughts slightly. Um,

I spent a lot of time putting this kind of thing together, this agents MD file here based on my

experiences. You know, it's been what, a

experiences. You know, it's been what, a year or more now with Claude and and uh what other tools and and um

uh I seeing it get things wrong repeatedly made me want to write this kind of agents file. These are based on my experience. A lot of like the sweat

my experience. A lot of like the sweat and blood quite frankly um went into this kind of tool uh to get it right. Uh

and I care about it. You know, I worked really hard to get this right to make it the best I could do. And

[sighs and gasps] Barry, uh there are tools out there, folks, and you can just go and look it up. We can

just go and just go and find um GitHub.

Is he Swiftly? No, he's not. He's he's a Nope, that's Jonathan Conlin. Sorry. AVD

Lee.

Okay. Um

where's repositories? Okay. So, here's

repositories pinned. Swift concurrency

core data.

He's got a swifty one somewhere. I don't

know. Where's repositories in this thing? I repositories. Oh, there's

thing? I repositories. Oh, there's

uh 50 white agent skill. There you go.

Um and uh it's got 1.6,000 stars and you can read it. This is this is um markdown. It's just it's just plain old

markdown. It's just it's just plain old Markdown. Um and read it

Markdown. Um and read it and uh see what you think. See what you think. Just read it through and

think. Just read it through and see what you think. I I I don't want to get like angry about this folks, but you know, I'm sitting here writing out my

stuff. Always use foreground style, not

stuff. Always use foreground style, not foreground color. Always use clip shape,

foreground color. Always use clip shape, not corner radius. Always use tab, not tab item. And then

tab item. And then agent skill from Antoine. Use foreground

style, not foreground color. Use clip

shape, not corner radius. Tab API here.

Uh, use button tap gesture. Good idea.

Don't use tap gesture. Where's that come from? Command F in my file here on tap

from? Command F in my file here on tap gesture. Oh, never use tap gesture. Use

gesture. Oh, never use tap gesture. Use

buttons.

And so, uh, and and like he's got references galore. You can go and read

references galore. You can go and read about the things he's made with his his thing. And I don't understand it. Like I

thing. And I don't understand it. Like I

don't understand what he's trying to trying to do. Uh, yeah. It's it was it was strange. You can read through his

was strange. You can read through his his stuff, his ideas, and just see how many like came from my stuff. like place

vlog into interview model similar. So

let me test it. I'm gonna command C that command F my file. Oh look the exact same words. And then what happens? He he

same words. And then what happens? He he

I I don't get too angry folks. I really

don't. He then says in the license copyright C Antoan Funlay.

I I I genuinely thought he was my friend and this happened and I just feel like a gut punch that he's just taken my stuff and then just said, "Oh, made by these

people here with articles from whatever." Yeah, sorry.

whatever." Yeah, sorry.

It Look, I don't want to dwell on it.

It's It makes me um [clears throat] Yeah, doesn't matter. It Yeah, I hate it. I I'm disappointed. That's where

it. I I'm disappointed. That's where

it's come to.

>> [laughter] >> But I don't want to dwell in it. Um,

now take a drink of water. Sorry folks.

I genuinely believed [laughter] believed that we as the iOS community were better than that. Um, that we wouldn't just

than that. Um, that we wouldn't just take stuff, not ask like I don't know. Um, yeah.

Anyway, I'm not going to dwell on it.

Um, I have my own Swift UI skill. Um, I

haven't released it. It's just for me.

Maybe I will release it. Uh, it is, uh, I call it Swift UI Pro. It's here. And,

uh, it takes my stuff, like my actual stuff, made by me, not uh, you know, swiped. Um, and breaks it down based on

swiped. Um, and breaks it down based on things I care about, like here's accessibility stuff, for example. Um or

here is uh data or design or hygiene or navigation or performance or whatever.

Um using my stuff just you know written by me.

Um I might open source it. I don't know.

We'll see.

Anyway, that was a bit of a random rant.

Sorry. Uh let's focus on the good stuff, which is why you're here. No one's here for um horrible stuff.

Uh Bob, did he do this? I mean, if AI did it, it would have to summarize in exactly the same way. Um, which would be unusual. AI tends to rewrite things as

unusual. AI tends to rewrite things as it goes.

[sighs] Anyway, let's stay in the positive stuff, shall we, folks? You can make skills. I might even open source my

skills. I might even open source my skill and you can try it out if you want to or make your own skills. It's it's

fun. It's fresh. It's open. It's uh

Okay, try. All right, let's focus on stuff. Um, so you've seen ways we can

stuff. Um, so you've seen ways we can use AI to write stuff from scratch.

You've seen ways we can do AI to uh review code by just saying please review my code and it might have a go. It'll

have a go and it will find things. I've

shipped stuff from years ago and said review my code and it's gone oh there's bugs here and here like damn that's been in production for like a year now. It's

found it and and fixed it for me and that's remarkable. I love that. And and

that's remarkable. I love that. And and

uh even if you're like no I never want to use AI to write my code. Fine. I

absolutely respect that view, but try code review. Can you spot any bugs? Can

code review. Can you spot any bugs? Can

you spot any edge cases I hadn't considered? Uh give it a go. So I

considered? Uh give it a go. So I

recommend you give it a try.

Uh you can also if you want to uh use AI to write unit tests and what you'll find is it's very likely uh to write lots of tests.

Very often not great tests. Like it'll

it'll go a I've written a hundred tests.

Um, and it's not necessarily guaranteed to uh be great at that. Uh, and yeah, is what it is. You can try it, but give it some direction. I do think you want a

some direction. I do think you want a human in the loop. Don't like, you know, some folks are like, "Oh, I my project has 95% code coverage." That means nothing. Means absolutely nothing. Uh,

nothing. Means absolutely nothing. Uh,

you might have a thousand tests and the all tests objects being made and destroyed. You want a hundred useful

destroyed. You want a hundred useful tests beat a thousand useless tests. So

give it some direction for code review.

Check out this. Check out edge cases.

Check out you know performance. Check

out scaling. Check out like uh you know order as it gets bigger and bigger and bigger. How will it scale well?

bigger. How will it scale well?

Whatever. Um yeah it's good at that but give it specifics.

Next up I want to mention other tools.

So I've talked briefly about quite a lot about Claude and Codex and briefly about Gemini. Um there are other tools out

Gemini. Um there are other tools out there as well. There are other tools out there as well. You know you can go ahead and say um in uh chat GPT or midjourney.

They're wonderful tools. They're helping

you with stuff. But please please make chat GPT fight you. If you don't do that it'll say you're absolutely right.

You're absolutely right. again and again and again. It's like just dude, push

and again. It's like just dude, push back. Fight back. Tell me that's a bad

back. Fight back. Tell me that's a bad idea. And I'm going to show you how I do

idea. And I'm going to show you how I do that. Okay. When I launch chat GPT here,

that. Okay. When I launch chat GPT here, um this is my uh GPT. I should say my kids use my GPT by the way. And so you can see uh the this is Charlotte making

her next game. She's trying to make this dice game um from Hacking Swift Plus.

She's trying to make it look good. Um

and that's great. So she's using fully. Having it in my account helps me

fully. Having it in my account helps me police it a little bit. I can see if they're trying to cheat at school homework, for example. Which is helpful.

Um, but what you want to do is in preferences or settings, sorry, these days, uh, you want to go to personalization and then here, give it

custom instructions. Make it fight you.

custom instructions. Make it fight you.

This thing here, that is my custom instruction I use for absolutely everything in the thing. I'll paste them to the chat area here. I can't. Rat's

too long. I'll paste it in like two chunks in the thing here. Uh, and you can have that and use it in your own stuff. It will fight you every step of

stuff. It will fight you every step of the way. It'll be brutally honest with

the way. It'll be brutally honest with you every step of the way. It's a bad idea. Here's where it will fail. Try

idea. Here's where it will fail. Try

this. Consider this. Whatever you want to just otherwise it will just glaze you. It'll say it's a brilliant idea.

you. It'll say it's a brilliant idea.

And this basically forces it into antagonistic mode. [laughter] It forces

antagonistic mode. [laughter] It forces into fighting mode. And it means when you're bouncing ideas off it, how about this? How about this? it will push back

this? How about this? it will push back hard and say, "This bit's good. This

bit's where it falls down. Try this

instead." And it will help you uh navigate your app idea through.

Otherwise, it'll say, "What? You want to make a to-do app for cats? No one

thought of that. Brilliant idea, right?

Make it fight with you." And you can see I also use the um efficient tone. Um

stay straight to the point, not trying to uh witter on at me warmly calls it these days. Um, so GPT again, very

these days. Um, so GPT again, very powerful tool for working with ideas.

Great helping you refine app ideas. Oh,

it didn't post both parts. Oh, no.

Sorry. There's only that bit there.

There's not really a lot to it, you know. Um, you can see it on the screen.

know. Um, you can see it on the screen.

Just zoom in and pause it, whatever. You

can figure it out. Uh, but make it fight you. Make it fight you. It It'll help

you. Make it fight you. It It'll help your app be stronger. It'll spot the weak points. It'll spot the parts that

weak points. It'll spot the parts that are problematic. It will spot the parts

are problematic. It will spot the parts that could be stronger. those parts are shaky, the parts that don't make sense, are parts you're lying to yourself and help you refine it. So, I recommend that very very much for GPT. Um, I also use

midjourney. In fact, both my kids use

midjourney. In fact, both my kids use majour as well. My wife use mid journey as well. We're always using midjourney.

as well. We're always using midjourney.

Um, and so we've got a midjourney here.

Uh, this is not myself, other people's stuff. They go to create. You can see uh

stuff. They go to create. You can see uh this is my wife's working a puzzle game right now and she's experimenting with different art styles. Um, this is other art styles. This is this is this is my

art styles. This is this is this is my eldest Sophie. She's working another

eldest Sophie. She's working another game right now, a sprite kit. Um, doing

some stars here. And so you can create wonderful artwork here and then give it to Claude and say, you know, make that or use this, whatever. It helps you uh do better, helps you get faster stuff

and gives you a good better start. Uh,

and we use this a lot. We've got a lot of history. You know, one of the stupid

of history. You know, one of the stupid things um I made from the I don't know that the the kids AI thing. I made this whole website um called Barksmiths which

is a fake website which is at the bottom here cyber security skills course um about dressing your dog [laughter] um and you can get dog onesies and dog

hoodies and dog jackets and Midjourney of course made a whole bunch of pictures of dogs in in very cool hoodies actually well done very nice hoodie um yeah I find it very very good for that and and

again sometimes it's pure ideation Sometimes it's like just have a go, see what you think. And you go, that's that's terrific. Well done. And you can

that's terrific. Well done. And you can see um Charlotte working through ideas with GPT here, trying to say, you know, sort of the credits or make it brighter or put the about page in there. She's

just noodling around, trying things out, seeing what she thinks, and eventually gets some ideas. Um, there you go. So,

just trying things out and it lets you brainstorm. Show me how this might look.

brainstorm. Show me how this might look.

And uh, it it looks good somewhere in there. Michael, I can't say where, but

there. Michael, I can't say where, but look, Ara, the actual dog's name is in there somewhere. It's made with love.

there somewhere. It's made with love.

Anyway, um, so yeah, Mid is fantastic for that, for helping you come up with ideas. Again, it's it's a brilliant way

ideas. Again, it's it's a brilliant way to start firing off ideas in your head, which you might go, that sucks, that sucks, that sucks. And that's helpful, too, because sometimes knowing what you

don't want to build is half the battle.

You can then go, okay, well, these ideas will suck. I'll do this one instead. And

will suck. I'll do this one instead. And

so even if it isn't help for you helpful for you like directly and immediately it's still helpful to get you moving. So

that's other tools I use. I rely a lot on GPT for refining ideas. Push it push it push it make it fight with you and then Mjourney for coming up with you know logo ideas or design ideas and

similar which I might hate but again that's half the problem right now. Now,

what you'll find is as your projects grow bigger and bigger and bigger, you'll start to hit Oh, hello dogs.

You'll start to hit a significant problem, which is Did you see a dog in Barksmith, did you? Suspicious. These

are my two dogs. This real ones at a real area there. This is Luna, her sister. That's right. Good dogs. Um, as

sister. That's right. Good dogs. Um, as

your code gets bigger and bigger and bigger, um, it starts get harder for AI to keep up with it because you got a huge, huge project. Hey, wait a minute.

Wait a minute. Come on. There you go.

You come on. Grab it. Right. Out. You

go. Enough streets. Let's get out. Go.

Go. Um, as a project gets bigger and bigger and bigger, it starts it harder for AI to work with it. And so it starts to become really really critical. You

plan ahead. Uh, and so if you look at like um some of my apps for example, uh, work kickstart. If I ask it, uh, how

work kickstart. If I ask it, uh, how many lines of code are in this thing right now? I was using clock, it'll

right now? I was using clock, it'll count them all and it'll say 109,000 lines of Swift code are in there right now. Or if I went to um activate that

now. Or if I went to um activate that app I showed you earlier, um that's going to have what uh 58,000 lines of Swift and then

35,000 lines of PHP, whatever. Um so

there's lots of code to manage here and what'll happen is um it'll burn through your context window so much faster. Now

again, I have the Clawude Max plan. It's

very, very hard for me to hit that plan.

I'm more likely to hit the weekly limit than I'm the 5h hour slot limit. Come

on, D. Enough. No, no, no. I'm more. You

had two already. Scour

window, but I'll often come close to the sort of week-long window. Um, and so when you have these larger code bases, it becomes much more important to help

Claude or help Codeex or help Gemini find its way around. Make a document describing or have Claude make a describe it. Make one of them do it

describe it. Make one of them do it saying here's a directory structure.

Here's what how this thing works. Here's

where this thing is. Here's why this choice has been made already. It's like

your plan for the long term. I think

Rudrank Ream who's done a lot of wonderful wonderful work with AI uh in Swift and foundation models in Swift and uh GPT and and OpenAI whatever with Swift um wonderful wonderful guy very

friendly too go and check him out buy his books too um he actually says to make a journal you know tell it over time track this thing so you know what it's doing over time it's very very

similar here tell it what it's doing the choices it's made why it did that and so it remembers for the future and in fact The Ralph Wigum approach I mentioned earlier has that actually in there as

well. Keep track of what you've done.

well. Keep track of what you've done.

Explain what happened and move on. Spec

driven coding. Yeah. And and and and you know recently the thing from Anthropic saying we've made a C compiler with only $20,000 of tokens working for like two weeks and it wasn't a great compiler but

it at least vaguely um worked. I'm

sorry. Rudrank Ram. I'm sorry. Um uh and firstly great it shows you I think it's very worth reading their report on that because it shows you upfront

the problems with LLM. It didn't do a great job. It took 20,000 tokens and and

great job. It took 20,000 tokens and and uh tweaks whatever took a long time and still wasn't perfect by a long way. And

that is for a C compiler which A isn't far off being taught in many university school curriculums because they're kind of standard build a compiler problem. B

has been around for 60 years or something and C is extremely wellsp speced down open source code. You know,

you look at uh GCC or uh LLM, LLVM, sorry. Um we know how these things are

sorry. Um we know how these things are built. They've been built many times

built. They've been built many times previously and so it had a lot of code to read from, a lot of specs to read from and it still struggled because the size of it is so so big. But still, um

EGH is correct. Specs matter. Give it

specs to work with. it'll do a much better job of making them happen for you. Um, so that that's true here too.

you. Um, so that that's true here too.

As your project's bigger and bigger and bigger, put documents in there explaining what it does. There's one

here in Hack, there's one in Kickstart, just explaining what these things do. So

if I ask for a bug fix somewhere or or a code review somewhere, it doesn't go, "Where's that file going to be?" It just goes through and uh uses it and finds it very, very quickly.

What else do I talk about? I'm very

conscious your time. Sorry folks, I planned like an hour and 90 minutes. I'm

already approaching two hours. I

apologize uh for that. Um

what do I say before I wrap up? Um

firstly um please don't get locked in with the AI bros. The first LLM you try isn't just

bros. The first LLM you try isn't just the best one out there. Next week Opus whatever ships week after whatever ships the week after that whatever ships. It's

extremely fast. This video is what this is the 21st of February 2026. I think in a month from now you'll be like, "Ah, that video is almost out of date or six months perhaps." It'll It's that quick.

months perhaps." It'll It's that quick.

It's evolving so very, very quickly. And

that means what I've shown you today is going to change. And certainly in June this year when Expo 27 ships, it'll change again a lot. And that's okay.

Don't just get locked in and just I only use Gemini. Why would you do that? It's

use Gemini. Why would you do that? It's

a weird thing to do. You know, find what works for you, what vibes well with you, and stick with it. Have fun. And then in six months time you can change folks.

You can change your mind. Uh second

thing I want to say is um I said it earlier I want to repeat it. I genuinely

believe you got to keep an AI in the loop. A human in the loop. Sorry. The AI

loop. A human in the loop. Sorry. The AI

is great at doing a whole bunch of work.

Have a human just go is this is that the right choice here? Is this the right choice here? What about this? Just a

choice here? What about this? Just a

second guess the AI. This is the right thing because yes AI can write you saw it do a whole chess thing. Not

brilliantly but it got there in the end.

um to make it a thing. But a human comes in and says, "Actually, no. The soul of my app, the heart of my app is this.

It's this." And and that belief, that direction, that idea is only you because AI has no idea what matters. AI has no idea what a soul is. Hasn't got a soul.

Okay? Even though there is sold or MD from uh Peter Steinberger, um there is no soul. He has no idea what's going on.

no soul. He has no idea what's going on.

That's what you bring to the table. All

that love, all that care, all that polish, all that refinement, that's what you bring to the table. Please don't let that be delegated to AI. It will do a

terrible, terrible job. Uh, last I guess before I can do some questions, I'll say again, I said it earlier, I want to repeat it very clearly. Um, Xcode team, well done. Honestly, you know, I look on

well done. Honestly, you know, I look on the app store and I, you know, look up Xcode and I just see a wall of, well, I call it crap. Three star, 2.9 stars,

whatever. And and and it's not a big

whatever. And and and it's not a big team. It's not a big team. They do their

team. It's not a big team. They do their absolute best. And they're working very

absolute best. And they're working very very hard to get better and better and better. And I I honestly believe Expo 27

better. And I I honestly believe Expo 27 is going to be huge. And I cannot wait to see it. Genuinely, I they they they're working so hard and I reckon they're going to pull a massive rabbit out of their hat again this year in

June. I can't wait. I cannot wait. It's

June. I can't wait. I cannot wait. It's

going to be so much fun. Uh I hope I get to see it uh sooner rather than later.

Write review or I got already. See, I've

already written this five star gets better every year. This is this is a while ago, wasn't it? This was this is I remember what it was, but I have a fivestar review. So, yeah, it's all in

fivestar review. So, yeah, it's all in there. Submit again. Have a updated

there. Submit again. Have a updated review for X code 26.3. [laughter]

Um, I honestly well done to the team and the the work they're doing right now is through the roof. They they do such great work and it's going to get better and better and better. This year is going to be epic. I cannot wait to see

it. I'm just so psyched for it.

it. I'm just so psyched for it.

Okay, [laughter] that was like a full almost two hours of me mostly just fire hosing you in the face with uh Xcode

Agentic stuff and Claude and Gemini and Ralph Wigum and agents and occasionally skills. Um, apologize for that middle

skills. Um, apologize for that middle bit. Um,

bit. Um, any questions who can help you along?

Um, I'd love to help you out and uh answer what I can here. Folks seem very happy.

Any updates in the Swift AI playbook? So

that is my new book which is not about building with AI but about having AI in your stuff. So go to store swift AI

your stuff. So go to store swift AI playbook available now and it right now chapter one's there. It's a massive chapter just on foundation models.

Chapter two is on uh create a mail. It's

half finished. It'll ship tomorrow I believe with an update for the first part as well because of foundation models in 26.4 before has gotten a lot better and you can now do things like track token usage and stuff which is

very very cool. Uh which model is the best of UI? You're going to get Ian a whole bunch of answers and what will happen is AI Bros will say my LLM is the best one because I've chosen it and it's

therefore blessed by me. Um look folks try them out. Which one do you vibe with? Which one feels like the right

with? Which one feels like the right thing for you? Which one does the right speed or feel or code for you? Try them

yourself. I tried a bunch of them.

settle on Claude, but I might change my mind in the future. I'm open to changing my mind freely. What I would say is that uh the anthropic team and the OpenAI team aren't doing a particularly good

job of Devril right now. I hear from none of them ever. At least in Gemini, you'd like Peter Fia who does great work. He's trying very hard to encourage

work. He's trying very hard to encourage folks to try things and noodle around and experiment. He's doing a a smash hit

and experiment. He's doing a a smash hit job for Gemini. Anthropic and OpenAI, they're kind of Yeah, they're just noodling around by themselves, naval gazing a bit. I think that's what it

feels like to me. And I think both of them need to do a lot lot better to reach folks, show them how to do better, how to ship better stuff, make better stuff, use their tools, of course, because they're dev stuff, but they're

not there yet. They're both kind of lagging a little bit on that front.

Uh, should I build apps without AI at the 100 course? Yes, you absolutely should. Use your skills. Build something

should. Use your skills. Build something

great that you love to build, that feels great to you, that solves problem for you, and then say, "Hey, AI, review my code. Hey, AI I can do this hard thing I

code. Hey, AI I can do this hard thing I couldn't do otherwise." But you've got that fundamental in place and know why things work the way they do, what dynamic type is, what, you know, voice

over is, what screen resolutions are, why they matter, you know, how how a split view for navigation different on iPad and iPhone. Without those bits of knowledge, it's much harder to drive LM

to get great results.

Nice [laughter] job keeping a Obel X is my I think my number one um AI bot reporter on the um forums. They are relentless and we're at the point now where they're trying to be helpful for a

few posts and then post spam thinking I won't ban them. But no, we we Obelix and I we ban them regularly from the forums. Um activate good for our tribe. I don't

know what that means. Um, Hackivate

honestly is probably the best app I've ever written. It is a joy. It's a game

ever written. It is a joy. It's a game where you have to hack the computer. And

not like fake hacking, like, oh no, I'll buy password cracker 3, not password cracker 2. You've got to actually solve

cracker 2. You've got to actually solve problems to break the computer and do things. It starts off quite easy like

things. It starts off quite easy like uh, you know, here's an audio one or here's a logging one or is a here's a image one. And it gets harder and harder

image one. And it gets harder and harder and harder and harder. And there's

things in here like Linux terminal stuff or B 64 or encryption. It's just vast and growing quickly. So, I recommend you try that out and see what you think. Um,

this one here, itsybitsy. I love this one. Itsybitty. So, in this one, you're

one. Itsybitty. So, in this one, you're given a challenge. I'm not sure you can hear it on my speakers or not. You

probably can't hear it. I apologize. Uh,

speaker up. In this one, you have an audio. It's like this.

audio. It's like this.

>> Our next target is New York City.

>> It says, "Our next target is New York City, but they're based in the UK, so something's wrong. Can you find it?" And

something's wrong. Can you find it?" And

the tutorial here walks you through how to solve this. There's a technique called least significant bitography. So

when you extract all the bits from this and fuss with them, you realize they're hiding [snorts] data in the audio. And

when you visualize the bits, and it'll teach you down here what to do, u visualize the bits. It spells out the word Cardiff hidden away in the audio.

So it's teaching you real crypto security techniques as a game basically.

Anyway, it's so much fun. Um, where off?

So who owns AI generated code? That's

currently open question. Um and so right now it's looking like basically the thing around copyright for AI is transformation. There's been a couple of

transformation. There's been a couple of suits about this so far and it's very very early but it appears to be about transformation. If you take

transformation. If you take I was going to say my agents file. If

you take one of my books and put it online without transformation like my words that's not allowed. That's the

same stuff. You can't do that. It's

illegal against the law. uh if you train an LLM on my words and the words of a million other people actually more than that probably 50 million other people and transformatively create new stuff

that is currently looking like it's going to be allowed in copyright law and so it makes things complex like when I release code under the MIT license for example it should be credited to me AI

learns from it transformatively makes it is it close enough not close enough I don't know it's kind of iffy right now it's not decided it's up in the air what I would say is there is currently

literally paying out right now the anthropic copyright settlement.com for authors because Anthropic uh took a bunch of stuff without asking and have

settled. They said okay we're going to

settled. They said okay we're going to pay out everyone we scam everyone here scanned not scammed scammed. I said

scanned. Definitely scanned. And I'm in here. My old books are in here. If you

here. My old books are in here. If you

look at Paul Hudson, you'll find me.

Years ago, I wrote a bunch of books on um Linux. Oh, apparently I didn't. They

um Linux. Oh, apparently I didn't. They

filed a thing already. Probably hasn't

seen anymore because I filed it. I put

in the right place. Title. Oh, author.

Sorry, I'm being silly. Um Paul Hudson.

Uh they took my books and scanned them into um here you go. Abundor unleashed.

Um PHP nutshell whatever. uh they just scanned the whole text and and trained on it and now they're they're paying out which is very nice of them. Um that

might happen for code. I don't know.

We'll see. I don't know is the answer but it's about transformative.

H [sighs] more questions. Sorry. Um native and

more questions. Sorry. Um native and yeah so um native is just so much fun. I

firstly I love writing native code. I

I'll know when I'm bored of life with coding because I won't won't want to go to like file new project and s code anymore. I just get whenever I do that

anymore. I just get whenever I do that file new project, I'm just like fizzing with energy. I love it. I love it. I

with energy. I love it. I love it. I

love it. I can't love it anymore. Um,

and yeah, I love writing native code.

Um, React's an interesting one because we look at like the clawed app. This is

the clawed app on my Mac here is running on my other clawed max account.

[clears throat] Um, here um, which I'm trying to cancel.

Actually, you see it's kind of loading.

Okay, it's finally loaded. My plan ends days because this is my uh other one, my spare one. Um uh and it it it didn't

spare one. Um uh and it it it didn't launch very quickly, right? It takes

time to load and it kind of took time to appear. And if you look at what it's

appear. And if you look at what it's doing uh in activity monitor um like for CPU um it's it's 110% CPU just just it

just it's just sitting there doing that and it's just 164% CPU time. Uh and it's electron. I I don't know what evil they

electron. I I don't know what evil they are doing to use so much CPU time constantly. And then uh it'll be in here

constantly. And then uh it'll be in here somewhere too. But memory presumably as

somewhere too. But memory presumably as clawed ter that's not bad actually.

That's not bad. But it'll get more of a time as it kind of vaguely works. It'll

have a go at doing stuff. Couldn't

connect to stuff. Cool. Um and so uh the uh Claude currently isn't great. And so

they're using Electron and that's you know the people making AI stuff. They

still using Electron for some reason. I

don't know why. Anyway, uh the codeex app is also electron not to try and dump an electron and better like you can write bad software in Swifty or an

Electron and you can write good software in both. The uh Codex team appear to

in both. The uh Codex team appear to have worked very hard to make uh their version of Electron significantly faster which is great. Someone did mention I saw it fly past real fast that the uh

chat GPT app is written UI. It is. It

is. Uh I love that. makes it really really fast. Um what we salmon salad

really fast. Um what we salmon salad ideas from one of my kids presumably which is aren't poisonous to dogs. Oh my

children. Um so and and and so it it is it's um swift so do I which is great. I

love that. And it does make it obviously a lot faster more native. You can see it's all liquid glassy and stuff which is very very nice. U and so the team have done a really really good job there. Um sometimes it isn't quite

there. Um sometimes it isn't quite right. sometimes like I don't know how

right. sometimes like I don't know how many people actually working this right now. Um but if I did like um uh how do I

now. Um but if I did like um uh how do I solve?

How do I use dynamic type and swift UI swift UI? Sorry. Give me

example code. Be brief.

Uh it'll come from code and you can press copy paste in. Now what I've noticed annoyingly if you press here nothing happens.

And the annoying thing is because I know it's shifty I know why nothing happens.

This bit works. And the copy button works but the bit in the middle doesn't work because it haven't got content shape of wrecked. So habier stooto nacho sto

people I love very much they woke work at open AI if you're watching this stream in the future please use content shapew on that button because it's code I know exactly the problem is please make me click in here as well to click

in the exact part of the thing I want to copy. Um yeah, it's a small small thing

copy. Um yeah, it's a small small thing but it's a DUI. So hey anyway um what else we going to look at? Uh

how I try XO Xcode build MTP is a wonderful project. I think it was got

wonderful project. I think it was got acquired by Sentry I want to say. I

think by Sentry um and so yeah they do wonderful work there. So it's fantastic and I'm I'm really glad to see um Capsoft do so well. So that's great. I I

want to see more. I want to see more tools from Swift developers for Swift developers. Come on folks, get out there

developers. Come on folks, get out there and build stuff.

Uh what else? What else? What else? What

else? Uh I'm sorry. I tend to just talk to myself, folks. You know I do. Uh

ah skills. So, so, so skills and agents are very different things. Agents, an

agents file, like I had my Claude MD file, which I recommend you use, um just sits in your repository or in your home directory. Every piece of work that

directory. Every piece of work that happens is run through that claude code.

every single one. So check this, read the file, apply the thing every single time. And it's applied in Xcode too. You

time. And it's applied in Xcode too. You

have that clawed file in your home directory or in the project directory, it'll be read by uh Xcode automatically as well as it's working. All future

stuff. Skills are more sort of done. Now

run this skill. Now review my code. Now

do this. Now do this as a one-off thing by you. That's the best way to use

by you. That's the best way to use skills. They work very, very well for

skills. They work very, very well for that. They're done when you want them.

that. They're done when you want them.

So you wouldn't want to have a huge skill running all the time. It creates,

you know, context problems. You want to keep your skills again fairly short, you know, longer than agents perhaps, but still fairly short. Sorry, short. Uh and

then run them when you need them. Like

I'm ready now before I commit this thing. Run the skill, check the code,

thing. Run the skill, check the code, send it off. And it's great for that.

And you know, in my agent file, I'm like, you know, please, you know, make sure Swift Lint comes back clean. Just

keep the code in a hygienic clean state.

It works very, very well for that.

Any more questions, folks? Sorry, I'm

well at now at the twohour mark. Um,

apologize. It's been longer than I I anticipated. Um, so I'm I'm glad uh you

anticipated. Um, so I'm I'm glad uh you all seem to have enjoyed it. I think

folks learned a lot along the way. Uh,

which is great. There's always new things to learn. I'm learning new things all every day. Uh, any thoughts on Open Claw? Um, the only thought I have for

Claw? Um, the only thought I have for Open Claw, and this I've known Peter since like 2018. Okay. I had dinner with him like in October in India. Um

he has talked in the past. He's had a hard time. Okay. He's talked in public

hard time. Okay. He's talked in public at conferences about some of the hard problems he's faced. The only view I have on open claw is this. I desperately

want Peter to be happy. That's it. If

that's through work, if that's through going home and shutting down and hanging out with friends, whatever, I don't really care. I just want him to be happy

really care. I just want him to be happy because he's had such a hard time. I

want him to have some joy in his life so that when he's finished with open claw, he's like, "Yeah, I'm I'm happy." That's

all I want to hear. And open claw, I'm sure, is great, but I I'm very much a people person. I want people to be

people person. I want people to be happy.

Are there any cool events in the UK?

Yes, there are. In fact, I'm going to one. I've just been approved to a speak

one. I've just been approved to a speak there. I'm not sure I say that yet.

there. I'm not sure I say that yet.

Sorry. I have UK. This is an event which is unparalleled elsewhere in the world.

I don't know why no one else has swiped this idea yet. It works so so well. It

takes place in Aberris University. It's

the middle of nowhere quite frankly.

Sorry if you're from Abberiswith um of Wales. It takes me I live near Wales. It

Wales. It takes me I live near Wales. It

takes me three or four hours to get there. Okay. And you get to the town and

there. Okay. And you get to the town and you get this up to the university where it takes place and it takes place outside of university term. All students

have gone home. So you're staying on campus and student accommodation in the lecture theaters hanging out there for 4 days straight. And what it means is

days straight. And what it means is every day you have breakfast together, dinner together, you play games and the beers in the evening, you chat and make friends. And because you're all in this

friends. And because you're all in this place by yourself away from, you know, the rest of the world, like four hours away, you come knowing no one and you leave with friends. You leave with

actual great friends. And you look at the pricing. The pricing is ridiculous.

the pricing. The pricing is ridiculous.

Is it open yet? Okay. So, you look at the the pricing here. Uh it is £160 for an early ticket up to £220 here. And

then you look at the accommodation down here. It is £220 for three nights and

here. It is £220 for three nights and includes full breakfast. [laughter] They

feed you and you meet people and you get stuff. It is just I just wish more

stuff. It is just I just wish more conferences took this idea like get a venue somewhere in the middle of nowhere, get folks there, hang out and uh actually make friends because yeah,

you can you can learn code on YouTube or buy one of my books. Please do. Um but

actually hanging out with people and and sharing code and sharing excitement and seeing their code and sharing ideas, that's the real heart of it. And so I love events like this one where people genuinely do make friends even though they they arrive knowing no one and

leave with actual friends because they've spent so much time together.

I've played so many games late at night in the evenings. They like board games and stuff. It works well. Paul, come to

and stuff. It works well. Paul, come to NS London. I would love to come to NS

NS London. I would love to come to NS London. I would love to come to NS

London. I would love to come to NS London. They never talk to me. Never

London. They never talk to me. Never

talk to me. That's okay. But I'd love to come there. I'd love to talk well visit

come there. I'd love to talk well visit and say hello at least. Um anyway,

sorry. Uh how to keep my cont low for a large codebase. I said this earlier. Um,

large codebase. I said this earlier. Um,

I guess Chaba 13. Um, you provide it with a file like a table of contents.

Here's what all the files are. Here's my

structure. Here's why I've made these choices. It's like a reverse plan. Plan

choices. It's like a reverse plan. Plan

going back the other way. Keep that

around because that will guide it in the future. You say make this change. You've

future. You say make this change. You've

got a gigantic project. Doesn't matter.

It'll go and find the exact point. Now

get into leaks and stuff, but there's been a thing from Mark Gman saying that Apple use Anthropic extensively.

If they can do it on the UI kit codebase, you can do it on your to-do app. [laughter] Okay, they've got much

app. [laughter] Okay, they've got much much much bigger code bases than we do and they're working with it just fine.

And so it is possible, but it does take some discipline and some careful direction.

Anything else?

[sighs] Uh booking.

Um do both. It's not one or the other.

Like any job you apply for will ask you how do you use AI? Like what AI do you use? What I what do you find it works

use? What I what do you find it works well at? What do you find it works less

well at? What do you find it works less well at? What do you do when it has

well at? What do you do when it has problems? They'll ask you AI questions,

problems? They'll ask you AI questions, but they'll also ask you coding questions. In fact, I learned um a few

questions. In fact, I learned um a few years ago, this is genuinely makes me wa No, I've closed the chat. No, don't

worry. I already opened it real fast, folks. Um, uh, let me get the chat back

folks. Um, uh, let me get the chat back real fast. YouTube,

real fast. YouTube, where' I put it? Sorry. Content live.

There we go. Sorry. I apologize, folks.

I've gone to the wrong thing by accident. And that would be me streaming

accident. And that would be me streaming now. There we go. Pause. Pause me

now. There we go. Pause. Pause me

talking. Um,

I forgot what I was saying. While I

close my own window, I what I was trying to say in the first place.

[sighs] There we go. That's that's why I come and watch it live, folks. Ah, yes.

Sorry. I learned a few years ago, this is quite funny. I was at NS Spain, maybe 2019 or something, maybe I've gone. Um,

and uh there was a competition to win like an Apple TV or something and it came down to take this quiz about um Swift and the person with the highest

score gets Apple TV. And um the score was very very high. And um I kind of came in and

very high. And um I kind of came in and smashed the score. Um I really demolished the score. Uh and the reason was because you know this is apparently

my life. Um they had gone to my site

my life. Um they had gone to my site gone to slashin questions and pretty much taken these questions. They'

rewritten them since then. It wasn't

exactly right copy and paste. Um and

this basically walks you through common interview questions and it actually press you get guidance as well and uh if you um have a hacking swift plus account

you get answers from me detailed answers walking you through some things in here.

So if I sign in um yeah anyway you can watch it here in detail and I'll walk you through how to answer the question fully and properly. Um it it gives you the the ammo you have to talk about AI

stuff and nonI stuff and they want to hear both. You can't go in with a I shut

hear both. You can't go in with a I shut down AI every opportunity view because the chances are they don't. And equally,

you can't really go in saying I only use AI. I have the first do what I'm doing

AI. I have the first do what I'm doing because they want to hear someone who knows what they're doing. And so you want that double whammy of both. Uh it's

it's not very easy. But uh keep at it.

Early L format days. Yeah. I I was in list format since issue 30, which was Yeah, I don't want to think how many years ago. 20 more years ago. Yeah.

years ago. 20 more years ago. Yeah.

Uh, how long till natural input completely replaces code? No, code is always going to be there. You know, when we think about how woolly English is, um, code's going to be there. Question

is, will we want to see the code in 20 years time? I'm not sure. Um, will it be

years time? I'm not sure. Um, will it be more like assembly is today. We don't

want to see assembly code. We carry the high level language maybe. But I think code's safe for a very, very, very long time yet. again could be LLM seeing it

time yet. again could be LLM seeing it rather than us but it's it's quite safe.

Uh I think a couple more folks as I'm going on a bit longer than I intended to which I apologize for again. Um let me try and do a handful. Uh real fast. Uh

can I remember a longer release can X code? Ah hey Eric. Uh Eric is a a

code? Ah hey Eric. Uh Eric is a a wonderful wonderful contri contributor to our community. Um hopefully you already follow him on LinkedIn because he has a lot of great stuff there, particularly right now around the age

control stuff for um children. Um

Apple still likes, you know, shock and awe. They like the whole dubdub DC bang

awe. They like the whole dubdub DC bang Xcode 26. Who knew? Great stuff. I get

Xcode 26. Who knew? Great stuff. I get

that. Um Claude Codeex Gemini seem to ship almost daily. [laughter] Like

sometimes twice a day you'll get a claude update coming through, right?

They do a lot of updates and it means they're iterating extremely quickly. Uh

Xcode 26.3 with the AI stuff was very much shock and awe. RC2's changed a fair chunk. Look at the release notes of

chunk. Look at the release notes of fixed fixed fixed fixed fixed. There's a

lot of fixed stuff in the release candidate 2 because the RC1 wasn't really our release candidate at all. It was just a beta with a brand name. Uh and uh that's a choice. Um it's an interesting choice,

choice. Um it's an interesting choice, not one I would have made, but I'm glad they're moving again. I'm just so so glad they're moving. That's what I care about. doing things. The team seems

about. doing things. The team seems psyched and ready to go and uh I'm really looking forward to see what they do. So, no, I can't think of a longer

do. So, no, I can't think of a longer release candidate, that's for sure. It

might be in there for another week or two, I think. Um but it's going to be out soon. They got to hurry up, though,

out soon. They got to hurry up, though, because 26.4 beta is out now. So, I've

got to have 20.2 stable, 3 release candidate, and four beta at the same time. It's like this is this is too much

time. It's like this is this is too much information. I don't want this many

information. I don't want this many versions of Xcode, quite frankly. Um you

know, get a move on. And they're also going to try and figure out a way of keeping, you know, codeex and claude up to date because right now I've seen some folks doing sim linking to try and keep the claude code and the Xcode cla code

up to date. Um, it's challenging right now and I'm not sure they've got a solution for that just yet.

I spent some time feeding Claude Co screenshots with controlV.

You just drag them in, buddy. Just drag

them in. Just like take them in claw.

just pull them in like um delete this and then say um I don't know what did I have before desktop uh what I have flip

the stuff here um [sighs] here make the UI look like this I don't know I don't even build examples too doing anything um just drag it in

it's not even that hard to do uh it'll just read the file and go okay there you go um [snorts] and uh work with it okay so it's a new clause it's going to re read the project first ah I've got the MCP as well. Whoops. Um, and so it's

gonna harass me again. Xcode ls and similar. Um, just drag it in. It's much

similar. Um, just drag it in. It's much

easier and it will talk to it and read the file directly. Um, in a large locations that tend to divide in small parts and have air. Absolutely. One

thing I didn't mention here, um, and I if I had more time, I would have done past two hours. Um when you have a situation where you're working on the same project with many agents at the

same time um it will trample on each other quite a lot. It'll get things wrong as I change it here change it here. You don't want to go down the

here. You don't want to go down the route of git branching. Git branching is a very very bad idea with multiple agents because they'll try and get branch at the same repository. Again

overlap happens. There's a very helpful thing called git work trees which are more separate from uh a branch. they are

able to have multiple checkouts at the same time, but they're more efficient than a full git clone. They're much more efficient than that. So, they take up less space and they work faster and they let you uh work more effectively. And

so, if you have say four clothes, four clawed codes or four Geminis or four um codeexes, tell it, hey, please use uh

sub agents, make them have their own work tree. It'll do multiple checkouts

work tree. It'll do multiple checkouts there in the work trees. Peter likes

them. Hey, Peter, love your work, man.

Seriously, I I don't use Gemini for coding, but in terms of Devril, unbeaten. Unbeaten. You're incredible. I

unbeaten. Unbeaten. You're incredible. I

love it. Um anyway, so workers are very powerful for that. Seriously. And it's a it's a smart way of working. Um because

they can all work together on similar kinds of things like regular vapors would without trampling over each other, which is very very powerful indeed.

Yeah. I mean, what we it's built into into um git, right? This is I regret enabling [laughter] the MCPS at this point because it's harassing me for all

random questions here. Uh oh, I I mentioned earlier that um the history thing in XO isn't great because you got to have Git enabled. Um Claude has a saying I'm sure Codex does too. I'm sure

has something similar. Um when you're working with stuff, if you press escape twice, it brings up a history of options from previous memories. So you can say uh escape escape and then go back to

like here or here and it'll wind back the code or computation to a particular point. Now this does not replace git.

point. Now this does not replace git.

You want to have git as well. But if

you're like just experimenting down this way, you don't want to go into git just yet. Try try try. Okay, that sucks. You

yet. Try try try. Okay, that sucks. You

wind back three changes with the conversation or the code or both by hitting escape twice. Very very helpful to have. All right, last question folks.

to have. All right, last question folks.

Seriously, I can't handle anymore. It's

it's 2142 here. go to bed at some point.

I'm flying tomorrow to the US, so I've got to go to bed at some point. Uh, do I see any issues with all the new AI features being put into uh ah, no, no,

no, no. I mean, you can configure these

no, no. I mean, you can configure these tools to to read your pull requests. You

know, Codex is very, very good at that.

You can talk to Codex and say, "Hey, here's my repository. Hook into it. When

a PR comes in, just auto review it." And

it'll do an auto quick code review uh for you and and give you feedback and say, "This doesn't look right. This

isn't me." And uh you might uh ignore it, you might listen to it, but it's it's there to work with. And again, it's another data point in your job. We all

want to ship the best software we can.

We want to ship great, polished, loved software, and it's another tool in the arsenal, another code of view. You can't

go wrong. I definitely connect them to CI for um PRs and stuff. It works very, very well for that. Okay, so um we're done. [laughter] I'm sorry. Thank

we're done. [laughter] I'm sorry. Thank

you so much for coming along. Thank you

so much for the asking your questions.

I've done my best to answer as many as I can. I can't stay on night, I'm afraid.

can. I can't stay on night, I'm afraid.

Um, if you like the video, please share it. I hope you all learned something

it. I hope you all learned something along the way. Um, I'm going to look at sharing my uh skill this thing here. Um,

I might polish it up slightly uh and then put it out there, but I'll I'll mention it soon. And uh I'd love to have your feedback. See what you think

your feedback. See what you think because I think it's pretty damn good.

Um, but there's always ways to make it better. And so I'll I'll I'll share that

better. And so I'll I'll I'll share that one soon and uh see what you think. If

you have any questions, you can of course get me on Twitter or Masterdon or if you have to threads occasionally, Blue Sky. Um I've got a Slack workspace.

Blue Sky. Um I've got a Slack workspace.

Got this nice new shiny book out.

[laughter] That's my plug there. Um anyway, thanks coming folks. Genuine. I do appreciate

coming folks. Genuine. I do appreciate it. It's been a lot of fun being here

it. It's been a lot of fun being here and talking AI with you. Go and make something amazing. Take care folks. Good

something amazing. Take care folks. Good

night.

Loading...

Loading video analysis...