Awesome. Okay. Are we live? Okay, so if you will see me live, please comment on the chat. I hope it's starting today. We have some technical issues. If you see me live, please comment on the chat. What's your name? Where are you from? Would you go for 2023? Great. I think I'm live. Awesome. Finally. Hey, guys. Tech issues. Awesome. So let's do this. We have a very important topic today regarding how you are able to increase 10 times your interview opportunities using the right opportunities and strategies. So let me do this. Let me directly do a countdown music. We're going to get started in one minute. And sorry, crazy stuff. Tech issues. Finally, I got to go live. One minute countdown. So let's do this. 50 seconds. Oh, I don't think I can hear him. Welcome, welcome guys. Let me stop sharing now. Okay, so I believe you can see me live. For people who join us live, please comment on the chat. What's your name? Where are you from? I want to go for 2023 and come on the chat. Say hi in the chat. Hi, L. Hello. Hello. It's our old students and alumni who is currently working for Meta right now. Very excited for L. Amy. Hello. I'm so surprised. Even if now I know tech issues means there are more audience when you just go live. Awesome. Cool. Awesome. So let's do this. For people who join us, let's do, I don't know. I see lots of people come and say hi in the chat. Let me say hi to you guys. We also see reprush. So we are going live on both YouTube and LinkedIn. And. And she says hello. I think I've seen you before. I've seen you come into my live all the time. Sony. Hello. Hello. Just run from the sharing. How are you? All right. How are you? Awesome. Awesome. Welcome guys. Welcome. Welcome. Okay. Great. Cool. Now. Let me do this. What we plan to do. Hey guys, welcome. Welcome. This is Dr. And I'm a director of product featured in force that help 100 people land a dream job offering bank companies. Unicorn startup. So a program called PM. You can learn more right here to the website. Yes. So my goal for 2023 is help 1,000 people who land a PM job regardless of their layoff or someone who wants to advance a career or someone transitioned into PM job. So I'm going to do this. Because we are going through a very. Challenging like down market down turn market. So lots of news going on right now. And every single day I've seen people like layoff, but good news, crazy, crazy good news. Okay. So. I'm going to start hiring people again, but not as many as before. But it's all the latest news. And I'm excited as I predicted for the interns. I make a YouTube video in general regarding what the primary hiring timing for interns that will be in February. Yes. And in February, early February, we have a student who joined Amazon for Amazon senior PM intern for L six level. Yes. Amazon start to hire intern again. And Amazon also start to hire. And that's the program manager positions and like last week, somebody also joined Amazon as a program manager. So market start to warm up and company start to realize what specifically important roles they need to capture. Okay. So the good news and bad news and good news is that company start one more. Bad news is that the market is also very competitive because lots of very intelligent people are doing good jobs. They are. So therefore today's free talk is based on how you're able to increase your number of LinkedIn. And also in my patients and invite you for an interview. So today is a pre event training for our line master class model. So let's do this. Let me let me define the pre event training. Okay. So tomorrow. And Wednesday and extra struggle whole week. We have our line master class tomorrow Wednesday and during the day. We have our line master class where I'm going to share with you regarding how are you able to learn your top tier PM job offer using the product portfolio strategy, even if you're rejected again and again. Very important. Okay. Even if you reject it again, but I was going to leverage product portfolio strategy. So that's a tomorrow's training. So this is a pre event training, which means that I want you guys to prepare. Have your resume ready before you come into the product portfolio to quickly land your next dream job. Okay. So now what is the pre event? So let me share with you. Let me share my deck. And cool. Let me do this. Let me share my deck. What we want to talk about. All right. Today we'll talk about a more helpful and more interviews in a super company market and 10 times your interview opportunities out there. Okay. So this is a pre event training plan thing. And as I said, what is pre event training? Which means. Oh, hold on. Back is gross. Let's come here. Pre event training means this way of having our live training tomorrow.  So go to darknessy.com slash masterclass. Go to darknessy.com.  Oh, uh, top tier, how to land top tier PM offers in March, 2023 using a portfolio strategy that works. Even if you were rejected again and again. Okay. It's time to upscale yourself as we're looking for new PM job or you're being laid off? So it's. thinking about you might lose your current job. So it's time to prepare for the winter storm. Okay, so now we only have 103 C's available for our masterclass. I want all of you guys to go there, directly register. You go here and directly register. It's like the time that works best for you. Okay, so go to Dr. Nancy to come and slash masterclass a little more.  So that's why I'm giving you a free training so that you can speed up your process. Now, at the same time, let me do this. Let me actually put the link in the chat so you guys have it where it is mine. So I put the masterclass link in the chat and in the description of the video, which is on YouTube and LinkedIn, in the description, there's a link to join our masterclass tomorrow. Okay, cool. Right to the looking forward to getting into product marketing. Welcome. Oh, we have someone say, pursuing a master from Boston University. Welcome, welcome. I went to from UB, sorry, I said BU, I said Boston University, UB University, British Columbia, I assume. Awesome, awesome. Okay, cool. So now let's do that. Let's get your resume ready. But I do want to welcome people. Well, what does software engineer do? We can talk more later on. But today we focus on product management. Okay, our specialties in product management. Yes, product marketing is also something we cover in our program as well. For anybody who is interested in product management, you can actually go to drnancy.com or more. Okay, so the three steps join our program and selection process number on your 10 hour masterclass to learn about who we select to join the program also learn about the portfolio strategy, the free training for all of you guys stay until the end where we tell more regarding who we select to join the program.  Okay, so go there. Go to drnancy.com and register masterclass as a step one. Okay, but now let's talk about resume. Okay, important. Let me do this. Let me do the resume part. Now, everybody do this. Oh, University of Buffalo, New York. Oh, UB means Buffalo, New York. I saw it's like Columbia. Come on the chat. Have some effort names are not familiar with but love to have discussion with all of the guys. This is amazing. Awesome. Learn something new every single day. Awesome. So, so now it will pay attention. Let me let me go through this. Okay, come here. Important. How to learn more interviews. Okay, so everybody pay attention. Was the most oh my side. Coming back. So very important for all of you guys how to learn more interview opportunities regardless your layoff or you're trying to break into partner management. This is very important or someone who are senior PM you just want to advance your career. Okay, so number one thing for your resume. Let me stop sharing now. Pay attention. Write down what I tell you to do. Okay, number one thing. Two reasons people didn't get selected for an interview. Okay, number one, their resume is not that good. Number two, they didn't use a networking strategy. Okay, there's also a bonus tip which I discussed later on. Okay, two things and then plus the bonus. Now, let me elaborate two things. For your partner management resume, I know all of the guy reviews so many resumes. Okay, all of you guys are using most of the 99% of you guys. You're using the wrong strategy because your resume looks to average. So now let's have a right mindset. When you go into any job interviews, by the way, there's still over 20, 200,000 PM jobs out there. So there's still lots of jobs to say competition is too strong. So which means that the number one person is going to land a job. You're if you are second best, you're second best, you're not landing a job at all. Okay, third best is not landing a job. So you have to be the best of best, number one person landing a job. Now, what's the number one person is doing is that the resume and you have a three key element. Number one, the resume need to be able to demonstrate your unique skills and responsibilities that's related to product management, which means that you need hit all the PM keywords such as all the GTM strategy, writing requirement, like leading a team or like leading a cross functional team and develop roadmap and write requirements, user stories and all of this need to show up on your resume. And for lots of you guys here thing. Lots of you guys, if you transition into PM, lots of you guys are missing these keywords because you don't know how to package your past experience. I have a free training regarding how to package experience I can share with you. But for lots of you guys who are layoffs, now let's talk about layoff people. Okay, for people who are layoff, even if you have done those roles and responsibilities, you made the second mistake. Okay, second mistake is that you need to be able to let the recruiter know exactly your unique value proposition to the company. Let me break it down to you. Okay, very pay close attention and review so many resumes out there. Okay, it's crazy. Oh, by the way, we also have free resume review for layoff people.  So for all the layoff people, resume I reviewed, the second mistake they made was that on the resume, I cannot tell. So are you a specialized PM in AI space? Are you specialized PM in like platform space or specialized in IoT or data PM? And lots of time your resume needs to make it very clear to recruit it so that the resume within six seconds, they can tell, okay, this person had five years experience at AI program manager. This person had two years experience for the platform program manager, total seven years experience in ADCD, different kind of program manager position. So this is extremely important for all of you guys to understand. Yes, this is definitely extremely possible. Okay, so you do not use the generic resume because everybody who had PM experience, they were going to put the exact same PM keywords on the resume. What's mainly missing is that the recruits cannot tell why you're different from other people. So therefore your resume should be very, very, very clear regarding your unique strengths, what kind of product you work on such as AI, IoT data or any kind of product you had. And those whatever you highlight need to be relevant to the company. Let's say you interview with Instagram, TikTok, filter team, they design filter, okay. If you were to talk about your past experience, it's about IoT that has nothing to do with Instagram filter. So I wouldn't just put IoT as the keywords on the resume, but I'm going to do other stuff regarding like user engagement or anything you did regarding beautify, whatever things related to Instagram filter, to be frank. When I film my YouTube video, I don't put filters, so I have very little knowledge regarding how the filter things work when giving you the opposite example regarding IoT and filters that are very different. Okay. So therefore everybody's resume is very clear. I'm specialized in filters, Instagram filters, whatever. So therefore I'm qualified for your new job or I specialize in AI. So which means that all AI companies will be very happy to have you in the team. So you will be selected for an interview. I guarantee if you apply the strategy number two, the mistake number two, you're going to increase the sexer significantly for your resume. Okay. Number three, the third mistake people made when they are not able to get selected for an interview was because the achievement wasn't there to send out. Okay. So now let me bring down achievement for you guys. There are so many PMs out there. Okay. You need to use achievement to show others that you are outstanding, you're better than other people. This is the key. Okay. You cannot only talk about roles and responsibilities, you should talk about your contribution to the company. Okay. So I have free training, gave you specific examples, simple examples regarding what kind of PM achievement you can write about. Okay. So let me show you this. Let me show you where you can find the free training.  You go to your channel. That's my channel. Well, it's going right right now. Awesome. By the way, Wednesday, we have our live podcast and episode number one, product insider podcast. This is amazing for director of growth PM. I'm very excited having Lupin to speak on our podcast. And by the way, our inner circle members also can join the Zoom call with our speaker. So when she's doing the podcast with me, you stay mute. But towards the end, you can ask questions. Okay. Inner circle members can directly join us. Oh, what is inner circle? Okay. So doc, we have lots of different programs out there, doc.ncd.com slash inner circle. Currency of inner circle is free. You can directly join us for free right here. And then inner circle can join our podcast members and us live Q&A as well. So I'm going to put in the chat as well. Okay. This is our next event, which we put us right here. One second. Let me put in the chat so you guys have it. All right. So let me continue this. Now the key is come here resume. I have Yes. Hit all the keywords in this. This video has the most view. People just search PM keywords, then they find those like tips, all the keywords you put. Okay. So go to watch this and give it like 744. Like go to this one. And but examples of your achievement is here.  Now, if you watch my YouTube video regarding how to write your keywords, you have outstanding resume to watch this video of all the keywords. Now, the problem with you guys is how to make you stand out. I have keywords are the examples. Okay. Examples of achievement you can post here, which I gave you like examples like this. You actually should use the same methodology. Okay. And then whoever registered our free masterclass tomorrow, Wednesday, you already received an email regarding the resume template. Okay. So once you register, you have the free resume template, you can use similar methodology to create your own like best resume ever. And then I teach you how to use proper folder so they can then more interviews immediately and more job offers actually immediately. Okay. So let me do this. Let me put this link here. Everyone need to watch this. People's resume is just not impressive. Everybody's resume looks the same nowadays, to be frank. Okay. I put it, I put it in the chat. I'm not sure if the chat went to LinkedIn. I think the integration of LinkedIn to the restreaming software I use is broken. If it's broken, just go to my YouTube channel, the one that I just shared with you. Take a screenshot of the pictures of the title. You can find this right away. Okay. So now after you have a perfect resume, it's about networking. Everybody understand this. In the past, when I personally went through two recessions, one in 2008 recession, the other one is the beginning of the pandemic, everyone, all companies went into hiring through it. That was April 2020. For April 2020, I land four PM positions. Actually, three of those are direct product positions offers. Okay. So among all the opportunities out there, I was able to know even if companies are not hiring, maybe one or two, 10 opportunities out there, how are you able to be the number one candidate? You got to take lots of notes and do the following things they ask you to do. Okay. I personally do not apply for jobs unless I have a referral. Because if you just apply for jobs online there, like thousands, 20,000 people just apply for the same jobs. All the resume, it just looks the same because people do not optimize the resume. Now, why on earth your resume will be selected for an interview? Okay. So in general, I don't apply for jobs unless I have a referral. Of course, nobody prevents you applying for jobs. My point is how would you increase, how would you 10 times interview opportunities? So you're free to apply for jobs online with very low expectations. If you apply online, low expectations, that's it. Okay. Now, second part is networking is the key. What do I mean by networking? You can do so many people you can network with. They are hiring managers, they're recruiters, that people already working for the companies. Okay. So all of those people already working for the company could be any of your friends. You are not like anybody out there. They want to go in, like talk to you and tell you about the companies and then pass your resume to the hiring manager. Anybody can pass your resume to the hiring managers is considered as a referral. Okay. With a referral, you will have significant highly opportunities to blend and interview. That's where the 10 times coming in, you can still directly apply online. Just do it. Okay. Just expect very low return rate anyway. Okay. So now, once you have those referrals, you need pitch yourself to the hiring manager. Very key, very important. Okay. Oops. What do I mean by pitch yourself to the hiring manager? Important. Number one thing. Number one, immediately, you have your 30 seconds elevator pitch ready. Lots of people's pitch are very long. You need to write something that they heard is going to fall off the chair. Very important. For example, my pitch, if I go, when I applied for director jobs, my pitch was a, hey, this is Dr. New City. I had like, at the time of five years experience, now eight years, I don't know, let's say five years. At the time, I had five years experience launching developing technology product. I launched the largest, I launched the first 5G Edge computing product in collaboration with Amazon and Microsoft. And the very first product I launched, Smart Cities product also received the mayor's best practice award in 2017. I was the youngest manager getting promoted faster was in Verizon and I had led the team of, I think at the time, how many five people? So I believe I'm perfect candidate for director position in your company, ABCD company, right? So this is my 30 seconds elevator pitch. You should create your own pitch and make it super, super impressive and people are, wow, gonna interview this person. Sounds like badass. Okay. So everyone, I believe everyone has a unique past experience can be repackaged into outstanding 30 seconds elevator pitch. Okay. It just needs some guidance. Let me show you the free training. You can do your 30 seconds elevator pitch. Come here. Come here. Go to see my screen. YouTube channel. Where is your pitch? This one. Tell me about yourself. Wow, 32,000 views. I love this. Okay. People need to give for 1K likes. Okay. Hey, guys, give more likes. The more likes, the better. Okay. Hit the like button. Just like hitting the keywords on your resume. You need to hit more like buttons. Okay. So now, come here. This video, tell me about yourself to really press part of manager interview interviewers. So this is the key. You need to do this right away. Okay.  Everybody needs to do it. Okay. Sorry. Let me share the link. In the chat. So immediately do that. Let me go here. Chat right here. Okay. I just shared. Can you see it in the chat? Take a look. Can you see it in the chat? And let me know if you see my link in the chat. Say yes in the chat. Okay. I think I just finished the sharing. Okay. Let me stop sharing. Awesome. Okay. Cool. I think this is nice. We have everything ready. Awesome. Okay. So if in the chat, if you can see the link I put in the chat, I believe I got everything ready. Awesome. Okay. Now let's go back to do the recap and Q&A. Okay. Recap. Everybody take lots of notes. Number one, let more interviews. Number one, you need key to PM resume. You need show three things, your keywords, your achievements, and also your unique value proposition to the company. Number two, you also need to network. Okay. Network is the key. And then when you network with other people, you have your signature 30 seconds elevator pitch immediately written. Now, number three, which is bonus. The bonus is that do not only apply or network with one person per company. You need to increase the number of reach, especially some of you guys want to hit like tier one companies. Tier one company usually are very big. Okay. For big company, this is critical. You need to directly reach out to like a lot of people in big companies because like for example, Google 100,000 people working for Google, if you only reach out to one person, how come that one person will be the hybrid manager or will be someone who can pass your resume to the hybrid manager? Just like the pool is so big for you to hit it. The target is so small. So therefore you need like for size, depending on the size of the company, the bigger the size, the more company you need to reach out to just because the person who is willing to help you may not be in the same department as the hybrid manager or the team, whoever is hiring. So that's still your opportunity. But as I said, did you hear what I said earlier? Amazons are still hiring. They start hiring again, but not all the company, some part of the company. Okay. Somebody, one of our students joining Amazon PM intern, L6 senior PM intern this summer. If you do not have an internship in your hand right now, you should be worried. Okay. You need speed up your process. As I said in my YouTube video in January, okay, there's a PM intern focus video, the prime season is in February. Okay. So now March is coming. If you don't have one March and you take massive actions because April by April, the good company, the tier one companies offer will be gone for sure. Okay. February, March is most offers coming in. You need to get ready. Okay. And someone also originally like a program manager position in Amazon as well. So some part of the department is hiring and you need to really up your game. Of course, we can not find companies as well, all possible opportunities. You just need to find the best one that's most very relevant for you. Okay. Cool. All right. And as you can see the link, this is awesome. I see Duane, Dom, right? They pronounce your name correctly. Dom, how are you? Yes, you say yes, you can see the link. Awesome. Awesome. Okay. Great. Cool. Let me take questions. Let me take questions. We have lots of questions coming in. Put your questions in the chat regarding question regarding resume and 10 times your interview opportunities. Okay. Oh, GGS. I have zero tech knowledge. How can I get in touch? How can I get into tech program management? Very good question. Okay. So first of all, you don't know how to code to become program manager, but if you want to become a technical program manager, first of all, the two things you need to understand. Number one, other people that who doesn't know how to code became a program manager. I have a student who actually, Eddie had no degree at all. He does have no degree. He doesn't know how to code. Let me show you guys. Okay. Okay. So that you say mentally, you'll be like, yes, this is like someone else can make it happen. I can do it as well. You still need to work harder. Okay. So let me show you first of all, someone else doesn't know how to code became a program manager. Now, you want to get into tech program management. You also need to learn some technical knowledge. It's not the coding skills. I'm going to show you what other tech knowledge you need to master. Okay. So first of all, let me start sharing my screen. How about here? Let's go back to it. Oh, it's here. For example, Eddie is one of the students. He has no degree at all. Okay. And he joined a month ago. I'm excited to share that I started a new position master club and currently a mission-driven team, different thing. He just shared in January. He started, of course, he tagged me as his mentor, helping to get in. So now Eddie has no degree. He didn't go to college. You see his past experience? He has no education. He had licenses. He got licenses. So if I want to manage licenses from our program, we taught him different kind of like knowledge. Okay. So he took different kind of certification. License certification. He got certification, not license. He got certifications from our program to learn different things. But he didn't go to school at all. Okay. Once you guys really understand, you don't need to like study coding to become a program manager. And guess what? His offer was a manager of program management. He's like, as a manager of program management at MasterCard. It's so exciting. It's like a senior PM level manager of program management, like someone never went to college. Okay. So now what I want to share with you is that what technical courses you can take to improve your understanding of technology, to become technical program manager, but you don't need to know how to code. Okay. There's different kind of technical courses. Oh, here, here, here. There's all lists of technical courses. Let me share with you. Where is it? Where is it? Let me share again. Put your questions, additional questions on the chat. Okay. Tacking of courses, this video. My most watched video, top 20 good program manager interview questions and how to answer them. I can't believe this video is only seven minutes long. About fully jam packed interview questions and resources you can use right away. Okay. So now in a given like 665,000, 100 lines, making thousands. Okay. Five different kind of interview questions. Now here's the thing very important for all of you guys. Description of these, these videos have different courses I recommend. All the courses, cloud architecture courses, how does the web work, how does the browser function, software, software architecture basis, there's so many different courses you can take yourself to have a better understanding of what's technology, but you don't know how to code. Okay. After you took those courses and also learn how program management work, you also need to take program management course because I have no experience. Without learning how program management work, why would you become a program manager and why you are not laid off even if you can manage up. Okay. Everyone need to upscale yourself during a recession so they can keep your job. Now, next part is that you need to build your product portfolio. Okay. You have zero experience. You want to break into PM, become technical PM. Demonstrate your product portfolio. Demonstrate A. I didn't know how to code, but here's my example product portfolio. I know how exactly to build product, how to do customer interviews. So all of this need to be shown in the product portfolio. Okay. So let me do this. So that's why I come to tomorrow's masterclass. Come here. Everybody come here. Go to docenancy.com slash masterclass. Just on my website, docenancy.com. The first big button you can click is slash masterclass. You come here, we will talk more regarding how to use product portfolio strategy to learn your tier PM offers. Okay. Come here. And also make sure you download your PM resume, a keyword template. So once you register, you have a link to download your resume template. Make sure to update your resume before we come in. Okay. We give you lots of free training gear. I want you to really speed up the process. Speed is a king. I don't want you to be like, well, the recession is coming like crazy. So it's more important you capture those opportunities. As I said, people still learning fan offers. Of course, not as many before. There's still tier one opportunities, opportunities out there. But even if you're not interviewing with like tier one companies, large companies, what if any, I don't know, small media company offer you opportunities? How long it takes to learn a job offer? How fast can you actually nail the interview? I use the number one candidate. Number one, as I said, number two, I'm not learning a job at all. Number one, you have to be number one. Okay. So use all the strategies, you got to take lots of notes and apply the strategies. I guarantee, once you put all the strategy, I put you in work, you're going to achieve significant outcome 10 times the interview. Okay. See any questions? Let me go to a chat. Let me go to a chat. App check. How are you? Welcome. Hey, there are two app check with two different last names. Surprise. Awesome. Awesome. On LinkedIn. Cool. Awesome. So I don't see, I answer all the questions. All people are just saying, hi, welcome, welcome. I'm just cento. Welcome. Welcome. Okay. So looks like we answered all the questions on the chat. Let me see the pre-submitted questions through the form submission. Oh, someone asked this question. So let me show my screen. There are pre-submitted questions on Google Form. In the description of the video, you can also see a Google Form, pre-submitted questions. Okay. How did I manage my job as a corner manager in tech companies? This is so generic question. Okay. Three steps. Number one, as a PM in the tech industry, number one is that I assume the person asked me this question, someone who doesn't have PM experience. For layoff people, you're using a different strategy. Okay. We have a special package for people who are layoff. You can receive like a free one-on-one resume review with me if you are layoff. Just say DM me saying that, hey, I'm layoff. I DM you on LinkedIn. Okay. YouTube, you cannot DM me. Just say DM me on LinkedIn. My YouTube page has a link to my LinkedIn. Okay. DM me on LinkedIn. You say, hey, Dr. Nancy, I'm layoff. At what time, by what company, I'm looking for a free resume review. We can review it for you. Okay. So go there. Now, for, oh, someone asked this question. So what time is the master class?  Tomorrow APM EST. Yes. Go to docnancy.com right here. docnancy.com. Once you go to website, and the first button you have is, hey, join our free master class here there. It's everywhere.  So now, let's talk about the question we'll ask. Someone asked a question. What is his name? I like to read people's name because everyone's name is very beautiful. A jamnip. Ask a question. How do they lend the job as a production tech company? I assume when you ask this question means that you do not have a job you're not laid off. Okay. For layoff people, I have a different strategy for you. Okay. So for people who break into PM, number one thing, three steps. Number one, you learn what's product management. You need to take product management courses and understand what's going on. Same thing as we want to be a software developer, you'd better learn how coding works. Like straightforward. Okay. Immediately do that. Learn product management. And instead of PMX, we have upscale courses. We teach you how to be a great product manager. Okay. So it's part of our upscale offers. We can discuss more regarding different kind of like packages we have within our program tomorrow. Just go stay until the end of master class. We can discuss more. Okay. So number one is you don't learn product management. If you don't know what's product management, how can you become product manager? If you don't know what's the product manager, how can you become what is how can you decide what's the product manager? It's crazy. By the way, I have an Amazon technical program manager who is our alumni of PMX. I'm teaching people next month in March how to become technical product program manager. How to become a technical program manager. Okay. So get ready and get our like notification in March regarding technical program manager from mental PM teaching you how to do it. But PMA Pro is for product management. But we have different kind of resources for different people. Okay. So now number one, learn product management. Number two, I'm going to build a product portfolio. Okay. The market is very competitive. Well, Amazon and different companies, they start higher again, but I use the number one. Only number one can manage up. You need to build a product portfolio to show that you are number one, very important. Okay. Now, number three is that you need to upgrade your resume, really learn how to use a networking strategy and to show them that you already have the relevant experience to put up a portfolio. And that's what you need to do. Okay. Now, for layout people, very important for whoever is layoff, anybody layoff, come on the chat layoff, put layoff on the chat so I know anyone who is layoff here. If nobody is layoff, I'm not going to show you the layoff strategies. Okay. Put layoff here. Cool. Put layoff in the chat if you're layoff. If nobody is layoff, I'm going to skip the layoff strategy today. Do you have strategy to shortlist your target companies? Abyshek Centos asks this question. To shortlist a company, are there certain parameters to take into consideration to rank them? Ah, very good question. Yes. This happened multiple times. I have been working for Google. Now I'm saying, whoa, what's the best way to shortlist companies? I also have a good friend. It's crazy. She joined Google nine months ago from Boston. She moved to California nine months ago from Boston and then joined Google. And then nine months later, she was part of 12,000 people layoff from Google. And then everybody in Google is thinking about the same thing. Hey, there's so many companies, how to shortlist those, what the criteria is to select them. How do I know they are the right company to consider? Okay. So how to rank them. Here is the strategy below. Okay. So number one, for all the coming, you can search. Hey, guys, let's do this together. There are opportunities out there. You are just not the best to be frank with you guys. Okay. So let me do this. Go to my LinkedIn. Let me show you my this. Let's do this together. One second. Let me show you my screen. Let me show you how to do it. How to rank companies. Number one. Okay. Go to my LinkedIn. Follow me, Doc Nancy. Okay. So is this me? Yes. Come here and hit follow. This is my profile. I can see myself. Very cool. Oh, LinkedIn, LinkedIn, the future you when you when you go live. Okay. Very cool. Okay. So go to my LinkedIn as an example. Well, you can directly follow me, but I cannot follow myself to directly follow me. We're going to publish lots of like tips and content on LinkedIn lately. So we have like more and more every single day we have new tips. Okay. Come here. Oh, by the way, whoever they are, they are people come here. Lay off, whoever is lay off, come here to book the free resume review. Want to really want to make sure that they are people quickly in the job is extremely scary and stressful. No certainty. You're able to land a job is that in five months, six months a year, or one month, right? It's like super stressful. So we offer free resume review for layoff people, only if you're layoff. Okay. If you're not layoff, you don't get free resources because we have limited spots available. So 10 spots come here. Now let's go here, jobs. Let me show you how to show us these companies, how to rank them. And how to call a search product. Let's say, put a million jobs in the United States, 161,000 jobs out there. Okay. So 160, it's like so many jobs. People always say, I cannot land a job because you're not good enough. Over 160,000 people are landing PM jobs in the US.  That's why I learned how to be the top 1%. That's why I take all the notes I teach you today. We have lots of free trainings. You'd better take lots of notes. Okay. Now, number, continue. So many shortest companies. Number one thing is that in general, if you want to join top tier companies based on the size, you can direct it for them warmer. We know the brand. Any kind of large company know the brand Apple. Apple is still hiring. People say, there's no opportunities for any company really. One of our mentors senior PM and Apple. Okay. Insider PM, etc. Okay. Post a week ago, and they're going to pay this base salary plus different bonus and people like total package over $300,000 per year. For example, right now I have 164 school alumni working for Apple. If I want to take this job, but just reach out to them, a lot of different connections can refer me. You should leverage the same opportunities as well. You are not good enough. It's not, hey, there's no opportunities. You really need to upscale yourself, learn the best strategies to be frank with you guys. Okay. Being very straightforward with you guys. Now, let's say if you want to join a tier one companies, you can direct search the companies and then you can see the size of the company. Usually for the very branding companies like Apple is good. Walmart doesn't have the reputation of fan companies, but they have the size. Walmart, this is good. Adobe. Yeah. Adobe is also hiring lots of people out there. You can see the different kind of size. Based on the size of the company, it's going to give you an indication. We have a student actually worked for Airwarks before. Okay. So you can check out these companies. Actually, lots of companies. I know the company because I was doing working there. That's why I know the brand. Okay. But here's how you feel. We have students working there before. It's pretty good companies as well. So you're great. Okay. For you guys to not have my knowledge, number one thing, you understand that, hey, immediately, based on the size of the company, you can look up the size of the company. For example, we have a student working for Viva. You don't know what Viva is. It's a public company. It's a portion of a public company. Working for the company is huge. Based on the size of the company, you can understand, oh, this must be like a decent company. And then you go to their website, do more research. And then you can like school alumni who is my school alumni working there. Then you can contact your school alumni. Alumni ask them, hey, about the company culture. What do you like about the company? Those how you shortlist those companies? Number one, let's assume like large size tier one company. By the way, the reason you haven't heard of Viva system before was that they're providing cloud solutions for medical, whatever companies such as Pfizer, Genetic, they are Novartic. Pfizer, Novartic, Genesis, they are all customers of this company. Consumer didn't hear about this, because they are great B2B companies. This is amazing company you guys should look for. So talk to your school alumni, go to their website, understand the size of the company. Number one thing. And then that's how you identify all different types of large size company. What about small size companies? Let's go to some small companies. Let's find any small company. By the way, LinkedIn recommendation to me is very different to you guys, because I am more senior. So they give me different things. For example, what is storm three? I don't know what storm three. For example, this is like small company senior portal manager, staffing recruiting company. Is this the outsourcing opportunity? Okay, this doesn't count. This is their client. Let me find small companies. For example, this company, this small senior portal manager in a small company, and then you go to the LinkedIn page. The way to see how good the companies are is that in the people working there, do you aspire to work with people with similar LinkedIn profile like them? Oh, this one was a very PMP, just pick her as an example. So she's a PMP and what kind of background she has. Is this person impressive? Is someone like me willing to work with them? That's a good indication to show that well, is this type of good company? Because a good company attracts the best talent. Okay, if you think this person is very impressive, the best talent in the company, she was attracted by the company, probably this company is pretty good. So I should apply for the same company as well. Okay, that's how you rank those companies. And of course, see anybody who has the same background as you, which is also very important.  But could also be, for example, if like me, I'm an immigrant, I moved to US with $800 in my pocket, never had money while growing up, and never received any penny for my family. In fact, I sent money from China to China every single year. It's crazy. So I was very poor, very broke. Okay, so when I look for company, I want to take a look at like companies who also say, Oh, there's the immigrant companies. Oh, they also come from other companies as a culture. Oh, they also own H1B. So they understand the challenges that sponsoring H1B is getting green card to me 11 years to get my green card. Okay, so that's how you evaluate different companies. I hope this is a great, indeed, like resources for you to start evaluating companies. Okay. Cool. Let me continue. Hold on. Let me check other questions. Chat parameters, rank them. Okay, awesome. I hope this answer did answer your question and come on the chat. Duan, so what if you haven't worked in the top tier company? How would you become a candidate for a manager job? You don't need to work for top tier companies. Most of our students inside PMX, they don't work for tier one company. We help them to land a job in top tier companies. Okay, so you upgrade. Our program will upgrade people. If you already go to Harvard business school, and you already work for Google, and then you want to join Metta, and those kind of companies, we do not help because they're not qualified for program. We want to make the product management career available for everybody. You're already going to have a business school. Why are you here? Go figure out yourself. Okay, so it's like crazy. So lots of 99.99% of students, they do not go to top tier schools. Like, no. People from Harvard are not in my program. Nobody from MIT are in my program. Okay, and nobody work for like Google in my program. But we have people in Google alumni. We have lots of alumni working for Metta, Amazon, any places. Okay, it was because they upgrade. They didn't work for tier one companies, but we upgrade them into tier one companies. That's our bread and butter. We upgrade our students. That's why we upscale you and also give you the customized one-on-one mock interview to tell you how would you be able to present yourself better in the interview. But before we do that, we'll upscale you. So because you do reach the tier one company level, the skills, you need to master those skills. Okay. Yes, you know, you don't need to join Google. You ought to join Metta. That's just like rich people's problems that you're already very successful. Why? Well, it's like, no, they're irrelevant to me. I'm one of the poor immigrant. I understand I had no resources, no connections, no families, no money when I moved to US. I understand we had nothing. You start from bottom, how to rise up, how to climb up. Okay. So that's just like, yes, you can for sure. You don't need to work for tier one companies. It's crazy. Okay. So now if you don't work for tier one company, how can you join tier one company? Very important. Okay. Number one thing is that you need to learn how tier one companies actually work. The work process, the people, how do they actually communicate? And the new methodology, the latest methodologies they use to create the best product ever in the world, right? Google product impact lots of people, right? But there's a methodology how they build the best product out there like Meta or different companies. And Meta is going through very deep trouble right now. I'd rather you guys join like Apple type companies. Okay. Google, Google ever my Google and Apple are my favorite companies. Okay. So those are good. Yes. So number one, learn how tier one company, we should find company build the product. Number one, number two, you need to demonstrate your unique value proposition to the company using the portfolio strategy, resume strategy which we already covered earlier in the free in the free training, pre-event training today. Okay. So now the event itself is a masterclass which I dive deeper into portfolio. You guys should register. Okay. Number three, once you have those ready, you need to learn how to best pitch yourself so networking and referrals get into the front in front of the hiring manager. And then number four, you also need customized advice regarding, hey, what went wrong? To be frank with you guys, lots of you guys, but well, I just go out for interview. I interviewed with 100 people, eventually 100 company, eventually landed job really. We're going through recession. Are there 100 interview opportunities being presented in front of you? You're going nuts. Okay. So it's more about, whoa, what if I only have one interview opportunities? What should I do? What should I say? How can I say it better? What did I say wrong? If I say it this way, how can I improve it? Right? So you really need to receive customized advice in terms of, hey, for this advice, this kind of answer, you're going to say this way, this kind of answers it. This way you need to change your answer, change how we present yourself, change how you package your story for your past experience. Okay. So that's how we upgrade ourselves into our students, into thank companies. Okay. And this happened multiple times all the time. None of my students went to like Harvard business schools, you know, that's different. And cool. Sony. I don't know if I'm qualified to be a PM, simply have a passion for building product. But I've never felt supported to pursue management. Okay. That could be it. Okay. So now, if you don't know you're qualified for PM, I suggest you to wash lots of free training on my YouTube channel regarding roles and responsibilities of product managers, six skills to become a PR manager, like Brutal Choose or become a PM. Don't be a PM if you do this, if differences between good PM, bad PM. So wash those free training. So let me show you the free training. Okay. Number one, you do need to watch lots of free training. Okay. But I've never felt supported to pursue management, but you have passion for building product. Here's the thing. I've advised for you, for everyone who has a passion for building products, you need to take massive actions. Okay. You need to learn first. So you see what's required, what does it look like? Number one thing. Number two is that if this is a true passion, you need to pursue your product management. I'm very, very sincere with you. Life is long. In my inner circle last Thursday, and everyone check out inner circle later, I will send you link for inner circle. In my inner circle, I gave one hour free training, inner circle free, by the way, you can join Zoom with me. We have like 40 different people joined like inner circle last week. That's my first inner circle every month with inner circles. Okay. So now back to the main thing. When you talk about, you don't know the qualifier now, you have passion also in the inner circle training, I talked about something important, which is the mindset regarding your definition of life. People were describing your life. Tell me, right? My life is a blank word. For example, your life could be a dance. Your life could be school. Your life could be a marathon. Life could be whatever. Describe it. What is life? Life is blank, filling in. Putting comma on the chat. Life is what? Put comma on the chat. Okay. Your definition of life, everyone's different. Okay.  Come on the chat. Life is what? Complete the sentence for me. Life is what? To me, life is school. Okay. School is means that you continue learning, upscale yourself, and improve yourself and learn your things and grow. Life is school. It's like growing, continuous growing for the rest of life. Someone think life is a marathon. So let me define what life is a marathon, right? You work from age 20 to age 60. You have 40 years. Your life is a marathon. If you're passionate for building product, using technology, inventing something amazing, using those whatever design, digital product, and communicating with customers, solving their pain points, and impact millions people's life, you have 40 years ahead of you. Why don't you take massive actions right now? Because life is a marathon. It's not about today. I cannot become a PM. Why do you learn how to be a PM? We have lots of different upscale trainings inside a PM accelerator. You can join and learn. So first thing is you join our free masterclass, learn about portfolio, different things. We have lots of free training. You can just take manage of all hundreds free training on YouTube today. Number one thing, you understand life is a marathon. Of course, different definitions. You can live the dance, whatever. Put it on the chat. Life is what? I want to learn, by the way. Okay. Put it in the chat. So if you understand that, you have 40 years working. You have a passion for something. You need to take massive action right now. Would you feel comfortable when you retire at age 60, you're still doing what you're doing right now? What are you crap?  Seriously.  What the heck?  Why don't I pursue my passion? Seriously. Okay. And on average, every 10 years, there's a recession. What's in 40 years, you're going through four recessions. Everyone needs to go through recessions. Recession can create great opportunities, can also create bad opportunities. Great opportunities are available for people. If you know how to invest, when recession hits, that's the best opportunity. Lots of people waiting for the recession to invest their money. Seriously, you can get 10 times whatever grows. In 2008, people get 10 times gross of the money during 2008 recession. Recession could be good. And everybody going through recessions, assuming you live at least age of 60. Okay. I expect. I live at age 100. Now I'm going through every session. So life is what? Come on the chat. So if you have a great passion, I encourage you to actually pursue your passion. Life is too short. You have wasted 40 years doing what you're doing right now.  Immediately upscale yourself, learn what is product management, and take some real-life hands-on skills. How to interview a customer? How to write a requirement? How to manage cross-functional teams? Learn those upscales. And then you can become a PM if you put your mind to it. Lots of people, 91% product manager today, their first job is not product manager. They're all transitioning to PM. They're something else. Sales, marketing, software engineers, designers, consultants, they all become a PM. But people in healthcare industry become a PM. Any major educational industry become a PM. Any major, any field you had, I have examples. I have students who transition into product management with that field. So I wouldn't be like, well, I don't know.  I have 40 years to do work. I'd better do something that exciting. Okay. Follow your passion. Young people, especially young people, don't give up too early.  My oldest student, 57 years old. She was like, I still have 20 years, 40 years ahead of me. I'm not ending my career. I'm just like, continue to grow. Early in her career, she said she put lots of effort in her family. She prioritized everyone else.  She didn't prioritize herself. Now at age 57, she had a broken moment. She said, whoa, I need to prioritize myself. This is a year for me to grow and accelerate. And yes, she became a product manager at age 57. Any young people, don't tell me that you have passion. You don't know if you want to pursue you or not. Okay. Sony, did this make sense to you? Are you still listening? If not, make sure you go watch it again. Okay. Anybody find this inspiring? Share this video. Share my train. Just you post reshare on LinkedIn. Re-share my YouTube channel. Anyone else who's like, hey, this is inspiring. Okay. So Youth is going to demonetize my video if I can. It's so funny. So yeah, share it with others. Life is too short to waste the opportunity to think too much. You just need like 40 years. I gotta make it happen. Like 40 years. This is crazy. Okay. If this, you find it inspiring, like this video, like whoever is on this, like this video, and share it. Share with others. Just comment saying this is so inspiring. So inspiring. Everyone watch this. You have passion. You gotta pursue this. Okay. Cool. Shake, thank you for answering. Doc Nancy, this is really helpful. One, how do I find a resource that explains Apple, Google program management, or product development methodology? I don't think they make it into public. We have proprietary information within our program, to be frank. Our mentors or senior LPM from Apple teach us that inside our program, she has her office hours every Thursday. So that's we have proprietary knowledge. That's why people inside a PM and surgery, they get result faster because we have insider knowledge. We also bring like meta TPM, teach people next month. There's many different crazy stuff going on. Okay. Yes, but on our YouTube video, there is one interview I had with Google PM. You should watch that. That has some insider knowledge. Let me show you which video it is. Everybody see my screen? Okay. Screen sharing. Here, come here. By the way, this is our inner circle, by the way. You can join me on Zoom live every month. Okay. Currently is free. You come in free. You stay free for now. Before the price goes up, right now is free. So go to the, we just finished our live one in February. You can email my team to get recording off of live training. Okay. Go to documents.com slash inner circle. Now, let me show you the resources. Insider knowledge of how Google Apple builds a product. Come here. I have free training here. We have a library of things. Playlist. How to become a senior product manager. How to become a senior PM. I have one with Google. How does Google product manager launch a product using agile process? And actually I interviewed someone from Google with the product manager and sharing me how exactly things work out. And Google, let me share this video with you guys. But how to find this video? Go to playlist. How to become a senior product manager playlist on my channel. How to become a senior product manager playlist? Come here. That's where you find his interview here. I also interviewed some, what's for Google, Google design sprint on my channel as well. So, also TikTok. I also interviewed director product, TikTok. Okay. So lots of stuff. Come to the playlist. Cool. But we have way more Insider information. Insert PM, PMXOOM Pro. Okay. So, if you're interested in PMXOOM, go to the website. If you're interested in PMXOOM, learn more about what's our upskills and also learn about free training or click on a photo. Come here, free program muscle class go to documents.com slash muscle class make sure to do your homework you have a you have a meeting in in my patient on your calendar put it on your calendar and do your homework the email confirmation has your homework okay different bonuses you need to get your resume ready okay no bullshit just do it fast um everyone needs to take massive actions okay we have lots of free training you need to execute the information we just teach you cool yeah put the link in the chat and on LinkedIn you might be able to get the same link just go here just use the screen sharing link I just show you go to my channel you can find free training cool life is upgrading I love this who said in the chat life is upgrading exactly right life is upgraded decide someone on the chat from a LinkedIn user put on the chat saying life is what life is upgrading you should upgrade your life exactly yeah life is passion that's the way to describe it life is upgrading I love this that's a gross mindset you know upgrade your life growing whatever passion ideas you have you got to pursue it life is too freaking short okay life life is short for people who didn't take actions life is long you have 40 years ahead of you you can have four careers if you want to if think of like seriously age of 57 still kind of push to the next level what a hack are you thinking about not upgrading your life okay cool nice nice who hold on I think we'll answer all the questions let me go to my deck check my screen someone oh let me put the link in the chat people have it go to masterclass link in the chat and maybe join me tomorrow for the live masterclass so let's do this let me show you all questions do we have more questions oh two more questions how to position myself for international roles as part of management oh my goodness I feel me free free YouTube training for this one uh glad is uh position myself for international roles in part of management I have a training on this on YouTube so this is we have free trainings everywhere so now let me uh let me do let me go overview I just published it uh last week this five ways to secure 100k to 100k remote PM jobs in the US or outside of home country that's where the international PM you should study this okay we also have another training regarding the international uh we have another thing one sec more for international people either move to the US or you move to different countries right here okay so number one thing I'll watch this let me share this video share link I have already so for your international roles it's how to position myself in international roles in part of management cool here is how you should do it position yourself in part of manager or in not part of manager position yourself for international roles as a part of managers so number one research different kind of positions outside of us or outside of home country number two learn how local countries actually do recruiting the process might be different okay so number three identify those remote PM positions because you might not be able to move to London right away well why don't you start to do remote job for companies in London and then work with a company get a visa to move over okay there are many different ways to do it watch the video I just shared with you that details had details what you need to do cool question here Spencer how to become a brand manager for entertainment company brand manager for entertainment company this sounds so weird it's not our bread and butter to be frank um for for the transparency guys the ones we know what excellence we know what the best like coaching and offering out there for the ones we don't know I'm being frank with you guys brand manager we don't teach brand management for entertainment companies to be frank so now but high level I assume in order to become a brand management you need to first but learn what is brand management how to manage a brand what different like strategies goes into it and then you start to build your portfolio to show that you already have related experience of product management and brand management and then you go in for interview okay so that's high level will follow the same strategy but how exactly brand management work I currently it's not my strengths so I don't know so for the ones I don't know I'll make it clear to you guys for the ones I know we do the best we'll tell you where the best coaching program in product management industry for sure okay let me see let's show my screen another question I'll join pma pro okay how to join pma pro join the master class okay so this is the coaching program we have join our master class this is our coaching program right here am I sharing something oops hold on I'm not sharing go to our coaching program master class so we can learn more how to join us you directly go here darkness.com slash master class you can learn you can get all the information you need okay three sub join us number one attend master class number two talk our head mission number three select candidate who's going to join us in the pma community is awesome okay cool so looks like I answered all the questions let me see any remaining questions from the live chat awesome oh this is a question Helen how can one know how to locate your free classes on youtube can you please work us through this okay great so here's how to do it it's a how to access the free classes on youtube let me do this go to youtube go to my playlist okay so there are different kind of playlists choose the playlist the most relevant to you you can watch our most popular videos um funny I have a hair stick video from five years ago 26,000 views within like two months it's crazy when I hit the algorithm and blew up so funny and I was like I'm a coach I don't hate I don't I don't do cell sticks my hair sticks but that video went went right off okay so here's how to do it product management course product manager interview questions and answers go here go to my playlist which has everything you need regarding passing interview now resume tips watch all of this okay how to become product manager with no experience watch all of this and how to become senior p.m okay watch this and remote p.m and people also join like um uh microsoft was in 40 days and he's a lot more like contractor for eight years right so just study this director product this is free training for advanced okay how to become a direct product different kind of career paths um for p.m so watch this and yeah negotiate behind stories everything together awesome cool all right so we have this is help that's we we access all the free training from me I'm also going to put more like investment so I feel my first investment video I want all of you guys to actually achieve financial independent and retire early methodology okay I have a free training for investment um next week so subscribe to my youtube channel okay turn on the notification button we'll talk about investment next week okay so awesome so I believe um the inner circle link doesn't work one sec why the inner circle link doesn't work let me share it again did you put the wrong url here url inner circle did you put it incorrect documents see the con inner circle okay so let me do this let me put it here documents the con inner circle okay it's working on my and inner circle probably spelling correctly okay so this is our inner circle so you get everything you need next month we're going to announce it okay cool all right next one we have the we're having vp of product google talking to me live and people in the inner circle can join the the zoom with him so far inner circle three so join for free before the price goes up awesome cool okay so we have everybody here awesome copy and paste it doesn't work let me click it works for me just go to darkness.com slash inner circle it should work I put to the link again you should it should be working if not email my team email me okay go to my um my youtube channel has how to contact us the contact information you can email my team a team a pm excelsior dial okay let me put it in the chat we can send you the link ppm excelsior dial you can email my team on my website also have contact form you can directly submit a contact form we can send you the resources awesome okay great cool thank you for joining me and make sure to like and share this video like this video most important like this video and share it with any people who want to get inspired and get ready to join our free training tomorrow regarding the product masterclass product portfolio strategy that's very critical for anybody who is going through the recession okay so the best strategy for march 2024 alternative is really awesome okay gonna see you soon go to darkness.com and check out our masterclass tomorrow gonna join you live


