## Theme
This lecture covers setting up Google Cloud projects for AI workloads, including Vision and Natural Language services, serverless functions, and a data platform workflow. It details permissions, service accounts, token management, logging and secrets, and environment/version hygiene. Use cases include Vision AI for object, face, emotion, and sensitive content detection with metadata storage, and NLP/chatbots with personalised models and widget-driven data capture. Emphasis is placed on real-time/on-demand pipelines, monitoring, and compliance.
## Takeaways
1. Overview of Google Cloud offerings relevant to automotive and broader applications
2. Weekly product updates via a newsletter referred to as the Open World Policy Guide
3. Use of AI/ML in Google Cloud with logging, tracing, usage metrics, and Cloud Functions
4. Serverless data platform referred to as Quadra for scalable data setup and binary processing
5. Vision AI capabilities: images, faces, photos, image timing, motivation, metadata generation
6. Natural Language AI for understanding user experience, generating content, and creating options for motivators
7. Real-time and on-demand dynamic selection of widgets to centre data and translate it into databases
8. Chatbots leveraging AI with personalised training models and widgets
9. Library management: creating pages to ingest and retrieve data
10. Vision AI workflow: ingest image, process, generate metadata, localised object detection, faces, emotions, and sensitive content identification
## Chapters & Topics
### Setting up a Google Cloud project with AI services
> The lecture outlines how to create a project in Google Cloud, connect ancillary services, enable relevant APIs, manage service accounts and tokens, and integrate Cloud Functions, with an emphasis on permissions, logging, and secrets management.
* **Key points**
* Create a new Google Cloud project
* Connect the project to Bing (as stated in the lecture context)
* Enable the required APIs for Vision AI and Natural Language AI
* Invite service users, collect their email addresses, and ensure they follow API access procedures
* Assign event management permissions explicitly to avoid failures
* Create and configure service accounts with least privilege
* Generate and use tokens to send data to Cloud Functions
* Sign logs and adhere to logging principles
* Store secrets properly and test configurations to avoid accidental changes
* Manage versions carefully (mention of disabled version and 12 stories) to prevent mixing projects
* **Explanation**
The process begins by creating a new Google Cloud project. The speaker indicates an example flow where the project is connected to Bing and necessary APIs are enabled. Service users are invited via their email addresses and must follow the API procedures, making event management permissions critical to prevent issues. Data storage involves service accounts, with tokens used to transmit data to Cloud Functions. Permissions should be assigned based on least privilege principles, ensuring only needed access is granted. Logs must be signed and maintained according to organisational principles. Secrets should be managed securely and tested to prevent unintended changes. Version management is highlighted, mentioning a disabled version and 12 stories, and the need to keep projects separated to avoid cross-environment interference.
* **Examples**
> The speaker demonstrates a Google Cloud console page where an image is provided via a URL. The system processes the image, then generates a description, an app context, and media metadata. After processing, the user can review the image outputs. The demo relies on having database options configured to store and retrieve the generated metadata.
* Navigate to the Google Cloud console page prepared for Vision AI
* Input an image by providing its URL
* Trigger processing and observe the status indicator showing the image is being processed
* After completion, review generated outputs: description, app context, and media metadata
* Verify that the database options are correctly configured to store and retrieve the metadata
* **Considerations**
* Ensure event management permissions are granted; otherwise, required functions may fail
* Apply least privilege principles to service account permissions
* Always sign logs and maintain proper logging practices
* Store and manage secrets securely; test configurations to prevent unintended changes
* Keep versions and environments separated; avoid mixing projects (reference to disabled version and 12 stories)
* Enable the correct APIs before attempting service calls
* Verify token generation and validity when sending data to Cloud Functions
### Vision AI capabilities and workflow
> Vision AI is used to analyse images, identify faces, emotions, objects, and sensitive content categories. It generates metadata that can be stored and used across applications. Effectiveness depends on how the image is provided and processed.
* **Key points**
* Analyse images to generate metadata
* Identify localised objects within images
* Detect faces and infer emotions or senses
* Handle portraits and images with human visibility
* Perform optimisation options based on detected instances
* Identify sensitive content: medical, injury, death cases, violence, etc.
* Store resulting metadata for further application use
* **Explanation**
The Vision AI pipeline begins with ingesting an image, often via a URL. The system processes the image and generates metadata including object localisation and face detection, potentially inferring emotions or senses. It can distinguish portraits and images with visible humans, and trigger optimisation options accordingly. The interface is described as simple, featuring data IDs, function bindings, and dashboards to manage work. Sensitive content identification spans medical issues, injuries, death cases, and violence, enabling downstream filtering or moderation.
* **Examples**
> The lecture mentions Vision AI producing metadata around image timing and motivation, implying temporal and intent-related tags that can support content analytics.
* Provide the image to the Vision AI service
* Allow the service to infer timing-related metadata
* Review motivational or intent tags generated
* Store and use these tags for personalised content or moderation pipelines
* **Considerations**
* Effectiveness depends on image quality and method of ingestion
* Ensure storage is configured before running analysis to capture metadata
* Use dashboards to monitor processing and outputs
* Leverage filters for sensitive content categories to maintain compliance
### Natural Language AI and chatbots
> Natural Language AI can be used to understand user experience, generate intelligent content, and create options for motivators. Chatbots can leverage personalised training models with widgets to deliver tailored interactions.
* **Key points**
* Use Natural Language AI to create content that the world can understand
* Analyse user inputs to improve user experience
* Generate motivator options based on analysis
* Implement chatbots with personalised training models and widgets
* Integrate outputs into real-time or on-demand dynamic widget selections that translate to database records
* **Explanation**
The speaker describes using Natural Language AI to craft intelligible content and improve user experience by analysing inputs and producing actionable options for motivators. These capabilities can be embedded in chatbots supported by personalised training and widgets. The system can operate in real-time or on-demand, where widgets dynamically select data and write results to databases.
* **Examples**
> A chatbot is configured with widgets that represent personalised training data segments, enabling AI-driven responses tailored to user profiles.
* Define user profiles and associated training widgets
* Train the chatbot using these widgets
* Deploy the chatbot to handle user queries in real-time
* Persist interactions to a database for continuous improvement
* **Considerations**
* Ensure privacy and permissions for personalised models
* Align database schema with dynamic widget outputs
* Monitor chatbot performance and retrain as needed
### Service accounts, tokens, and permissions management
> Service accounts are used to authenticate and authorise interactions with Google Cloud services. Tokens derived from service accounts enable secure communication with Cloud Functions, with strict adherence to least privilege and logging.
* **Key points**
* Create service accounts for specific services
* Generate tokens to send data to Cloud Functions
* Assign permissions narrowly based on need
* Sign logs to maintain integrity and traceability
* Audit access regularly
* **Explanation**
The workflow involves defining service accounts bound to particular services, producing tokens to authenticate function calls, and ensuring that permissions are limited. Logging must be signed to preserve a verifiable trail. Regular audits and adherence to principles ensure system stability and security.
* **Examples**
> A service account issues a token used by a client to send image metadata to a Cloud Function for further processing.
* Configure the service account with minimal required roles
* Obtain a token via standard authentication flow
* Invoke the Cloud Function endpoint with the token
* Verify logs are signed and stored for audit
* **Considerations**
* Avoid granting broad roles; use least privilege
* Rotate tokens and credentials regularly
* Validate logging setup after deployments
### Versioning, environment separation, and project hygiene
> Maintaining clear versioning and separating environments prevents cross-project interference. The lecture mentions a disabled version and 12 stories (versions), highlighting the need for disciplined project management.
* **Key points**
* Keep versions clearly labelled and managed
* Ensure disabled versions are not accidentally active
* Maintain separation so projects are not in the same place
* Use dashboards and management tools to track versions
* **Explanation**
Project hygiene requires explicit version controls and environment boundaries. References to a disabled version and 12 stories indicate multiple versions to manage. Ensuring projects remain separated avoids accidental deployments or data leakage between environments.
* **Examples**
> The team tracks 12 versions (stories) and ensures a disabled version does not affect the active environment by enforcing strict deployment policies.
* Document all versions and their states
* Use CI/CD gates to prevent deploying disabled versions
* Maintain environment-specific configurations
* Review dashboards for version status before demos
* **Considerations**
* Do not mix environments; keep projects separated
* Review version status before running demos
* Maintain documentation for version states
## Transcript
And I got there via Delicious Grains, who you may have heard of, they developed amazing plug-ins. And then we could go and enter a competition to win a PS5, so hopefully that's one of them. I worked two days out of the way, but I've had this long career, and it's not always been in WordPress, unlike Ryan, who's been in WordPress for how long was it? Twenty-one. Twenty-one years. You've been working really as long as me, but it's all been closed. I started off working in the aerospace team doing sick to critical software development.
And that's a whole different world to what we do now. I came with a whole bunch of different needs and requirements and ways of building interesting software. And then worked for eight years in hosting people, freelancing, working lots of different things in bits. That's it. Right, so long as you can. Right, keep going.
We live in a world where there are lots of people expressing facts and truths that may not actually be true. So we need to just remember that sometimes we fall into... think about it. And sometimes other people that we hear from are of that opinion and are very aware of this talk, which is 25 lessons, all of which are really nice, so you can, in your head, pre-fix each of my slides with any or any way of doing it.
Also, opinions can be changed. This is not saying that you can just go out and start talking to people. In fact, quite often you should start by thinking about your own opinions, because the way to make an opinion is that you go and you seek understanding of why it is important to me, and the fact that my idea or experience has come alongside that from there, they might change the room.
We did a piece of work where I started writing a proposal to Google, and I got about halfway through being curious and learned about the subject that I was trying to define, and ended up completing that. If you want to change opinion on a global level, sometimes we're in a position where we have authority to be able to do so.
Don't just think you're looking at it. Make sure you've got enough data, and with demonstrations, you have a great idea of that. If you want to try to do something new, run a short experiment, try it out. And if that experiment, then the thing will come to you, and if it doesn't, also opinions will sometimes not be changed, so bear that in mind. You're going to be some real talker, you're going to address some of the really difficult issues of our world.
So I'd like you to raise your hand if you believe that you know for no reason. People who don't know for no reason, what on earth are they supposed to do? Lesson 4 is called High Standards Learning, and there is this quote from James Clear. Life is harder when you expect a lot of the world in addition to yourself. And life is easier when you expect a lot of yourself and little of the world.
High standards learning. And this is a quote that has really stuck with me and is my attitude towards that. And this is not... Well, again, it's not saying that you should just go and break the rules if you think. But having the attitude of, I think I know what the right thing is, and even though everyone else, I'm still going to be the right one.
Bear in mind that you're just keeping the right thing to yourself, even though other people don't. Just a lesson. Lesson five, engineering, is a team sport. No one played this game. Pico Park is a school. It's about seven pounds. And it's the most fun one. And on the red line, there's a whole red line. So it's really, really exciting.
But we must be very adaptive. And if you look at team sports, there are different people. day. People have different choices. We don't need training specifically for their roles. Quite a lot of the lessons following this, just to follow up on this idea that we must bear in mind that as a team, together, we fail. Lesson six, we're going to be walking back,
talk about, understand the other people in your team and the role and positions that they have. Everyone's great on this. I kind of started realising this, like, promptly. Sixteen personalities, with a slight difference in the way they're phrased, and the fact, that we're really good at that. These personalities, they're not necessarily as hard as you think, sometimes they're a bit too hard, sometimes they're not, but they can be really good.
Maybe you will see something good in the first person. And that was really helpful for me, because lots of people think I should be a leader, but actually when a person is not a leader, it gets us like a string of lines. I've worked better when we're advising someone. We don't get work from clifters. And with clifters, my number one strength is relatedness. And it turns out being related is quite unusual.
And so this puts me in a unique role and with some unique skills, which are very different from other people that I've worked with. Someone once turned up on my team, and they had this great idea. It was the right person to meet me and we'd use each other. They brought us in. You get to learn more about the great side that you can work through, the structures that can help you. And it's really worth doing as a structured way of exploring how you work, even if you.
don't get to share that. But understanding that the brains work differently, what people's strengths and weaknesses are, enabling you to develop as a team. And following that, I've worked with all sorts of people from different religions, different places in the world, different cultures, different genders, different ethnicities. And they all make a difference. And I think diversity is such an important thing. These aren't at least.
like statistics, but at least at level 7 and on the app, there's loads of things to be a really good place to be. So if I came to your business, you could be 35% of the world. You need to make better decisions 87% of the time. All stats are out there. I'm very aware that I'm just a great white flag. I'm still on the stage. I'm not the most qualified person to be talking about this.
I'm still learning how to do diversity and how to talk about it. The hint is my name. You need diverse leadership within your organisation. And those leaders need to be promoted in their field of work. That's what was on the train a few weeks ago and again. We had a compulsory annual compliance training. And we had to do it quickly on the fly. There were so many leaders. I'm still learning. I learn a lot from them.
You need better hiring and pay. You need to create a culture of safety and welcome for everybody. And you need to support those people by listening to what they need. you can support them. Finally, you don't know what to do. So when people turn up at their desk, you don't know what to do, as a coach. And sometimes, I arrive on the desk.
and they go, oh, what are you doing? It's time that you don't work. Sometimes, I have spent the last half hour trying to find exercise books or PE kits that aren't used, and everything's running late. What is happening? You're a mess. And you just need to cheat the recall. That's a trivial example. You don't know what to do. So if someone's not paying like you,
you try to tell them that you don't know. do something a little bit like that. Did you know you could stay nicely? You're such a grumpy software developer. Yeah. I've noticed after building the engine I've started working with a lot of Americans.
and I'm very impressed with you but they are much more outgoing in their training, and it's between you and us. You said that you're doing a code review and something well developed, and if you're having a stand up on some sort of great piece of work that was a great job, but also trying to do a great job on your own, isn't actually very much.
And we'd like to look at if a little bit more. And finally, a very much related feedback is fuel. Learn to give it out and learn more about it. Learn to receive it. Learn to give it when it's a solution, when you're really learning for it. When people learn for it, they learn for it.
Learning to give it is really growing. Start doing the right things, and keep doing the right things, and walk the right way. Now I'm going to speed through coding. I'll tell you all the stuff we do where we write tiny little characters into these windows. Sometimes it's hard to get the tutors to write.
But often coding can help. It's for other people. That might be you at a later point in time, or it might be others. And this really is, we need to think about this, because the thing is, yes they get qualified, but they won't be read. The lesson learned is, you write to them for a reasonable amount of time. It's probably so obvious, but I usually continue to be learning, and I have several of those.
And some of that to me, they're just new to me. This is called the Macon field guide to writing with code, it's written by a guy called Larry. And it's not like a lot of people who've done coding books. It's about educating the content, and it transforms the way that works. It's really good. Did you know... So the rough times that I've just, before submitting code for review or for deployment,
just walk to my page and grab it and come back and set back. I've got another one, I've got another one. Read your own code, like do anything with it. You will find bugs, you will find badly made variables, quite common ones that don't make sense. And you can save by calling the browser, go and look at your own code. Updating it, less than 30 people go to Clever, which are quite all sorts of Clever websites,
they're not, they're all legal at the time. And then other people will go and look at it, and they'll see this is a code that looks like a moon, prints the current moon. What about this one? It's a plot, so it's a code. Uh, wormhole. Don't pick bugs.
What do you mean? Don't pick bugs. Avoid them. Have you seen how SpaceX built rockets? They built loads of rockets. Back in about 1981, the first space shuttle went around Earth. And it had been so well designed, thought about, programmed, built, constructed, that they were happy that this had been in here.
I'm not going to lie to you, but maybe there's something in this about thinking harder about requirements, making sure we understand more about the building before we start building it, running, or writing, running tests, analysis, signatures, all sorts of stuff that you can, equate, just so there's a little bit of time in the background to try and avoid having problems. Some of you will assume that this is a challenge for you.
Anyone know what this says? It's all just a pitchy bag of prints. It does not prove I am a 25 year old prince. It's not. And this is important. Learn what breaks. I guarantee you, learn what breaks are. Plus what breaks are. call them a few other things, like turn me on, and I guarantee you, do not vote for me,
I will, yes, and you are right, don't trust these things, don't assume that you know what they do, I use some big words, operator precedence, operator associativity, type of joking and type of heart of commotion, they will trip you up, do not assume that you know how things work, either learn them deeply, or learn them deeply, lesson 16, old things, not really good things, and this is like, I work on a WP Micro product, which is this, a decade.
old product, whose work is like, from one to another, and we're working on the product for a year, and it's incredible how much historical knowledge is built into this product, clever way to do it, all bug fixes come after the year, and... It's an old thing, but actually, it's a really good thing because of the subs. And I think you're welcome to put these little notices that we all studied.
This is bad. But we don't even want a new plugin. It's not a banner that says, this is brand new, it might contain those subs. Like, we don't do that often. New things can be good. Use them experimentally. But, hopefully, we can flip. Lesson 17 is to look outside your bubble. Johnson talked a lot about this. And it was really, really cool. We talked about it. And I think WordPress account,
I've benefited so much from it. Buildings and games and things, stuff like that. There's a lot of tooling out there that's really good for your SEO world and make your world better. I said that means some more real talk. We need to, there's a thing that is incredibly important that's very, very undervalued,
that we can all, if you want to use it multiple times, we need to just elevate it and accelerate it. The semicolon. It's a beautiful thing. Um, some people, some people don't like it, but they need it. Um, let's make it so that the standards are good. We can discuss whether or not semicolons are going to survive.
We can discuss quantum spaces and all that stuff. But actually, I think that standards are good. I want to make it happen. Just use the available tools. Do you have any? No, I don't think so. She builds PHP code snippets and works with PHP coding standards. She looks after the rule set of PHP accessibility. Desperately underfunded. It was a forwarder.
Saving life. Appliances. Amazing work. Automated. What do you think? I ask myself this question. What's the oldest piece of software in the bank? Any guess? I bet. This is the original Nintendo Game Boy.
It doesn't have any interest in the bank. This 35-year-old software has never been updated. And as far as I know... What is software? This lesson we're all going to be making is coming back to what you're wanting to be able to do. And you're learning that. Well, your business world of software is what we know.
But I like the idea of writing. And I like thinking, what are the things we have to do as software engineers? Like having few dependents, or no dependents. And making sure that we apply the lessons about having a few of us. There's all sorts of things that we'd like to think about. So I'd like to send it to you rather than any of us.
You're awesome. I like you. You are sound cells. This point about sound is like a lesson about sound care, which these lessons are. And the lesson 20 is writing sounds together. Another great point is writing is forgetting. And writing is really, really, really important. Writing is to share knowledge about future sounds and institutions.
And there's lots of good reasons for writing. But sometimes I'm stuck in my head. I can't get to sleep and I can't focus on what I'm thinking about sound. And it's really helpful for me to just write them down. This is magic. Because when I write them down, they disappear from me.
I think the worst thing when you ask someone to meditate is that they say, and they're incredibly fast, and that's a good thing. You can find someone who respects you. Lesson 22 is move around. Probably sounds obvious, but hours of it. I got RSI quite early. I did not stop, like, nursing.
I did painkillers. I did physio. But the only thing that helped is not come back when I started doing it. At least once an hour, and not just like going to the school or something, but at least once an hour, not in meetings, I will get up and go to a small bit of the gym, in my office, where it starts, and then nobody who nobody knows would get coffee so frequent,
and sit, stand, and have a sit, and the advice, I can tell you, you shouldn't sit or stand, but these are things where you don't stand. You stand for a while to keep your body moving, but you want to move, you will. Lesson 23, if you can, buy new stuff. I used to have, like, a new home price, and I thought it was good enough.
And then I thought, like, because someone had told me, I love this, I bought, like, three of them, I want them back. I've got another one, like, in my drawer, just because we can't buy new. Chairs, desks, monitors, keyboards, you can go over the top, you don't need to do that. But maybe think about lifting up your, or get your, whatever number to do best, it goes up really, really.
One final bit. We've talked about people being lost. We've talked about COVID. And now I want to tell you the most difficult part of my life. Typing. Anyone who's KT? Anyone there? Types this.
Anyone living in an English community? No, they put the R on it. In my job, it's so hard to type. Just type that. Smile. I love you. that the root is little typed again, the will, the function is built into those tools.
A little more history of game changers. When I think of teachers in my head, or I think of me, I feel like I have no one else in the world. Why don't we learn those tools, get those tools, set them up and remove them. Finally, this is not a wrong title, you are right. You are awesome. But the lesson isn't that you are awesome. The lesson is that you remember that you are awesome.
And there's a great video of us six years ago, from, I'm pausing the words, and it's about keeping your thing in a private journal, where you record those, so that when you're not meeting your friends, and you're being done with this, you can look back at what you've said about it, and remember that, and I also keep one, so I hold this idea into one where I host it, and this is called achievements, specific things that I've done, preferably with my metrics and tips about the difference that they made, and so that when I come to my job, update my CV, go to an interview, I've got some of those factors that you won't remember, so get into the habit of writing them down, and then you can just pull them up, you've got it, in the night,
and then you can just pull them up, you've got it, in the night, Maybe I have one. Brian, would you have done this? Would you have done one lesson in 25 years? So many of the things I just wanted to say. Be open-minded. Be open-minded about understanding the people that you work with, how they work, and how you do it.
Be open-minded about the technology and how you use it. Don't get stuck in old ways, go out of time. And be open-minded about who you are, who you are. In my experience, open-minded development is more productive. happier and then we'll have hopefully we've never seen this anyone with a kj going to be.
hosting a list of talk topics because they're unlocked yes um you can now go and get your own custom shares and i wonder what's the one thing that you're going to take away from today thank you uh at the back the standard back if you don't know what the talk is they uh there's a competition against five this is me and if you want to come and play.
tennis before the day boy are we over there