I'm going to talk to you about LLDB in free BSD, but in order to get there, I'm going to talk a little bit about the history so that you'll understand how we got to where we are and how that relates to where we hope to go in the future. So first of all, why do we need a new debugger? As you know, the characteristic of BSDs is the concept of a base system, cohesive set of operating system components that are developed and released and bugged and built together and released as an integrated whole. So one of the components of the base system is the tool chain, which includes the compiler and the linker and all those things, and of course a debugger. Free BSD has a long history with GDB in the base system, the GNU debugger. So the history actually goes a little bit further off to the left of this chart. I mined the contrib slash GDB directory to find out exactly when GDB releases came in over time. And the very first free BSD release actually predates the way that the source tree is used now. So I booted up a free BSD 1.0 ISO image in a VM to see. And free BSD 1.0 in 1993 had GDB 3.5 in it, and then in 96 we imported the source for 4.16 into free BSD. So the light blue bar on the top represents upstream releases, just selected ones. And then maybe that's future light purple bar down below represents the time at which we imported that release into free BSD. So over time, new minor releases would come out and they'd get imported. So we skipped a little while, and then 4.18 came out, we imported it. A new major version came out 5.0, and we imported it. And each time this would happen, we'd have a bit of work to do to adapt the new release to run properly on free BSD. So the sorts of things that had to be done are support for free BSD's threading model, support for kernel debugging, all of that didn't exist in the upstream GDB project. And then as time went on, additional GDB releases came out and we imported them basically once every year, once every other year sort of thing, a GDB release would get imported into free BSD. And over this time, the patch set for supporting GDB on free BSD kept growing and growing and was a larger amount of work on each new import. And all of this history predates my direct involvement with debuggers on free BSD. So I don't have a direct reference, but I talked to the people who were doing the work at the time and asked for a little bit of the history. And basically the developers who were working on GDB on free BSD at the time tried to work with upstream GDB to get the patches pushed upstream, because of course it's a lot less effort if the changes for your own OS are integrated directly in the upstream project. If you have to, every time a new upstream comes out, do a whole bunch of work to bring it into your use case, then it just becomes a larger and larger and larger maintenance overhead. And so they tried to work with upstream GDB and get the patches pushed upstream, but were completely unsuccessful. Basically it was expectations on the GDB side that either they couldn't meet or couldn't keep up with the pace of ongoing upstream changes. I'm not sure of the exact details, but this is a common theme I've heard that it's often very difficult to work with the GDB and GCC upstreams. At least from the free BSD community. And of course GCC is the same sort of thing we've imported lots and lots of versions. It's a bit more frequent and a few sort of more odd things where we've either waited a long time or some of them actually even go backwards because we imported a snapshot and then updated to the eventual final release. And if we extend the history out to today, I've skipped quite a few releases. I put GDB 7.0 to show a new major release came out just before 2010. And GDB 7.8 is the most recent, I think it was just this last July. So of course GDB development is still ongoing. And we've stopped as of 6.1.1 in 2004. So in the base system in free BSD today, we have a 10 year old version of GDB. And it's really showing its age. So C++ debugging is really lacking in our base GDB. And threaded inferior target support is also not particularly good right now. And basically what ended up happening at this point was the developers who were doing this work kept, I guess, got tired of the effort of always trying to bring in the new versions and basically just gave up. Given lacking sufficiently important bug fix or new feature in those next few releases there was no real desire to put in the effort to do the import. And then you'll notice that GCC also stopped and that's when the GNU project switched to GPLv3. And so GPLv3 has a number of new restrictions and new clauses that some major free BSD committers and free BSD consumers and contributors to free BSD sort of outside of the committer base found onerous or objectionable. And so the free BSD project, the current stance is that we won't take a update from a GPLv2 component in the base system to GPLv3 without very careful consideration by the core team to determine if that's the way we want to go or if there's something else we'd want to do. So with the compiler side, we've switched to Clang and LLVM. 10.0 has Clang as the system compiler for the main tier one architectures. And that's working out quite well for us in the base system as far as the compiler goes, I'm very happy with it. It compiles almost a very large portion of the port's tree and works quite well. So that's been a very successful transition. And then over time, the additional other architectures like MIPS will transition to Clang as a system compiler as well. So it was clear that we needed a new debugger. We had no path forward and we had no way to move forward. And the GDB that we had was increasingly showing its age and becoming a problem. So at the time, there were a few debugger projects out there, open source or otherwise, and a few new projects started springing up within the FreeBSD community and in the broader open source community. But none of them really gained critical mass and became a viable option for the FreeBSD base system. And then in 2010 at Apple's Worldwide Developer Conference, WWDC, they announced that they had been working on a debugger project called LLDB. And it's built on top of Clang and LLVM as foundational libraries. And it basically follows the same model as Clang and LLVM as far as in the same family, it's now in the same repository and used the same bug tracker. It's a member of the Clang and LLVM family. So just looking briefly at LLDB's history, the chart just represents lines of code data from Black Duck Open Hub, which used to be called OLO. And from mid 2010 to about mid 2012, it was really an Apple project. I looked through the commit history in the repository at email address, domain names, and basically speaking, Apple did pretty much all of the work during this time. I did look to see who the most prolific non-apple.com committer was. And so I looked and it turns out they were responsible for just under 2% of the number of commits during this time period. And so I wanted to see a little bit more about what they were working on and what the relationship was. And it turns out they were actually an intern at Apple during this time. And their email address switched to apple.com later on in the history. So I looked at the next most prolific committer and they were responsible for about 1.5% of the commits, but notably including some initial Linux support. So during this time a few patches landed for Linux support and for a very initial port to FreeBSD. So FreeBSD developers Mark Peek and Kip Macy did a lot of the early work. And there was someone else even before that that went in during this time. So the Linux support existed in LLDB. And then Kip Macy and Mark Peek took that, refactored that support into a set of POSIX classes and then had FreeBSD classes and Linux classes that derived from the POSIX base class. And then starting in mid-2012, Intel's open source group in Waterloo, Ontario, Canada, just down the street from where I live, started working on this. They had about, I think they had four committers, fairly consistently developing LLDB and their primary focus was on Linux. So they wanted it to be a very capable debugger on Linux. And there were a few other people at Intel that were committing at the same time, but primarily a small group was doing quite a lot of work. And then in early 2013, I started working. And that little bump there is just an anomaly of the data from BlackDuck. It's not that I was a very prolific committer just doing all kinds of work. What really happened there is one of the Intel guys committed a whole bunch of API documentation and Open Hub counted that as lines of code. So it looks like I showed up and did a ton of work, but really it's just a little glitch. So my interest in LLDB came from a few different areas. But one of the motivating factors is the work I'm doing with the computer lab at the University of Cambridge, as mentioned, in collaboration with SRI in the US on a DARPA sponsored project for hardware compartmentalization at the instruction set level. So this introduces a whole bunch of interesting new requirements as far as registers and memory attributes and things that need to be just shown in a debugger context. So that's one of the reasons that I started getting involved in LLDB. But in order to be able to explore some of those new avenues, I first had to go and do a lot of work just to get LLDB on free BSD into a good state. So when I started, the port had bit rotten a little bit. It didn't even build actually on free BSD. And so I had to first fix the build issues and then it did what you would start it. And it just basically didn't actually work. So solving a few of those issues, finally I got to the point of it's usable as a basic debugger. You can start up bin LS, set a break point at main, and it actually does something. And then I worked on the test suite, so it was the same sort of thing. At first, the test suite didn't run on free BSD and I had to do a whole bunch of things to get it to pick the right compiler and the right libc++ and those sorts of things and it's not a lot of difficult work. It's just tedious to iterate through all of those special cases where they've got if platform dot starts with Linux and et cetera, et cetera, and then just adding a free BSD case on the end. But there were a lot of those sorts of little things that needed to get cleaned up. And in the beginning of this year, Google has come on board to start doing a lot of LLDB work as well, which is really important because the Intel guys, that group has actually shut down now. The office down the street for me has closed and they're not working on this anymore. And there's a lot of work to do here in sort of the base infrastructure beyond just porting to Linux or porting to free BSD as well. So it's excellent that another company with significant resources has taken a large interest in LLDB and their primary platforms of interest are Linux, Android, and they're doing some work on Windows as well. And then looking through the, I looked through the rest of the commit history to see who else has been involved and I just put some of the logos based on domain names that I found in there. And there are quite a few people who are doing one or two patches here and there or build fixes and things. So my point here is really just that LLDB is very much transitioning from what was originally an Apple project to what is now very much a community supported and very credible and viable debugger. So I'm going to talk a little bit about LLDB's design. And so LLDB in a similar way to Clang and LLVM is built as a modular set of components that can be reused for other purposes. So LLDB actually is built as a library that other projects can link against and use its functionality. So it's designed to vend an API and if you're writing a command line debugger. So you type LLDB at the command line and you're using it through a UI or through a text interface. It's actually just linking against libLDB the same way that if you're using a text code on OS 10, it's linking against the same kind of LLDB library underneath. And you'll see Python actually on here in two different spots. So Python's on the top as a consumer of the LLDB API and then it's down here as a script interpreter. So for the top case, you can write a Python script that says import LLDB and you basically get an LLDB object that you can then have start up a process to debug set break point single step through it. So you could write an entire debugger front end in Python, for instance, just using the library under the hood without actually having to run a LLDB binary that you communicate with through some sort of interface. And then the Python down here in the scripting interpreter is something that we don't have at all in the base system today in GDP. The scripting interface there is quite limited in what old versions of GDP can do. Newer GDP, contemporary GDP, has a Python scripting interface as well. But it allows you to do things like if you need to walk a linked list that's in your target process, for instance, you can write a script in Python that will read member variables and do whatever you want to do so that you can automate the sorts of tasks that you need to execute like that. You can also use the script interpreter built into LLDB to add new commands, new functionality. So for instance, there's a memory search command that someone added at some point and that's actually implemented in Python. The expression parser up here is one really interesting part of the way LLDB works. So as you can see, I mentioned that the orange parts there are components that build heavily on Clang or LLVM, built on top of Clang or LLVM foundation parts. So the disassembler in the plug-in side is one part. LLVM provides the disassembly capability. But the expression parser is really neat. So one of the challenges of a debugger is giving a faithful expression parser. So you can type in something at the command line to examine some complex object and examine member variables in some really complex variable you have in the function that you're stopped in in the debugger. And what LLDB does is takes the expression that you've entered at the command line, wraps it in a function, in a function sort of wrapper and a template, and not a C++ template, just a boilerplate around your expression. And then passes it off to Clang to parse it so that any expression, any code that you could enter in your original source that you've compiled and are now debugging can also be entered at the command line. And have LLDB through Clang execute that. And so what LLDB does is takes the Clang AST, does a few transformations at that level, converts it to LLVM IR, does a few more transformations at that level. And then depending on what sorts of operations your expression actually performs, it either has an IR interpreter that can figure out if you're just reading a simple variable, it'll just do that without doing anything particularly complex. And if you have a more complicated expression that it can't interpret, it will jit it and execute it in your targets in the context of your target. So that you can do sort of any function call you want with there's certain limitations, but generally speaking you can execute any sort of function call you want. You can define local variables in your expression in your expression context that will remain from one expression to the next. And I'll show a very brief demo of that later on. The data form runners are one other item I'll talk about just briefly. So this is built into LLDB and it knows how to interpret the libstandard C++ or lib C++, any of the sort of standard classes. So that you get a nicer looking representation for standard string or map or vector or whatever, rather than just splatting out a whole bunch of incomprehensible gobbledygook. And that's something that contemporary GDB does through bringing in a Python script as well. But in the base system today, we don't have that capability. And one of the, I don't really want to talk about GDB versus LLDB too much because it's not really a valid comparison to say contemporary LLDB does so much that 10 year old GDB doesn't do. It's not really a very useful discussion. But I think one of the things that's very interesting is even compared to contemporary GDB, the discussion is very much around what can one do that the other can't. And I think we'll see over the next couple of years, as we've seen with Clang and LLVM, the early discussion was, how does this compare to Clang and LLVM? How does it compare to GCC? And that's, we've largely moved past that now. We're largely talking about what are the interesting things we can do because of the way that Clang and LLVM work? And what can we build on top of that? And I think in the next couple of years, we'll see the same thing with LLDB, where we won't be comparing features or saying what isn't implemented yet. It really will be one of the cool things that we can do with LLDB because of the way it's built. And this is just a closeup of the plugins. I'm not going to go through all of it, but I've highlighted in blue the ones here that either had to be written for FreeBSD or that FreeBSD heavily relies on. And the process plugin there is probably the most important one. It provides register definitions and the concept, any sort of thing that is specific to a FreeBSD debuggy, the FreeBSD target. The platform represents running LLDB on a FreeBSD host, so things like copying files to or from the host system. I'll describe briefly how LLDB looks from actual use. So, GDB's command parser has evolved over time to have all kinds of overloaded. All the commands can take all kinds of different options, depending on what context they're in, without really knowing exactly what it is. So, for example, the breakpoint is the best example. You can set a breakpoint and without really telling it what it is, it can be a function name, it can be a file and then line number, it can be a C++ method, and it just sort of hopefully figures out what it is you mean. And LLDB, it's normal. The command parser was sort of designed from the beginning to try and be very regular and discoverable, and so all of the commands are of the form noun verb and then options and an argument. So instead of a whole bunch of overloaded breakpoint commands, it would be breakpoints that dash, dash, name, main. And this is a little bit verbose, but like GDB, you can use the shortest, unique prefix of the entire command name. But also, LLDB introduces a whole bunch of aliases so that generally speaking, the basic functionality of GDB for single-stepping or for starting a process or for setting a breakpoint, there is an alias that allows LLDB to work with your finger memory from GDB. And most of these are just direct aliases. The command works exactly the same way or doesn't take any arguments, but the breakpoint command is actually a specific, the B command, sorry, in LLDB as an alias is a specific command that's implemented to try and handle some of the overloaded options that you can provide to GDB's breakpoint command, but it really, it's a much limited set. So if you're going to use LLDB, it really is a good idea to sort of try using the, to get familiar with LLDB's native commands. And so I'm gonna give a very brief demo here. So I have here the text of Romeo and Juliet from the Gutenberg project, and this is actually an example from LLDB's website. So if you'd like to try it out, you can follow along there. And so the application here is just a simple dictionary that will read in that entire file, accept a word and then tell you if it's found in the file or not. And it builds a binary search tree from the file that you type in and then just shows you if things are found. So for example, if I type in words that I would expect to find in Romeo and Juliet, they're found. And if I type in words that would not be expected, not found, but if I type in a word that should be in there, it says, oh, it's not in there. And so that's the bug they've introduced in this hypothetical example. So you may have to bear with me if something doesn't work here because this is actually a development snapshot as I've been working through a number of issues on my working directory. But so we'll start up LLDB with our buggy example. And first we'll set a break point. There's a find word function that takes the word that the user has provided and performs the binary search. So as you'd expect with the debugger, it stopped at our break point. It's given us a little code snippet and it tells us that we stopped. The reason is a break point. What thread ID we've stopped in, the instruction pointer, our application and the function that we've stopped in and the function's arguments. We can get a back trace, et cetera. So one of the really interesting things we can do with the Python scripting is write a Python to be able to understand the same data structures that we use in our C code. So if we'd say type in script, we get a Python interpreter and I'll just cut and paste this. So tree utils is the little snippet that's provided that can understand the binary search tree that's in our code. LLDB.frame.find variable is just looking up a variable in the frame that we're stopped in and we're asking it to find the path to the word that we expect to find there. And so the Python has told us that we should go right, left, right, right, left down the tree and find the word that we wanna see. So if we look here, this is the find word function that we stopped in and we can see line 134 and line 136 are the two branches for taking the left or right branch of the tree as we search. And so I will add a Python script. So I'll set break points at the two return statements as we're gonna go through the tree. And now we can add a snippet of Python to run when we hit the break point. And it gives a quick little help discussion here or description about variables that you'll have to use in the Python that you're gonna enter. Just, and so what we're asking for in this little Python snippet is we have that path variable that we calculated using the Python version of the tree walking earlier and we're saying if the first character of the remaining path is R and we're in the right return branch, then we'll just strip that one off and continue. But if we actually take the left branch in the C code and we know we're supposed to go right to be able to get to the word that we're looking for, we'll print out a little statement and not continue. There's all of our break points that we've set. We'll disable the initial find word break point and we'll restart. Oh, and this is, there's a little bit of a race condition with IO handling in my current debug snapshot. So in this specific case, sometimes you'll see LLDB prompt came back out here. LLDB's command interpreter popped up on top of the target I'm trying to run. So I just tried again. And now I've entered Romeo again and we've stopped and printed out the text that we had in Python. It says we're going down the right branch and we should be going down the left. And if we, so we can just type script and then a one line Python if we don't want to actually enter the Python command interpreter and then quit afterwards. And it's telling us that this is what's remaining. So we had RL, RRL and we stripped off the R and then this is the path that we should still be taking but we've taken the right path. We can look at, look down the tree with the path that we've expected and there's the word that we want to find and if we say the word we're looking for that's the word we're looking for. And I mean, this is a bit of a contrived example. So, oh, there's the problem. It's, we've uppercased or lowercase the words as we've inserted them into the tree. It wouldn't actually be that easy of course but it does demonstrate the sort of power that's available through this sort of interface. Now I'll just talk very briefly about the current status of LLDB on FreeBSD. So the test suite, after a lot of work runs consistently on FreeBSD, there are build bots that are running regularly on each commit in the upstream clang LVMLDB repositories and the full test suite basically runs the tests that don't apply to FreeBSD don't but 311 tests run and all of the failures have a PR in LLVM's bugzilla. So initially, there were large classes of functionality that just didn't work. Those of all, we've moved past those sorts of things and what remains are some one or two off cases that are maybe not fully understood but there's the beginning of some debugging information in the upstream repository. And actually that's one thing that I forgot to mention earlier. I mentioned that LLVM or LLDB is under the same permissive BSD-like license as the rest of clang in LLVM but the other really big difference is that the upstream LLDB community is very helpful and very welcoming. So I started doing some initial work to get the build fixes ready and submitting a lot of patches and in very short order, they said, we're tired of committing these things for you. We'd like you to just become an LLDB committer so you can push the free BSD changes indirectly. And so it was only a matter of a few months of me submitting patches and getting things moving along that I was an LLDB committer and the rest of the LLDB upstream is very, very helpful to anyone who comes along with questions and talking about ideas for future direction or general things that people would like to implement across a variety of operating systems. In free BSD right now, AMD64 is the only target that really works and LLDB on free BSD is a perfectly capable, very usable debugger for AMD64. I said I wasn't gonna say this too much but at least as good as GDB in the base system. I-386, there's code in the tree. It doesn't actually work. It's in that same state of you can't even start a simple process and set a break point at main. And there's nothing in here I think that's particularly difficult. It's just usual 32 versus 64 bit kinds of issues so some offsets are incorrect or something along those lines. It's just that the I-386 support has been a fairly low priority for me so I haven't spent any time on it yet. Well there are more important things to fix in AMD64. MIPS is not usable as a local debugger at the moment so you can't actually run LLDB MIPS on your little MIPS device but it does actually support core files from MIPS binaries. And ARM, because Apple obviously cares an awful lot about ARM, LLDB's internals have a lot of ARM support but it hasn't been brought over for free BSD or Linux yet. 64 bit ARM support is starting to come for Linux and we'll bring that over to free BSD as well. It's early days yet but I don't think it's it won't be particularly long before LLDB is actually a workable ARM64 debugger on free BSD. Spark 64 it has some volunteer effort or sorry PowerPC has some volunteer effort and then Spark 64 and IA64 I don't know if anyone's gonna actually work on getting those working. So I've looked through this over time and it used to be that a lot of these things didn't work basically now for user land debugging LLDB is great on and again this is AMD64. The watch points are an interesting one interesting case. Most of this work is work that I've done to get these things to function. Watch points was actually contributed by another developer at a company called Zinuous so it's even in within the specific domain of LLDB on free BSD I'm not the only one doing the work. I had a Google summer of code student over this past summer working on kernel side debugging. He delivered a workable proof of concept demonstrating that yes we can against a live running on your your live system against dev mem or with kernel core dumps it will be possible and it's the project didn't really get as far as I would have liked in order to be to have something committable to the tree directly but I'll definitely take that work and refine it to have kernel core and live debugging and then on the bottom this is something that will come a little bit later. So for OS 10 kernel debugging is done using UDP over ethernet because most systems you want to debug these days don't have serial ports anymore which is the sort of traditional interface you would have used or fire wire that's all disappearing. So at least LLDB has internal support for ethernet remote debugging and it has a OS 10 back in for that only at the moment but by the time we have the stub support in FreeBSD I'll work on getting the LLDB side in. GDB protocol remote debugging it's in and it basically works it does need some more testing to find if there's any other corner cases that don't work but what's really interesting is that hasn't historically been particularly useful for FreeBSD because GDB server hasn't been workable for us. There is a project now called LLDB-GDB server which is a bit of a strange name I just call it LLGS and it is implementing the same sort of functionality so it's a debugging stub that you run on your target and the debugger connects to it over some interface and controls your user land process over that interface. It's being developed by the Google guys for Linux initially and I have done a little bit of work getting it to FreeBSD and again I think it is not yet fully working for Linux but it's very close and in very short order I'll be able to get that running on FreeBSD. So this is very important for embedded targets where you don't have an awful lot of memory and don't have a lot of CPU power. So it uses a lot of the same low level infrastructure from LLDB but doesn't bring along the Clang expression parser and all of the higher level more heavy weight functionality. One of the really neat things about LLDB is that it is inherently a cross architecture and cross OS debugger so in the same way that Clang and LLVM have support for a whole bunch of target architectures built in when you chose that compile time you can but generally speaking the entire set that supported LLDB works the same way. So what it means is I can run LLDB on my FreeBSD laptop and with that same LLDB binary I could debug a local process on my laptop. I could connect to a Linux target and do remote debugging of a Linux target or I could connect to say a FreeBSD MIPS device on my x86 laptop using the same LLDB binary. And for the most part that sort of works it's because it's not a particularly commonly used case yet there are quite a few small issues that one will run into when trying it. So really what needs to happen there is just getting a lot more testing and bug reports and as we find things that don't work they'll get fixed quickly. LLDB there's a snapshot in the base system right now. Upstream FreeBSD development on LLDB the bleeding edge is upstream. So all of my work is actually going there first now and then coming into FreeBSD after settling for a little while. But we have a snapshot in the base system it's not built by default but if you add with LLDB equals yes to source.conf and the standard build world and build kernel as well build world and install world is defined in the handbook it will give you an LLDB in your install. Clang 3.5 imports coming into FreeBSD sometime in the fairly near future and when that happens I plan to bring in a new update from LLDB upstream and enable it by default. And the last point is that Python is a little bit of a trick because we're not gonna have Python in the base system so some of the more interesting functionality wouldn't be available unless we can do something about this and what my hope is that we, right now Python in LLDB is a compile time option it's very easy to build LLDB with or without Python but it is compile time. So my hope is to move that to a runtime check and the LLDB in the base system will magically be able to use Python functionality if you've installed the port. Thank you. Any question? The main usage of LLDB especially imports the current LLDB is the machine interface that a lot of the desktop development environment use. LLDB has the same machine interface is already implemented as just planet or I don't know the question. I feel you want to use Cadevelop. I could use Cadevelop with LLDB just to use LLDB is not yet implemented. Sorry, can you? The machine interface. Yeah. The GDB machine interface is used to speak. Right, so GDB implements a machine interface which is a way for frontends to communicate with the GDB binary running. LLDB has actually had a compatible implementation of that contributed fairly recently. So LLDB also can speak the same GDB MI protocol so that various frontends that know how to speak GDB MI could talk to LLDB MI as the backend. In this case, actually, this is a screenshot from an IDE called CodeLite which builds on free BSD. It doesn't include the LLDB support yet but the integration that the CodeLite guys have done uses the LLDB native API. So LibLLDB just links into CodeLite for their use. But yes, any of the other kinds of GDB frontends that speak the MI protocol could use LLDB as well. Hi, since you mentioned that there were watchpoints there. Other was hardware watchpoints or? Yeah, hardware watchpoints. Perfect, thank you. Just a question. As you had to implement all the free BSD specific part, how much work is it? I'm from MINIX, so we were kind of thinking of importing it. That's a very difficult question to answer. A lot more than I expected. For a few reasons. So as I said, when I started, a lot of things were in fairly poor shape and there was actually a bunch of internal LLDB functionality that I had to fix up for our specific use case that was even independent of free BSD or Linux. It was just core internal bits that didn't work properly. So it's a little bit hard to say. Like I said, I've been working on LLDB off and on since the beginning of 2013. I think though that with the way things are progressing at LLDB now, it actually isn't gonna be all that difficult for additional projects to do a port because there's been a whole bunch of refactoring that has been going on and is still going on to clean up a lot of interfaces. So it becomes much, much more clear where you need to plug in OS specific functionality. And also I think the effort to bring on the next BSD port is much less than what I went through with this part. So that BSD, there is some initial build infrastructure in there and basically to be able to run LLDB on an FBSD host but not the actual P-Trace interface. But I don't think it's a huge project anymore. Okay, thank you. Well, hi. Is it possible that you connect LLDB with the open on chip debugger? Well, obviously it supports plenty of JTAX and it will be quite useful. So I mean, I think that open OCD just exports the GDB remote protocol, doesn't it? So LLDB can speak that protocol. So that should all just work. It may, there may be reasons that it might be interesting to actually use other interfaces to open OCD. But I think in general, it would work the same way GDB does of speaking the GDB remote debugging protocol. Okay, thank you, Ed. Thank you. Okay.