I saw no need to attack on the climb because I knew the descent that was about to come. I went into the descent first and took more risks than I normally would in order to establish a gap. Not only is this descent very steep and rocky, but it's also long. It took me 20 minutes and 47 seconds to get down it, and it comes late in the race at mile 83, so you're already fatigued going into it. Welcome back to another video.  I'm going to be talking pacing, strategy, some key things that I did with my bike setup, and power numbers. Let's go ahead and get into it. For those of you who don't know, the Shenandoah Mountain 100 is a 100 mile mountain bike race in Virginia that's been going on for 22 years now. It's also part of the National Ultra Endurance series, which is a national series for 100 mile mountain bike racing here in the US. The Shenandoah 100 was actually the first 100 mile race that I did back when I was 15. I've been chasing a win here for a while now and have come agonizingly close. For example, in 2016, I was in a battle with Christian Tangay and dropped him with 15 miles left to go. Unfortunately, not long after that, I ran out of juice and bonked, and he caught me with 5 miles left in the race and beat me by just 2 minutes. Given that I've done the race 7 times at this point, I know the course extremely well and have learned a couple things over the years. The course has 6 climbs in it. The 2nd and 4th climb are very steep, technical single track, and in fact most people will have to get off their bike and hike for at least part of these climbs. The rest of the climbs are gravel or double track, and the descents off of all 6 of these climbs are moderately technical single track. And then there's some flat road and gravel sections in between each climb. The biggest of these 6 climbs is the 2nd to last one and is known as the Death Climb, and it's aptly named too as it starts with 7 miles of false flat gravel before you get onto the main climb, which takes you another 10 miles before hitting the most technical and longest descent of the race. This is going to become very important later. One thing that I've learned from doing this race so many times is that it always goes out too hard. I thought that this year might be different. In order to keep some social distance, we started in small groups of 10. It didn't matter. All the heavy hitters were placed in the first group, and the pace was strong as ever, with Matt Acker leading the charge of the first climb. I followed his wheel paying close attention to my power and heart rate, and I realized that I was riding right at or even above my FTP or 1-hour max power. This is obviously not sustainable for a race that's supposed to last over 7 hours. I don't know what you're talking about, man. I do 7-hour rides at FTP all the time.  So I made the conscious decision to drift back in the group as we made our way up the climb. I was doing everything I could to put out as little power as possible. This is something that takes discipline at this point in the race because you feel invincible, and it's extremely easy to go out too hard. I've looked at a lot of race files from ultra endurance races, and almost universally, everyone goes too hard in the first hour and then fades throughout the race. Research into pacing for endurance races finds the same thing. People simply don't have a good perception of what is sustainable on race day. Fading throughout the race is rarely the optimal strategy, though. Let me show you how playing it conservative on the first climb paid off. Matt Acker went into the woods first, completing the climb in 31 minutes and 24 seconds. Meanwhile, I was the last one in the group, 10 riders back and almost a minute back on time. Take a look at the difference in power, though. Due to drafting, drifting back in the pack over the course of the climb and putting out power as sparingly as I could, I managed to put out 60 watts less than Matt on this climb. Who's a similar weight to me? This saved valuable energy for later in the race. That being said, after the descent, I found myself in the second group on the road about a minute back. Luckily, I had my teammate Logan Casper with me who had won the 100k race the day before, and earlier in the summer had done four Everest in one week.  The second climb in the race is the steepest and most technical. There is no saving energy on this climb. In fact, I had to put out my peak 20 minute power of the race at 334 watts just to stay upright and not get off my bike and hike. I also hit my highest heart rate for the race on this climb at 181 beats per minute. Usually, if I go over 180 in a 100 mile race, that's a red flag, and it's a sign that I need to back it down immediately. However, on this climb, the alternative was getting off and walking, which I obviously didn't want to do. I crusted the climb with Matt Acker, and the two of us went into the following descent together. The descent has a lot of switchbacks and technical rock sections, and we managed to get a small gap over the chasing group. Seeing this, we decided to work together on the following flat road section to try to make the gap stick. However, we were caught just before the third climb. I did feel pretty strong on the third climb though, and I decided to push the pace at just over 300 watts for this 30 minute climb. The only one in the group to go with me was Will Lovner. Now, I've never raced Will before, so I didn't have a good idea of what his strengths and weaknesses were, but we did ride up and over the third and fourth climb together, and I noticed a couple things. The first is that he's an extremely strong climber. He was having no problem sticking to my wheel any time we went up. However, when we got on the flat sections, the speed was much higher when I was pulling through. This is probably due to the fact that I ran arrowbars for this race, which take minutes off your time on all the flat sections. Also, given that I knew the trail pretty well and I was running a dropper post unlike Will, I noticed that I was riding the downhill sections a bit faster as well. This is probably a good time to talk about my bike setup for the race. Shenandoah can be a hard race to choose the right bike for because there's such a wide variety of terrain, from long steep climbs to technical descents to flat road sections. For me, this means meshing components that you might typically see on a TT bike and an Enduro bike, if you can imagine that. Oh, here he goes again. Dude, you're an embarrassment to all of cycling. You know that, right? A dropper post will save time on the descents, but you don't want to adding a ton of weight to your bike, which is why I go with the Bike Yoke Divine SL, which weighs just 345 grams. That's roughly 150 grams heavier than a normal seat post, and it makes it really hard not to go with a dropper post when they're getting so light. I use the Niner RKT9 RDO frame with a Fox 32 step cast fork. So 100 millimeters of travel. Some riders were opting for 120 millimeter travel forks for this course, but I decided to go with a lighter setup. Because the conditions were dry, I decided to go with a tire with less rolling resistance over one that handled better. I used the Continental Race Kings in the 2.2 width, both front and rear. This can be a scary tire, especially when it's wet, but it's extremely fast rolling, which I was banking on for all the gravel and road sections. Finally, the infamous arrow bars. The course has a lot of flat sections, and the biggest thing that you can do to get more arrow over getting a new set of wheels or an arrow helmet or shaving your body head to toe is changing your body position. The arrow bars allow you to do that while staying relatively comfortable and still putting out decent power. I use the NV Clip-On Arrow Bars for this race. All right, back to the race. In my mind at this point, I decided that if I was gonna drop Will, it was gonna be on a flat section or a downhill section because he was climbing so well. But I also knew that a group of five was chasing us and I didn't want more riders to contend with. After the fourth climb, we got word from the lead moto that we had a seven minute lead over the chasing group. In order to consolidate this lead, I decided to do the majority of the pulling in the false flat gravel section leading into the death climb, which is the fifth climb of the day. This is how valuable the arrow bars are for this race. This section before you hit the death climb took us 40 minutes. Doing some quick calculations on bikecalculator.com using arrow bars for this section alone would save you over six minutes. And this is not the only section of the course where you can use them. Sure, arrow bars look absolutely awful and borderline sacrilegious mounted onto the front of a mountain bike. But I thought that this was a bike race, not a fashion competition. Yeah, well, you thought wrong. We hit the death climb and the lead moto informed us that we had an 11 and a half minute lead over the chasing group. And I knew at this point that they weren't catching us. And I think Will knew this too, because we both played it super conservative going up the death climb, holding about 250 watts for the hour long climb. Will did attack twice towards the top of the climb, but I managed to stay on his wheel. I saw no need to attack on the climb because I knew the descent that was about to come. I went into the descent first and took more risks than I normally would in order to establish a gap. Not only is this descent very steep and rocky, but it's also long. It took me 20 minutes and 47 seconds to get down it. And it comes late in the race at mile 83. So you're already fatigued going into it. This is not the kind of descent where you can take it easy and recover.  You have to be hard on the brakes and you have to constantly be vigilant. Again, the choice to run a dropper seat post for this descent alone was a game changer. My efforts paid off and I managed to get about a minute and 45 seconds on Will in this section. When you get to the bottom, there's about 10 miles left in the race. And with the gap that I had, there was no more holding back at this point. It was time to empty the tank. I put out a little over 300 watts for 15 minutes on the last climb of the day. I kept looking over my shoulder hoping that Will wouldn't be there. At this late point in a race, there's nothing worse than getting caught. I kept thinking back to 2016 when I got caught by Christian on this very same climb. With no sight of Will though, I crested the climb and then it was all downhill to the finish where I crossed the line in seven hours, 13 minutes and 27 seconds. The air bar through the turn. Woo-hoo! All right, Dylan, Johnson, Clayton, seven hours, 13 minutes, 20 seconds. We'll finish five minutes later. Super impressive performance from him given that it was his first Shenandoah 100. And considering that he's just 23 years old, he could be a real threat in years to come. All right, here are the stats from the full race. I had a normalized power of 268 which for me is about 3.8 watts per kilo. My TSS or training stress score was 435. I had an average heart rate of 157 and my average speed was 13.2 miles per hour. Yeah, yeah, yeah, we get it. Um, guys, my average watts per calorie per minute and my speed times my normalized heart rate per hour was above average for the third quartile of the race. Look, the real question is how many kudos on Strava did you get for this ride? That's the only metric that I care about. It felt great to finally get a win at the SM100, especially since it was one of my only races this year. I wanted to make more racing content because you guys really seem to like my analysis from Dirty Kanza and the Sugar Cane 200, but there simply weren't any races to report on. Let me know down in the comments if you like the race report videos and I can do more of them when racing comes back in full swing. Maybe I can even mount a GoPro on the front of my bike so you guys can see the action for yourself. If you wanna follow my racing closer, be sure to check me on an Instagram to stay up to date. If you enjoyed this video, be sure to give it a like and subscribe for weekly cycling videos just like this one. I'll see you in the next one.


The drafters of the United Nations Charter were very much influenced by the strategic command structure that had been put in place to win the Second World War. The establishment of a true United Nations army was not contemplated, but it was envisaged that all members of the United Nations would undertake to make their armed forces available to the Security Council upon its request. Under Article 43 of the Charter, special agreements would be concluded for that purpose between the member states and the UN. Furthermore, under Article 45, immediately available national contingents were to be put at the disposal of the UN. A military staff committee was established under Article 46 and 47 of the Charter to advise and assist the Security Council in matters relating to military enforcement measures. The military staff committee was to be composed of the Chiefs of Staff of the permanent members of the Security Council. And it was in charge of the strategic direction of national troops put at the disposal of the UN. In order to implement through military coercion the decisions of the Security Council. While this plan never worked in practice, the military staff committee met only on a few occasions, just after the Charter entered into force. As the Cold War began, it quickly appeared that it would never function properly. And the military staff committee stopped to meet and it has been a dormant body of the UN ever since. It was never reactivated and it is unlikely that it be ever reactivated. The Korean War epitomized the Cold War between 1950 and 1953. When the war erupted in June 1950, the Security Council met and determined that the attack by North Korea on the Republic of Korea constituted a breach of the peace, and that is Resolution 82 of 1950. The Council also, I quote, recommended that the members of the United Nations furnish such assistance to the Republic of Korea as may be necessary to repel the armed attack and to restore international peace and security in the area. That's Resolution 83. Furthermore, the Council recommended that those national troops made available to a unified command under the United States of America. And the Council also authorized the unified command to use the UN flag. That's Resolution 84. Because the military operations to repel the North Korean invasion were conducted under the UN flag, the Korean War is often seen as a war by the UN. But when you look at it closely, those operations under the UN auspices were based on a rather ambiguous legal construction. The Council determined a breach of the peace, but it did not mention Chapter 7, and two days later it recommended to the member states to use force in defense of South Korea. A recommendation is an exhortation to do something which by and of itself is already legal. So the use of force under the UN flag during the Korean War was a kind of a mix between Chapter 7 enforcement measures decided by the City Council and collective self-defense that does not need to be authorized or decided in any way by the UN. Furthermore, the City Council's resolutions were not vetoed by the USSR because the Soviet representative was absent during the Council meetings. Stalin had decided to practice the empty chair diplomacy out of protest against the fact that at that time China was not represented at the UN by the Mao communist government of Beijing, but by the pro-western Chiang Kai-chec government. And this only changed in 1971 at the UN. But in 1950 the Soviets hoped to block the UN by being absent. However, and as you've learned, they soon discovered that their absence and therefore abstention at the City Council was not considered as a veto. The resolutions were adopted and the Soviet representative quickly came back to New York. And from then on the Cold War was in full swing. Moscow and Washington began to conduct wars by proxy in different corners of the globe. And it soon appeared that the City Council would continue to be vetoed by one side or the other if ever the use of force against one party protected by a big player were contemplated. So throughout the Cold War the UN was left with one option that it had already experimented twice before the war in Korea. And that option is not using force in order to win wars and make peace, but using force solely in order to keep the peace. And let us now to peacekeeping.


President Gruz, members of the Board of Governors and Board of Counselors, representatives of the Japanese and Okinawan governments, esteemed faculty and staff, proud parents, friends, and especially the 41 OIST graduates here in person and on the screen who have reached this well-earned milestone. I am so humbled to be given this opportunity to address you all on this momentous occasion. I was initially introduced to OIST by my husband, Jesper Cole, who is sitting somewhere out there, who serves on the Board of Governors. I distinctly recall when he returned from his first visit to this idyllic campus. He couldn't stop talking. And now I know why. This is paradise. Dr. Gruz, when can I apply for your PhD program? But then again, surrounded by these turquoise beaches and tropical breezes, I know I wouldn't get any work done. Only later did I realize that despite its relatively small scale and youth, OIST punches well above its weight in global scientific research rankings. Number one in Japan and number nine in the world, according to the Nature Index. And it has so much potential to contribute beyond Okinawa and Japan to create solutions to society's challenges around the world. Now to prepare for today's talk, I had the chance to speak with a couple of graduates, Shivani Satish and Camilla Mustafina, and was really struck by how consistent their answers were to my simple question. So what makes OIST so special? Number one, the faculty. The caliber of OIST's faculty is world-class, yet they are more accessible than at other institutions. Number two, OIST is blessed with state-of-the-art resources and infrastructure. For instance, lab equipment such as DNA sequencing machines is top-class and easily accessible. Quote, my peers at other institutions are so envious that I have access to such equipment at any time. Third, interdisciplinary. The cross-disciplinary nature of OIST's approach to research is so unique and lends itself to a high degree of collaboration. Fourth, good things come in small packages. The benefit of OIST's compact scale is the depth and intimacy of relationships students are able to build with their peers and their professors. The students also commented that they've learned just as much from each other as they have from their professors. Fifth, local community engagement. Frankly, many academic institutions around the world operate as ivory towers, but in the case of OIST, there's a high degree of community engagement, not just hosting the popular science fairs that attract over 5,000 visitors, but especially during COVID. Students have proactively created solutions for the local community. For instance, Sebastian Lapointe and Sandrine Buriel and their team produce a disinfecting gel to supply to health care facilities across Okinawa. And number six, life after OIST. OIST supports students beyond their doctoral degrees. For instance, one of the graduates is participating in an OIST postdoc fellowship that will enable her to help commercialize her research in future. But what exactly is OIST's secret sauce? It is, in my view, diversity. One of OIST's eight core values, namely the diversity of its community. Particularly in Japan's context, the fact that there are 45 countries represented by the student body and 60 countries represented by the faculty, administration and staff makes OIST a category of one in the nation's tertiary education system. One student commented, not only did I learn how to conduct research with different types of people from very different backgrounds than my own, but I also learned how to live with people who are different from me. I've worked their points of view and I'm now confident that I can live anywhere, dive into any situation and be comfortable. Now for somebody whose life work has been advocating the critical importance of diversity in promoting growth, I strongly believe this is where the magic of problem solving, innovation and growth happens. And just to be clear, when I say diversity, I'm not just talking about gender. It includes age, ethnicity, economic, religious, in other words, cognitive diversity. So let me now tell you a little bit about my own background if I may. I am the daughter of Japanese immigrants from Naruken to California. And like many immigrants to the United States after World War II, my parents left Japan to seek greater economic opportunities abroad. And since my father was a small scale flower grower, his dream was to create a large scale flower nursery in America, something impossible to do in his family's tiny plot of land in Naruken. So I grew up in a small rural town called Salinas, California. And although I grew up making mochi every New Year's, and my mother is a long time Urasenke tea ceremony sensei. I frankly had little interest in pursuing Japan related studies or a career related to Japan when I was young. However, as serendipity would have it, I received a Rotary Scholarship to study in Japan after university, very unexpected. And for the first time in my life, I came to Japan, and I was immersed in the country of my ancestry and my roots. And after graduate school in the U.S., I decided to return to Japan, I'll explain why later, and began my career as an equity strategist researching Japan's economy and stock market in 1990. Now, looking back, 1990 was probably the worst time one could start a career in Japanese finance. Shortly before I began, Japan was riding high on an asset bubble of historic proportions. For instance, at the time the value of the grounds, the property of the Imperial Palace in Tokyo was reportedly worth more than my entire home state of California. People told me then, I really remember, people told me then, the bubble Matsu-san would continue forever. Asset prices would continue going up until one day. Japan discovered something called gravity. During my first year on this new job, the Japanese stock market collapsed 40%. And in subsequent years, the economy fell into a deep slump weighed down by the so-called 3Ds, debt, deflation, and demographics. Now, a particular concern to me was the bleak demographic outlook, where the government itself was projecting that the workforce population would shrink by as much as 40% by the year 2055. That's huge. Now, not surprisingly, many of my clients, including institutional investors around the world, kept asking me this question. Kathy, why on earth should we invest in Japan? Where is the growth going to come from? So that was what I was grappling with in my professional life, okay? Meanwhile, in my personal life, I noticed that after returning to work, from maternity leave after our first child was born in 1996, many of my mama-tomo, mother-friends, encountered numerous difficulties trying to return to their careers full-time. So many decided to off-ramp and quit their careers altogether. Now, at the time, only 56%, so just over half of all Japanese working women, worked outside the home, which used to be one of the lowest ratios in the developed world. So you see this juxtaposition of my professional and my personal lives in 1999 led to one simple conclusion. And I called it Mottainae. In other words, I was surrounded by a sea of untapped female talent, yet I knew that Japan could not afford to leave half its population underutilized. It was like trying to run a marathon on one leg. And that's what spurred me to build an economic case for raising the female labor participation rate, and that could boost economic growth, hence the birth of womenomics. Now, to tell you the truth, another reason I picked this topic at the time was because then, and frankly during my entire 30-year career as a strategist, I was the only female strategist in the market. And given that I had what I call three strikes against me versus my Japanese male competitors, in other words, foreign, female, and young, I knew I had to write differentiated research in order to get noticed. Now, at the time, I naively thought that womenomics was rather obvious. Atarimai. However, I was wrong. I encountered many skeptics. Matsui-san, if all the Japanese women work outside the home, isn't that going to lower Japan's already very low birth rate? Which is actually, by the way, ladies and gentlemen, false, but that was the view. Or the classic Tij, anyone knows Tij? This is Japan. Argument that Japan is different. With such deeply embedded gender role stereotypes and cultural norms, it will take Japan over 100 years for any meaningful change. I therefore decided that rather than an argument based on human rights or justice quality, I thought the only way to convince these skeptics was to use hard data and objective analysis to prove that diversity can, in fact, enhance economic growth and corporate performance. Now, empirical studies around the world have shown that more diverse leadership teams are positively correlated with improved business performance and better risk management. My own research also demonstrated that Japanese companies with diverse management teams exhibited above average profitability and lower costs of capital. We also estimated that if Japan could narrow its gender employment gap, Japan's GDP, size of the economy, could potentially expand by as much as 15, 1.5%, which is huge. Why? Very simple, because more working women means more household income. More income translates into greater consumption. Greater consumption produces more revenues for companies. More revenues gets channeled into greater investment, higher wages, and so on. In other words, the bottom line for Japan to combat its rapidly shrinking population and to grow, for me, diversity is no longer optional, it is an economic imperative. So it's been 22 years since I first wrote about womenomics. And many people have asked me, so Kathy, what's actually changed? Has anything changed? And first of all, I will say I am glad to see that Japan's very low female layer participation rate, I told you earlier, about 56%, has shot up in the last few years, reaching 71% in 2019, surpassing the ratios both in the United States and in Europe. 3.3 million more women are working outside the home today than before. Second, the Japanese government actually passed landmark legislation in 2015, which requires companies and public sector organizations to disclose their gender diversity statistics and diversity, and set diversity action plans. This was a crucial step forward since you cannot move the needle if you don't know where that needle lies. But what hasn't changed? Japan unfortunately still ranks quite low in global gender gap rankings, largely to the dearth of women in leadership, be it managerial roles or representation in the public sector. Moreover, as we all know, Japan still has a long way to go when it comes to female representation in STEM fields. While the gender gap in STEM is obviously universal, Japan's ratio of female researchers ranks the lowest in the OECD today. We are clearly heading into an era of disruptive change, driven by rapid advancements in technology and digitalization, and while that's all very exciting, it will also be accompanied by substantial dislocations, including potential job losses. Therefore, we need to ensure that everyone in society, including our daughters and our granddaughters, will be well equipped with the skills and knowledge necessary to thrive in this new world. And in this context, I'm very encouraged to see OIST taking concrete steps to make a difference for women in STEM. Frankly, it's so impressive to see that over 40% of the PhD candidates at OIST are female, and the recent launch of the Rita Colwell Impact Fund for the Advancement of Women in Science will help nurture more women and girls in science and create opportunities for women to advance their careers and become leaders in the field. I applaud you all. So the bottom line is this, for all of you graduates, don't take your diverse experience at OIST for granted. Continue to engage with people outside your discipline, your gender, your religion, and your race.   So as some of you reminisce about your final days in the campus village, let me share some of mine. First of all, each of you has attained a level of academic achievement that is reserved for only the top echelon of academicians, and most of you know exactly what you'll be doing next. However, I encourage you all to keep an open mind and heart. Way back when, when I was in university, I was determined that I would join the U.S. Foreign Service. I was in university, I got an internship with the U.S. State Department, I studied abroad here in Japan for two years, I went to graduate school to study international relations all with a singular goal of working in an embassy someday. Then, during my graduate school summer internship in Tokyo, I met and fell in love with my husband, Jesper, causing me to abandon all of my plans and move to Japan in order to be with him. I had no job, but I had love. So I simply followed my heart, and that was the best decision I ever made. Second, as you all step out into the big world, I guarantee you will make many mistakes, stumble and fall, and think that life is totally unfair. When I was 36, I had just been promoted to become the first female partner at Goldman Sachs Japan. I became the top ranked Japanese equity strategist, and had just given birth to our second child. Simply put, I was on top of the world, nothing could go wrong. Which is precisely when everything went wrong. I was suddenly diagnosed with cancer, and had to put everything on hold for eight months of treatment. During this time, one of my colleagues gave me a great piece of advice. She said, build your own personal BOD, Board of Directors. These are people who you can trust for honest, straightforward feedback, including telling you things you don't necessarily want to hear. My personal BOD is composed of a diverse group of my best friend in high school, my college roommate, my work mentor, my husband, and friends who are far more experienced at motherhood and parenting than me. These friends have holistic views about me, know my strengths and weaknesses, and I respect and value their guidance whenever I hit a roadblock in life, and believe me, I hit many. So I strongly encourage each of you to create your own personal BODs as well. Third, you have all been blessed by world-class education, working with top-notch faculty in the slice of paradise called Okinawa. However, with such privilege comes responsibility.  Stay in touch with your professors and peers, and I guarantee they will prove very helpful in the next chapter of your lives. And above all, don't forget to give back to the next generation at OIST, just as your seniors have supported you. Finally, allow me to end with two pieces of wisdom from leaders I admire. First, comes from the former U.S. Secretary of State, Madeleine Albright. Quote, To succeed, you will require the kind of knowledge that extends way beyond mere facts to knowledge of self. From this day forward, you will have to rely not on grades or guidance from professors to tell you how you're doing. You will have to rely instead on an inner compass. Whether that compass is true will determine whether you become a drifter who is blown away, blown about by every breeze or a doer, an active citizen determined to chart your own course, question your assumptions, and when necessary, sail unafraid against strong winds. My second quote comes from Navy Admiral William McRaven, who famously wrote, If you really want to change the world, start by making your bed. If you make your bed every morning, you will have accomplished the first task of the day. It will give you a small sense of pride and it will encourage you to do another task and another and another. By the end of the day, that one task completed will have turned into many tasks completed. Making your bed will also reinforce the fact that little things in life matter. If you can't do the little things right, you will never do the big things right. And if by chance you have a miserable day, you will come home to a bed that is made, that you made, and a made bed gives you encouragement that tomorrow will be better. So if you want to change the world, start by making your bed. Now, one last homework assignment. I know you weren't expecting this, but before I leave you, graduates, after this ceremony is over, call, do not text, call your parents. Tell them how much you love and appreciate them. Believe me, as a parent, this is all we really want to hear from our kids. Thank you.  We are so proud of you.  Thank you very much.


You can build a Magic Wand-inspired prop with Adafruit's new ART-B2040 prop maker feather. We designed and 3D-printed a Magic Wand inspired by the Super Mario Bros. movie. It's got motion-activated lights and sounds with a spinning crystal gem. This new feather is an all-in-one dev board that features an I2S amp, accelerometer, neopixel driver, servo header pins, stem-a-qt, and screw-block terminals. It's got the ART-B2040 chip with 8 megabytes of spy flash, 21 GPIO pins, and lightboat battery charging over USB-C. With Circuit Python, the board acts like a USB drive so you can easily customize the code with just about any computer. You can modify the code to fit your project. Just change the values such as the neopixel color, speed, or the accelerometer's threshold. We think Circuit Python is the best platform for creating advanced props with motion-activated lights and sounds. Get the parts to build your projects from the Adafruit shop. Links are in the description. Download and 3D-print the parts in your favorite filament. The crystal gem is printed in a white colored filament for nice and even diffusion. Screw-block terminals make it easy to connect neopixels, speakers, buttons, and switches. Mounting holes allow you to securely embed the board directly to your projects. It's easy to plug and play servos with jumper cables to the prop maker's onboard header pins. To learn how to build this project, head over to the Learn Guide for a full step-by-step tutorial. We hope this inspires you to check out the new Adafruit ART-B2040 prop maker feather for your next project.


All righty greetings everybody It's the first live stream or my first live stream of 2024 at least I don't know if it's the first live stream ever 2024 but it's my first live stream So welcome if this is the first time you've joined me And welcome if you've joined me before I do Mostly WordPress related live streams I'm going to turn the volume down in the music a little bit. Mostly WordPress development focus live streams Welcome I find nicknames to be weird, but they're cool, but they're weird to try and pronounce Yes, so my focus for 2024 is Going through the process of contributing to WordPress So if you don't know me, I am a sponsored contributor to the WordPress project. I create educational content for learn.wordpress.org that content includes online tutorials video tutorials lessons lesson plans online workshops and Something that I'm going to be focusing on for the rest of 2024 at least Majority of 2024 is going to be the process of contributing to WordPress So if contributing to WordPress is interesting to you, then hopefully this live stream will be interesting to you If it's not something interested in then maybe it'll be something you become interested in Or maybe you just like sitting watching somebody fumble around with things But everybody is welcome. I want to just take this opportunity to say that I recently Reconfigured and reset up my streaming my obs streaming setup So if the sound is wonky or weird or too loud or anything, please let me know And I'll do my best to fix it I'm not the best when it comes to streaming software, but I'm always willing to learn but at the moment all of my All of my things look right. Are you For those of you, are you hearing the background music this background music playing? It's just starting now. So if somebody could just let me know if they're hearing that music as well You should be hearing it, but I'm not seeing it show up on my On my desktop audio setting This is very silent. Let me see if I can get what I'm gonna do is I'm gonna turn it up a little bit on here. I Do you have it very quietly in the background? So I'm gonna turn it up a little bit Okay, I've got some confirmation effects in here. So that's good If that if that's ever too loud, let me know as well and we'll turn that down a bit But I like saving a little bit of background music in the stream Okay So if you have never contributed to core before That's where I'm gonna kind of start today a good place to get started would be Thank you. Yes, it is meant to be very subtle. So thank you for confirming that A good place to start is the make WordPress.org core channel I need to just check something else here. I haven't set my resolution correctly, so I'm gonna just change that quickly One second everybody. There we go. That's a bit better Makes everything a bit bigger on the stream, which is like how I like it to be So if you've never contributed to core before this is the URL to visit I'm gonna share it in the chat with anybody who's following along Basically, this is the core WordPress team Oh, I can't that's embarrassing. I can't share things to the chat because I haven't logged in So give me a second here folks. I'm gonna just take a tab off screen here Because I need to show my passwords and things actually now I can do it over here. So let me do that quickly It's terrible when you haven't even logged into your own twitch chat To be able to communicate with the chat that's embarrassing can tell it's the first The first stream of this year. Oh, it's trying to ask me to sign up. I don't want to sign up. I want to log in Log in there and let's do this Yes, you're wondering what I'm doing. I'm just logging into The twitch chat. There we go. Now I'm connecting to the chat so now I can paste things For you There we go. So that's the link that I'm working off This is the core the core team within the WordPress project And the good place to get started would be to go to the handbook. There is a handbook for every team It's usually linked in the top menu here And in the handbook, there are some chapters around how to get started and there is a section on about the team There is a section on contributing with testing and then contributing with code and contributing with ducks and then various other things We want to focus on contributing with code So if you click on that it talks about Why contributes We're all human who the committers are various bits and pieces of information here, it's always a good idea to read through all of this But I'm going to focus today on the get if I had version of the WordPress core repository So originally WordPress core was managed using something called SVN And SVN is known as subversion. Sorry. I'm just checking messages on my phone here And so that's originally what folks use to and and still does to this day WordPress still uses SVN to this day But it has also been mirrored over to a github repository Using git and you can find it here. There are two places you can find it The one is if you don't want to have to use github. There's a mirror at develop.git.wordpress.org So if you just want to use git on the command line and you're happy to do it that way you can use that If you want to use github, which a number of open source contributors do use You can go there and you can get set up with all of that. So that's what I'm going to do today I'm going to focus on the process of getting this all set up Got an hour and a half, but I don't think I'll need the full hour and a half So in the read me so this is a mirrored version of the WordPress codebase And you can work on it in git and then what happens is that? If you're working on a core ticket, which is what we'll probably look at doing next week You can link to pull requests in the github repository And you can and you can make things work and happen that way So for now, I'm just going to focus on the github side of things. So that's my profile Just going to focus on getting the local environment set up And then once it's set up next week, we'll dive into looking at some tickets Seeing if we can fix some tickets Or at least start working on some tickets Okay, so let's go down here And there are a couple of ways you can get set up the first way is to use github code spaces So if you're comfortable with github code spaces, you can use that If you and I just want to mention sorry before we get going If anybody has any questions about all of this stuff as I'm working through it You're welcome to post your questions in the chat happy to answer them So if you have anything you're not sure of anything doesn't make sense Feel free to post them in the chat There is sometimes a slight delay But I will keep an eye out for them and I will answer them as best I can All right, I'm just moving some things around on my screen here to make the chat window bigger No, I don't want extra viewers. Thank you very much Okay, so So For local development There is a A local development environment called WP ENV Which is spoken about here And it uses Node.js to manage it and to run it So that's what I'm going to focus on today You don't have to use the development environment that they talk about here You can use pretty much any other WordPress related development environment I'll maybe dive into that in a second and show you how that all works But for now I'm just going to focus on the one that is recommended I already have Node.js installed on my machine So if I open up my terminal Type Node minus V No, maybe not that one Maybe that one there we go I've got version 18 installed I see that the documentation says WordPress currently supports Node version 20 and NPM version 10 So I need to get that updated Now fortunately for me, I use something called NVM NVM is a Node version manager Yes, I will share the link for GitHub for you There we go Pop that in the chat there There we go So NVM is a Node version manager tool I'll share that link as well And it basically allows you to Easily install and manage different versions of Node And what it also does, which I quite like about it Is it allows you to switch between versions of Node on a per project basis very quickly So for example, because I have, so let me show you this NVM minus V Will show me what version of NVM is installed If you've never installed NVM before There is a tutorial on learn.wordpress.org Which I will share with you as well That actually is titled installing Node.js and NPM for local WordPress development And this talks you through the process of installing NVM And in this tutorial, there's a video portion and a text portion In this tutorial, I talk about how you can install it for Mac OS and Linux So if you're using Mac or if you're using Linux There are the process to install I also talk you through one way to install it in Windows My suggested way to do it in Windows is to use PowerShell But there are other alternatives that you can use But I just like using PowerShell in Windows That's just a personal preference Go away So I talk you through all of that There's also something called NVM Windows that you can install So there's many different options And then once you've got that installed Then you can use NVM to install the different versions of Node that you might need So if we run NVM list on my machine right now You'll see I have version 16, version 18 and then whatever the system version is So because I need version 20 for WordPress develop I can just run NVM install 20 NVM install 20 And NVM will go ahead and get version 20 of Node for me Download it, install it, do all the things that I needed to do So that's very, very cool That's now installed and being used So let's go NPM Let's go Node minus V So that confirms version 20 is installed If we go NPM minus V That's version 10 for NPM which is great But if I need to switch So let's just do a quick NVM list here So you'll see now I've got version 16, 18 and 20 installed I can if I want to I can go NVM use 18 And then it'll start using version 18 in this terminal instance So if I now say Node minus V It's back to version 18 And if I say NPM minus V It's back to version 9 So that's one of the reasons I like using NVM It's one tool that I install And then it does everything else for me through commands It allows me to switch quickly and easily Whatever the default version that is installed Will be the default version that's available When you open up your terminal So if I say, if I exit the terminal NVM minus V now No, not NVM, sorry Node minus V It's because it's back, it was It was, I said use 20 But I didn't say set the default to 20 So now I could say something like NVM use 20 And there we go And now it's using version 20 Let me show you again Let me exit out of here and we'll go back And we'll see what version is now in use It's NVM will be version 18 again So there's a way that you can set 20 to default Which I can never remember how to do So I'm going to check in here quickly Let's show this in documentation I think it's under usage You can say Which one is it? Use exec run There's a special command that you could run to say Use version 20 as the default Or use latest as the default Or use latest as the default or something I might have it in my In my random access memory page on my blog Let's have a look here No, I don't Okay, that's fine So say NVM set default I think it's this one Here we go NVM alias default And you set the alias the default version that you want So I'm actually going to So what version is version 20? 20 is? So I think you can just do this I think you can just say NVM alias default 20 So let's try that So that's now set the default to 20 So if I exit out of here And I log back in And I say No We're back to version 20 But if I say NVM list We've got 1680 and 20 installed I'm feeling for the learn WordPress code base It needs version 18 I think we still need to update that to version 20 So I'll just leave it on version 20 And just switch to 18 as on when I need it Okay I'm going to make a quick note about alias In my random access memory page So this is a page that I have on my blog That I sort of Are bookmarks of things that I need to remember for myself I've managed this for a number of years now It just helps me remember where things are So I'm going to add a new section here quickly Which just says Set Default No JS version in NVM I'll just bold that And there we go I'll leave it as 20 So that's the fun part of live stream folks You get to see all kinds of things that I do every day All right So that is that So now I've got version 20 installed Which is great So I'm going to close this down Close this down We don't need track right now So we've got version 20 and NPM version 10 Let's just check that NPM NMSV's version 10 Excellent You can also install node By default using brew in Mac Using Chaco in Windows For example Many ways to do it I just prefer NVM I also need to have docker installed and running Fortunately Or unfortunately depending on how you want to look at it I do have docker installed on my local PC I only use docker when I'm working With the WPE NV local development environment I don't use it for anything else So the two Code bases that I That I use docker for Are the WordPress develop code base When I'm working with that local development environment And the learn WordPress Learn.wordpress.org code base Because they both use the same Local environment underneath the hood So they both need docker to be installed Okay So it says here that once I have Node and once I have docker I need to ensure docker is running Which it is That's good Then I need to get clone this repository And then change to that directory And then run these four commands So I personally Have the following Folder structure setup So my folder structure is I have a development folder And then I have a projects folder inside of development And then inside of projects I have all the code that I regularly work on If I list that out Now you'll see a bunch of things in here That I work on Where is it The learn WordPress code base There's also some other things that I've worked on And tested and played with In and around WordPress And then just things I'm checking out Like a flappy PHP pant If you want to see what that is That's a bit of fun I'll share this quickly It's a very simple flappy bird like game Bolting PHP So if you're interested in building games in PHP Go and check this out It's quite fun Because I'm working on And so I'm going to get clone this If it's not clear Which notice they don't actually say it on here But you do need to have gets installed on your local machine So depending on what system you're using You'll need to install get You can just go to get.sh I think it is to No not get does it What is it Oh there we go Get-scm.com That's what you can find to install get You can use Choco as well if you're on Windows Many other ways to do it But you will need to have that installed And then you can run the command So let's close this down So then in my terminal I'm going to just clear this And I'm going to Get clone WordPress develop And that takes a while So that's a whole bunch of code It's downloading history It's downloading various other things It might be Not too slow on my machine Because I had downloaded it previously And deleted the directory before this live stream So it's not going too slowly Okay So while that's being downloaded Oh it's done Okay so once that's done Now we have the code on our machine What I like to do at this point in time Is I like to open up PHP storm Which is the PHP editor that I use You can also use visual studio code If you use that or whatever tool you use I like to now go and just open up that project Directory And just kind of see what's going on in there So if I go over to my development And I go over to projects And I go and find WordPress develop There it is there The other reason I do this now Is because PHP storm does a process called indexing Where it indexes all of the files in the project So now would be a good time For it to do all that indexing It starts asking me if I want to install dependencies I'm not going to do this here I'll do this in the command line But you'll see here So right at the bottom of my screen here PHP storm is indexing all these files And so that's what I That's one of the reasons why I open it up now And let it do all of that PHP storm also starts asking me a bunch of questions I'm going to move my head out the way a little bit So as you can see those questions It says do I want to run composer install I'm not going to do that right now I might as well enable WordPress support PHP storm has a thing where you can By default enable WordPress support That supports things like WordPress function Auto completion and various other things So I'm going to enable that support But I'm going to point it to the source directory Inside of this project So I'm going to open this up here And go to development projects WordPress develop And I've pointed to the SRC or the source directory And I'm going to go OK there So that's going to do some more indexing Which I'm quite OK with Let me move my head back in the corner here And we can get on with things All right, now the other cool thing about this Is once I've checked out the code I don't need to have the browser window open anymore To run the commands The readme file is included in this code So that's another reason why I open up the project file now So if I was to be disconnected off the internet It wouldn't matter, I could just follow the instructions here OK, so now I need to start doing All kinds of NPM things NPM install, NPM run dev And all of this I'm going to start by doing that As I mentioned earlier You don't have to use So before we go any further This local development environment Is based on something called WPENV Or WordPress ENV And WPENV lets you set up a local WordPress environment For building and testing plugins and themes Also you can use it for Testing core, working on core It was announced In March of 2020 So it's been around for about Almost four years now But it's something that The WordPress core team is in the process Of looking at Not necessarily moving away from But possibly adding another option So this was originally sort of launched As the WordPress project Sort of recommended tool For local development But the problem was that Docker changed their licensing And so folks are looking into Other options And one of those options That folks are looking to Is something called WP Now WP Now is something that was Launched by A developer team at WordPress.com Which is the hosted version of WordPress Managed by the company automatic And this uses something called The WordPress Playground Which if you haven't heard about The Playground before The Playground is basically A version of WordPress That actually can run in your browser It's kind of cool to see it in action It's basically using something Called WebAssembly So it's a fully functional Instance of WordPress Running inside the browser So it's all packaged as this WASM module I think it is And what's cool about The Playground is that recently The WordPress plugins team Or maybe not the plugins team To use WordPress Playground To create previews for your WordPress plugins So if you're a plugin or theme developer This is a very cool little tool So I want to show you one of my plugins And how that works quickly I know we're going completely off topic here But there's a plugin It's a plugin that I helped maintain I haven't updated it for years I need to Called list all your roles And there's this test preview button And that is because I've got It opens up a new tab It opens up an instance of the WordPress Playground And it automatically installs the plugin This list URL is plugin for me In that instance of the Playground So what the user can then do Is they can test out the plugin They can see how it works They can see what it does It does take a few seconds to get going But once it's done And there it is And you'll see what you're also able to do Which I think is quite cool The Playground instance is very direct Uses straight to whatever settings pages You might have Or whatever functionality within your plugin So now I've directed the user Straight to the list URLs page They can actually test this functionality Out right here And they can see how it works Before they install on their WordPress site So this is very, very cool I've linked the Playground instances Well already So do go and check that out But anyway, the point is I haven't decided whether I'm going to test out Playground Yet for local development or not I was planning on doing it I was actually planning on doing it last year But I ran into some trouble with it Not trouble with Playground Trouble with my time To get to testing it So for now I'm going to focus on WP and V Purely because it is the one That is listed in the documentation It is the one that is suggested By the core developers to use At a future live stream I want to see how it works I want to see if it can work for core development So look ahead for that when I do plan on doing that Sometime in the future Doesn't show up when I visit your plugin page So are you saying when you go to list URLs It doesn't show up for you If you go to let me pop the Let me pop the URL there That might be because I'm not sure but is it possibly A translated version of the page It might be a bug with the Playground I'm not sure So if you It only shows the download button Okay When you click on the link Does it change to Because I know WordPress has Translated versions of the plugin pages Does yours perhaps Switch to a translated version I wonder I wonder if it's because I'm logged in Let me see Let me see what happens if I log out If it works then Ah there we go it's because I'm not logged in So that's why it doesn't work Interesting I was not aware of that So if you do have a profile on WordPress.org Why don't you do me a favor and log in And see if it then does show for you And if it does show for you Then it's obviously only for logged in users And that's maybe something to Okay so some of you are logged in And it's not showing on your view either That's very interesting I wonder if I'm not going to debug it now But I wonder if it's the way I've implemented it I will do some testing on that Thank you for letting me know that folks I'll do some testing And see why that's happening It's a fairly new feature Okay cool So I'm logged in but no test button there Okay awesome thank you folks Thank you for that feedback I'm not the person who manages that But I'll definitely dive in a bit deeper When I've got some time later And see why that's happening Alright So I just bring some attention Let's go back to core development So let's run I should have actually been running NPM install while I was waffling Because then it could have erred Yeah what's going on here Oh I'm not inside the WordPress develop folder So I need to switch to WordPress develop And I need to run NPM install A whole bunch of them So it's the JSON file inside of the Assets directory It's called a blueprint Let me see if there's something that I missed Hmm There's no setting anywhere That's interesting I'm going to check something Yeah While this is doing its thing Let's see that's still busy So let's go and do this Let's log out And then I'm going to log in I have another test A profile that I used to test Updating content to learn WordPress So let's see That's interesting It only seems to show for me Because I am the logged in user Who is the maintainer of one of these plugins That's super interesting That's super interesting Well thanks for pointing that out folks I'm going to Make a note of that On the On the post where this was Originally Added which I think was It was on the meta channel This is still busy Doing things I think it was in meta So let's see if I can find it Developer resources No Yeah, plugin previews Are now available for Updating Hang on There's a live preview Let's see if we can fix this together folks This is fun Yes That seems to be the case I need to go to the advanced view tab Which is down here And then I need to go to Toggle live preview There we go Please toggle the live preview link For all of these jurors Okay So now that's toggled So now those of you who've tested it earlier Would you mind testing it again for me And let me know if you can see that live preview I'm not going to lie I love the fact that my live stream About contributing Just helped me fix something On my plugins So thank you for your feedback there Awesome Ignis Fairey says Fairey says visible now Yeah, it works, cool Okay, awesome, thank you folks Helping me fix bugs in my code On life Cool That's excellent Okay, awesome, thank you I missed that That's good that they added that feature I thought it was all by default Okay, so you can check out The live preview there You can test it out If you're a plugin developer And you have a plugin On the .org repositories I do recommend testing that feature Out I'm not giving it a try You can, I believe In the blueprint You can define That certain plugins Need to be required for your plugins So you install those plugins at the same time So yeah, it's very I'm going to share this link as well So if any of you are plugin developers Go check that out And go and see if it's something You want to try out Okay, NPM install is done So that's perfect So we managed to install NPM And fix something else at the same time That's great So now let's build the dev environment So it's NPM run build dev So let's do That And this is just basically Building any kind of Development assets for You know, JavaScript and CSS And all those kind of things Specifically, most of this functionality Is required because of the block editor The block editor is built As I'm sure you all know Built on JavaScript Built using JavaScript on top of React So it uses Webpack And these sort of build steps To generate all that code So you need to run that build Before you can start using The core code base So that takes a few moments While that's running We'll get the next command Which is to start the local Development environment This essentially As far as I remember It will download the relevant Docker images Set them up And then connect your code To those images Or containers as they're called in Docker So it's busy downloading those now Looks like that was pretty quick So that's kind of cool And if you open up your Docker Toolbar You should actually be able to see Those containers running So there we go So there's a whole bunch of containers running There's the WordPress containers Let me make this a bit bigger So yeah, and there's some WordPress CLI Containers happening I don't know where those came from I think this might come with Last started 27 days ago So it must be something else I was doing 27 days ago But here's all the WordPress develop stuff So there's a WordPress develop one container There's a PHP container Which obviously handles the PHP side of things And a MySQL container Which handles the database And all those things Some of these containers I think need a bit of a cleanup But I'll do that I'll do that after this All right And then the last thing you need to do Is run npm Run env install I think what this does Is set up the actual database It probably sets up the default data It looks like it's downloading Maybe some things as well I'm not sure what it is actually downloading I could dive into it if I really wanted to But I don't mind letting it do its thing So while I wait for that to happen I'm going to grab a sip of coffee And then we will see what happens Ignis Fiery says Got any recommendations for a Docker tutorial? Unfortunately I don't And that's because I personally don't really like Docker I only use Docker when I have to Because of the WordPress local development environment I actually prefer to run My WordPress local development environments In a different way Which if there's time at the end of this I'll show you If you're interested But ultimately What I ended up doing Was just becoming comfortable With the fact that some environments require Docker Making sure I have Docker The free version Just installed and running The Docker client And then just running the commands That I'm needed to work with Docker Other than that I've never read any tutorials myself I've just kind of fumbled my way through What I do like about the WordPress one Is that it actually gives you Because they're using NPM There are ways to run things using NPM So to run a WPCI like along command There is an NPM option to say Run the command in the Docker container But yes, personally I don't like Docker I don't like the way it works I don't like the fact that For example Your containers are Your containers are all separate And if you want to log into the MySQL database You can log into the container And how to get there is not clear to me I like access to things straight away So personally I just use it But I'm certainly an expert in Docker At all And I can't recommend any tutorials So if anybody else I see WP Meisters sharing a tutorial there If anybody else has some tutorials On how to use Docker Please share them But I'm the wrong person to ask Ok So with that done According to According to this Everything should be set up and running So I should be able to go to localhost Colour on 8889 And I should see WordPress develop running And there it is Localhost 8889 That's another thing I don't like about Docker Is the port numbers Anyway So there is my localhost 8889 It's all set up and ready It's using the latest theme I do have an option To log into the admin directory Which I think they do Yeah, they do They speak about that here So these are the database credentials I'm not going to need them To log into the site I can go to this link And the username and password is Admin and password So we'll go admin and password And that will log me into The admin dashboard This is another thing I find With Docker instances And I don't know if it's related to My setup Or what the cases be But I sometimes find them to be very slow As I say I'm not sure if it's something to do With my configuration But sometimes I find them to be slow So that's just a personal thing And here we go Here we have the very latest Of WordPress You can see at the bottom It says here Using the development version 6.5, alpha 5, 6, 9, 6, 6 So it's the most recent Pushed version of WordPress It was committed to when Literally one hour ago We got some updates So it's the most recent version So this is a great way to test out WordPress versions that are coming up Test out new functionality See what breaks, see what doesn't And this is what you can do Used to test your local development You can then create A pull request in GitHub You can link it to a track ticket And you can do whatever you need to From there Okay So that's my local dev environment I'm going to stop there I'm not going to do any diving Into code today What else Also, we'd just like to show you today Is the alternate way that you can Work with the core code base This is the way I prefer to do it This is just my personal preference So I have a Setup that is kind of custom to Myself It's something that I created Called WP Local ENV It basically runs Instead of running in a container It is a virtualized Ubuntu server On my machine It uses something called MultiPass Which is a canonical product Canonical of the folks That are the company behind Ubuntu The founder of Ubuntu Is the CEO of Canonical And basically it allows you to Set up and run a virtual Ubuntu Server on your machine Now the reason I want to show you this Is not because I want to show you MultiPass But I want to show you If you're using any other kind Of local development environment Where you don't have these Commands that allow you To set up the environment And it all just works And it all just configures You need to kind of do things A bit manually yourself So I want to show you that now So let's say you're using Something like maybe local WP Or devkinster Or you're using things like There's lauragon There's devilbox There's all these different kinds Of local development environments That are not specific to WordPress But they create a local web Server on your machine And then you have to configure The virtual host yourself And configure maybe the Local development URL yourself Or whatever the case may be And then you install the software Manually This is how you would set up The development environment In a manual way So what I'm going to do Is I'm going to create In my setup What I'm first going to do Is I'm just going to stop I'm going to stop the local environment Just for now So it's not running anymore Envm run Env stop So it's Envm run Env stop That's what it was Just check that Oh no, it's Env- Env-stop And now it's basically You're going to shut everything down And Oh ee Evn Can't spell today Env stop There we go Okay, so that's stopped Let's just check That it is stopped Okay, that still works though That's weird Did I do something wrong? Oh it hasn't actually stopped Envm Now that's right No, it's Envm No It's Envm Envm run Env stop I can't read today Let's try that again There we go Okay, so it removes containers It stops containers If I now refresh this This should stop working That stops working That's great What I can also do now Is I can shut down Docker Which I don't like to keep lying around So I'm going to shut that down And that's all So that's all for not working right now Okay, so imagine if you will You're using whatever your preferred local environment is And you've set up a blank local site To do WordPress development The first step And I'm just going to Change direction here And just remove The WordPress develop No, I'm still there See there I'm on this rf WordPress WordPress develop That could take a while Because it's quite a big folder While that's doing that I'm going to go through What is my process For setting up a new site So I'm going to show you Quickly what that does So basically I just run a command I go sudo site set up And I'm going to call it WordPress-develop For now In my long password I can't even type my password right I really should connect that To my fingerprint reader But anyway So now what this does This uses Apache in the Ubuntu server It sets up a virtual host for me So it does all the similar kind of things It's something like a Lara gone Or a What are the others Local WP Whatever setting up a clean site For you with a local test URL And if I go to The way this is configured On my site Is I have a WP local ENV directory I have a sites directory And then inside of my sites I have any sites that I'm working on And there you'll see As WordPress-develop So if I create Let's actually pop into that Folder there So let's go and open that up Local ENV sites WordPress-develop So currently it's empty There is no code there And if I create a WP file for example So let's just call it Index.php And I say Echo Hello WordPress-develop Echo I've typed wrong There we go And I Check this out So we go WordPress-develop.test There you'll see Hello WordPress-develop So this is my local environment That I use It's very similar to any other Local development environment That is not specific to WordPress That just creates Blank sites for you To then work on whatever Code you're working on So with that in mind To be able to Use the WordPress-develop From Git The first step is the same The first step You still need to Check out the code What you will need to do Is you're going to Check out the code Into the folder That you've created For your local site So I'm going to go to CD Local ENV Sites WordPress-develop And you could obviously Depending on how Your local environment Your local development environment Works You could just delete this Folder and then Create the new one By running Git Check out and all of that But if the Let's say the folder name Is slightly different Or whatever the case may be Then what you can do Is you can still run This command Git clone Da-da-da-da-da And then you can use AI I think it's a full stop Or a period At the end of that Come on So space Full stop Or for space period And what that'll do Is that'll tell Git to clone Or that code Inside of the current directory So if I run that Command Already exists Oh wait Is that right? Maybe it's that No I can't remember I'll have to do Some research Git Clone Inside Current Directory I know there's a way to do this And it's driving me crazy now Da-da-da-da-da Test Yeah, there we go Come on That's a full stop I thought it was a full stop Hang on, yeah It's just I thought this would work I'm confused Okay Well then the other way You could do it Is you could See if I can get this working here So that's the other way You could do it Inside of this folder You can go Dot forward slash WordPress develop And basically What you're wanting to do Is you're wanting to clone All of the code Inside of whatever Your local environment Folder is I just want to see That that's doing What I expected to do No, it's not It's cloning it Into this folder Which is not what I wanted I'm annoyed now Because As far as I know That's supposed to work Okay Let's just see That's not what I wanted So let's try this again So let's go WordPress develop Let's go back up one And then let's say GetClone And then let's point it To the WordPress develop directory See if that works Oh, maybe Because it's not empty Because I've done this before And I'm sure it works So let's just go rm minus rf Stylish Delete everything inside Of this directory Yes And then let's try The GetClone command again Because as far as I know This should work Basically just telling it To clone it into this Current directory Maybe it's all these other things So let's rm DearStore And rm Dear There we go Okay, so it doesn't like The fact that there are Other files there The idea comes From PHPStorm It creates what's known As an idea folder Which stores Sort of PHPStorm settings I don't know why There's a dear store In that directory But that is the command That I remember working And it's probably because I created the idea Because I opened up PHPStorm to create that file That's the problem So there we go I learned something today Cool So once that's downloaded By defaults If you're running Any kind of custom environment The folder that it creates Is going to be Your document root Or your web root And it's going to be Looking for Your index or PHP file Or whatever else To be able to serve the site So what What you will notice Once this is all checked out So now let's open up this again You might notice that The actual source directory Is the one that contains All of those files So if I were to browse To WordPress develop test Right now It actually doesn't give me Anything useful to work with And if I have a look Here in the root You'll see that I don't Have any index.php file Or anything else to work with So what I then need to do Is I need to point to The SRC directory That will then show this page And that then tells you You're running WordPress But without the JavaScript And CSS files These need to be built Before running the tasks You need to install the dependencies So to do this You need to have NPM installed And then you run And off you go So you still do the same thing You still run NPM install As per normal So inside of WordPress develop Going to run NPM install Yeah, I don't even mind I'm aware what the default Directory file is But I've never had that problem Where it being there Is causing the problem So I think it was the IDA file Or folder That was giving me that problem there Because that's never I've never known The DS store to give me That issue So it must be the PHP storm IDA folder That was the issue there Okay, so now You just need to make sure That NPM is available And then you run NPM install Using whichever way you want And then you run NPM install And then once you've got NPM install Run Then you need to run Either the dev environment Or run the watcher Or whatever the case may be But then everything Runs from the source directory So let me wait for this Okay, that's finished So now I'm going to go NPM run watch No, not NPM run watch I'll go NPM run dev Just for the sake of it Let's go do that And depending on How you're working with WordPress If you want to contribute To JavaScript things You might need to run the file watcher If you want to contribute To PHP things You might need to not But it's always a good idea To run the first build And then go from there Yeah, that's doing its thing So let me show you What this looks like over here So it's still giving us that error Because we haven't built Any of those files So it does specifically Wait for this process to finish It's almost there Come on I suppose this is the Upside of a live stream As you don't expect me to be Talking all the time Okay, now it's running All the dev stuff Okay, almost there Okay, so then What you end up with So this isn't quite finished yet But what you then end up with Is you end up with The standard WordPress Five minutes install So you will need to manually Install the database To get this all working So you will need to have Some way to access Your local Your local development environment Database I use PHP my admin So I'm going to Quickly log into there And I've already got This WordPress Develop database That gets created for me So I'm going to Copy those details there I'm just going to check If this is Okay, this is watching So that's fine And so now I can go through the process And I can do the So that's the database name The username in this case Is root The password is password It is localhost And that is the default prefix And then you can run the installation And then that's your Standard WordPress Local installation So I just call this WordPress develop And I'll just go Username password I don't mind about The weak password And we'll go WordPress develop.test And I'll just discourage you Cool And then that's the standard installation Done And you're using You know You're using whatever Your local Your preferred local Development environment is Configuring it manually Yourself But you get the same The same result So how you do This is entirely up to you Whether you want to use WP and V The local The local development environment That way Whether you want to use Whatever your local Current development environment is You have some options Available to you For each of those options You will need to run The npm install things And the And the dev And all of that To get it going But then eventually You get to this point Where it's all working The other thing I like to do You'll notice that it's Running on The SRC directory right now I don't really like The fact that it's doing that So the other thing I like to do is I have the option to SSH into my No Can't spell today I have the option to SSH into my local Virtual instance And so what I like to do Is I like to edit the Apache virtual host Two sites enabled And then what I do is I point the document root To the SRC directory And I point the directory Directive to point to The same directory And then what's cool about that Is that I once have done that Let's think there for a second Once I restart Apache Then I just have to go to The web root of my local Development environment And it all just works The reason that's not working The reason is showing Issues with the The CSS there Is because I have Not updated my site options So ideally I should Have made that change Before I changed things On the server So currently my Site URL of my home Appointing to WordPress WordPress test SRC Which I need to remove And this one as well So that's why I don't do the Install until I've made that Change on the virtual server So now if we go here Now this all should be There we go It's all working beautifully And if we navigate to the Admin page It's access to the Admin page We can log in Oh No You can tell it's my Second week back at work I've forgotten how to type And there we go And it's all working So that's if you're using Your own custom environment If you don't want to use The environment suggested by By the core team More than welcome to You just have to do A few things slightly differently I think That local environments Like local WP And DevKinster Because they're WordPress focused I think they might Offer a way to get this all Set up within that Local environment But if you're using something Like I said If you're using LaraGon Or if you're using MAMP Jamp, desktop server Maybe not desktop server Because that is kind of WordPress focused But any kind of Local development environment Where you have to Install WordPress Generally manually Or set it up manually yourself That might be the process That you'll need to go to To get the core code Set up and running Okay That's where I'm going to stop today I had set aside An hour and a half For this session Yes, unfortunately Desktop server is gone You're absolutely right I know many people use this And it was It was one of my Favorites of the WordPress Sort of local Development environments Because it wasn't really Tied to Like a hosting platform So you didn't get All of these upsells And things So it was kind of independent And it worked really, really well I didn't use it personally Because I used other things Because I'm weird that way But it was It was a very cool option So yes It is a pretty good desktop server It's gone But yes Depending on what you use And how you use it It is possible to set up The core code base And whatever you're using You just might need To do some work arounds Or some things like that Okay So I'm going to I'm going to call it a day here I had set aside An hour and a half For these live streams And I think this hour Is a good place to stop So next week My plan is as follows We are going to go Looking for issues In WordPress track My main goal For these live streams Is I'm going to be focusing On the REST API component So if I click On the list of components And I scroll down here I'm going to find the REST API Here somewhere There it is REST API You'll see that There are In the REST API Which is Not the smallest But not the biggest either There are 142 open tickets There are a bunch of Maintainers on the REST API But the REST API Is what powers The block editor The site editor The post editor It's all powered by the REST API So my goal this year Is to try and help With any REST API issues That are coming along I happen to enjoy Working with the REST APIs So I'm looking forward To seeing if I can help Improve the REST API In WordPress Ignis Fire Yes, this will be A weekly stream Unless something happens to me I plan to do this Every week from the same time And it's going to kind of Follow along from each week So next week I'm not going to do Local development environments again Next week I'm going to Start diving into the issues I'll probably start with What I might do Is I might pop into the REST API channel And say to folks What a priority What do we need looked at Maybe I'll chat To some of these component Maintainers And find out what they See as a high priority But the goal is to Focus on the REST API for Maybe not the whole of 2024 But for at least A good chunk of it I might every now and then Branch off and do something Different every week So What I'm going to try and do Is kind of keep up to date With things that are happening In WordPress core And when new releases are Coming out I might do a live stream Around the new release Or if something new Pops up in my In my dashboard That I think is cool To discuss that week We'll discuss it that week But if nothing else Is available to discuss We'll just carry on Working on REST API issues So that's the plan For 2024 If you are somebody Who used to come to my Thursday Online workshops Hosted I'm sharing the link here Hosted on the Learn WordPress Online workshops I used to do a workshop Generally every Thursday Those Thursday sessions I've now switched to These Tuesday sessions So you will find them All listed here as well There is today's session So if you're coming Through that way You can find me there Otherwise you can Just subscribe to me on Twitch Next question Are these sessions recorded? Yes I will be recording And uploading these sessions I'm probably going to see If I can get them uploaded To the WordPress YouTube channel So I'm going to pop That link in the chat as well So they will eventually End up over there Basically for them To end up over there I first need to Upload them to WordPress.tv And then it gets Copied over And then it's updated there So the goal is For every one of these Livestreams on a Tuesday To be available On YouTube By the end of the week Hopefully So my plan is On the Tuesday I'll do the livestream Wednesday I'll probably upload it And then migrate it over And hopefully by the end Of the week It's moved over So that's the plan at least And also I'm thinking About doing a playlist On the YouTube channel So that you can Find them all in one spot And if you have Any ideas for These weekly live streams Is anything you want Me to dive into In terms of Business development WordPress Contributing to WordPress You're welcome to Send me those questions And we can Maybe dive into them If you want to Send me questions Or suggestions Or anything like that The easiest way to get Hold of me Is if you go to My profile on WordPress.org Which I will share In the chat now You will find My Twitter Link You will find My website Which is There And you can On my website There is a link to My email address as well So you're welcome to Connect with me In any one of those ways And yeah If you see anything That you aren't sure of Or anything That you want to know About In the WordPress Development space Please do Reach out And let me know And we'll see If we can Look at Covering some of those Things in future Live streams Alright Folks I'm going to say Thank you Directly for my For my plugin I really appreciate that If you have any questions Around setting up The WordPress core code base If you've never tried it before And you want to try it You're welcome to Reach out to me In any one of these channels I would also suggest And encourage you If you're interested In WordPress development To join The WordPress Slack So if you go to Chat.wordpress.org You can then sign up For the WordPress Slack And I am available In that Slack You can send me a DM In the WordPress Slack And you can ask me questions Or things there If you get stuck You're welcome to give me a shout there And I'll do what I can To help Cool So that's going to be me For today everybody Thank you all for joining me Anything else Let me know Please do let me know And I look forward To hanging out With you in these weekly streams As we dive into Contributing to WordPress And hopefully We can fix some bugs together Hopefully some extra eyes While I'm doing these These bug fixes Will be Will be helpful I will say this as well As we move forward And as we try to fix bugs It probably will be A less chat Less of a chatty stream Because I'm probably going to be Sitting trying to figure things out So I hope you'll be With me as we do that Alright Folks, thank you so much It's been lovely to interact With you all today And I will see you next week Same time, same place Bye


Hi everyone, Joe for jaspyscasebreaks.com big thanks to Tops for letting us rip open a case of series one the night before new release day That's our pre-release party right here The actual break video different video. This is a recap video for 2023 Tops series one baseball Six box jumbo random team break number one a very big thanks to this group For getting in on the action. We'll have more on official new release a tomorrow To ask these case breaks calm right here on this YouTube channel. Thanks everyone for getting in appreciate it Here's a quick relic and auto recap city connect cards are pretty cool the cabrion haze That's a super short print. I like how they made the super short prints Really big that year Luis Garcia. This was out of the the silver packs Major league material this one's a little different to this is the patchwork of the past Patch cards. It's fully rodriguez. That's nice. There's another super short print city connect Gunnar Henderson One of the early rookie of the year favorites corner Vegas Xander Bogart some more city connects nice Travis Swagarty Mookie bets And we started off with Hall of Famer Barry Larkin 38 out of 50. There you go Ladies and gentlemen, that was the recap video for a series one baseball more the store tomorrow more breaks of this tomorrow So join us then I'm Joe. I'll see you next time for the next break


The research presented in this paper investigated the use of coffee husks as a reinforcement material for polymethyl methacrylate, PMMA, composites. The study found that adding coffee husks to PMMA composites improved their mechanical and tribological properties, making them more suitable for use in artificial hip joints. Additionally, the authors constructed a finite element model to simulate the behavior of the composites under human loading conditions, which confirmed the positive effects of the coffee husks on the composites' performance. This article was authored by Ahmed Foley, Ibrahim Al Nasser, Abdulaziz K. Asafin and others.


When Vladimir Vubitsky arrived in Perth more than 20 years ago, it was love at first sight. The Russian-born composer was touring Australia with the USSR Symphony Orchestra at the time. We arrived first city to Australia in 1986 to Perth. It was absolutely incredible. Everything different. Before long, Mr. Vubitsky had developed a special relationship with the West Australian Symphony Orchestra. Which he guest-conducted for many years, before being honoured with the title of conductor laureate in 1997. I loved this orchestra.   It's part of my heart. My heart is here. The orchestra showed its appreciation in return. With Mr. Vubitsky conferred Australian citizenship at the conclusion of a special evening of Russian music at the Perth Concert Hall. And with love, I will uphold and obey. The audience and orchestra joined together in a stirring rendition of the national anthem. While Mr. Vubitsky temporarily swapped his bat and for a cricket bat in honour of the occasion. Minister for Immigration and Citizenship, Senator Chris Evans said this is by far the best part of his job. It's a demonstration of how the country comes together. We are diverse people. We come from all over the world and it's important that we have a focus for how Australians can come together. What it means to be Australian and how we can build our community and our society. Orchestra members also enjoyed the opportunity to celebrate this very special event with one of their favourite conductors. Principal bass clarinetist Alex Miller has worked with Vladimir Vubitsky for 20 years. He is the most passionate, humorous, friendly, effusive man. He's just a joy to work with. Every concert is just imbued with the passion. The citizenship ceremony a fitting way to recognise Mr. Vubitsky's service to the orchestra as well as his contributions to music in Western Australia. It's a very warm relationship that our orchestra shares with him and that's why we've shared that relationship with him for such a long time. And to kind of honour that tonight with a ceremony where he is pronounced as an Australian citizen is a reflection of that commitment that he's had to us and that we've had to him. And there seems little doubt that that special relationship will continue for many years to come.


Hey guys, Drew with GeoWarm here again to talk to you about the M2M-MN02-LTE whether it be the AT&T or Verizon version and its connection for communications only in this video to central stations. So if all you're worried about is just getting the signal sent over to central station, you're not worried about the interactive app, you don't care about app control, doesn't matter, just looking for signaling, this is your video. So what we're going to do here is we're going to go ahead and get this connected to the Honeywell Vista 20p. You want to make sure that your Vista 20p is powered down completely prior to working with this. So you want to unplug backup battery, unplug power supply, make sure that that's all handled. Now the first thing we want to do here is we want to go ahead and get the antenna connected. So you can see it's super easy to get that connected here. Just screw that on like so, okay. Now that's ready and the antenna is also pretty neat. It's got a magnet as you can hear there. So it'll stick to wherever you want to go. A lot of you will probably back feed it out which is what I would recommend and mounting this outside somewhere. So the first connections we're going to make here are going to be for ground and for positive power. So the first wire we're going to take here is the black wire and you're going to be wiring that into terminal number four. So four is going to have a lot of other wires more than likely which are all ground because this is the AUX minus terminal. So keypads will be going there, expanders, other devices as well. So make sure you don't remove any wires from these two slots specifically. Now the next wire we're going to wire in is the red wire and that's going to be going to terminal five. This is for positive power. Once again there will be other wires in here. You don't want to remove them. Make sure you keep them in there and just wire these in there along with them. So now we have terminal four, black, terminal five, red. We're wired up for power. We're good to go on those two. So what we're going to do next is we're going to wire for communications. So you can go ahead and get the orange and white wire out of the way. You're not going to be using those if you want to throw a piece of electrical tape over the end of them or just cut them back. It's completely up to you if you're not going to be using the app. The first connection we're going to make here is going to be yellow and that is going to be going to terminal 23 which is tip.   Once that's in place, go ahead and lock it in. Also, if there's other wires in terminals 21, 22, 23 and 24, make sure that you remove them. Get them out of there because this is the only thing that needs to be in those slots currently because this is how it's going to communicate. We now have it wired for power. We have it wired for communications. So we're ready to go here. Make sure to subscribe to our YouTube page and click the show more tab underneath the video where you can view valuable links pertaining to this product, similar how-to videos and our low-cost, no-contract alarm monitoring services.


The endoplasmic reticulum, ER, is an organelle of nucleated cells that produces proteins, lipids, and oligosaccharides. Upon induction of unfolded protein responses, UPR, its volume and activity increase. When the ER is stressed, it activates ER-phagy programs to reduce its size. The nuclear envelope, NE, is composed of two juxtaposed lipid bilayers, the inner and outer nuclear membranes, FI-NM and O-NM, respectively. During homeostasis, the mammalian ER expands, resulting in the disassembly of the linked complexes connecting I-NM and O-NM. This process is reversed when the ER returns to normal functioning, through the autophagic removal of the NE, which involves the LC3 lipidation machinery, the autophagy receptor SeX-62, and the capture of O-NM, derived vesicles by degradative LAMP-1, I-B7 positive endolysosomes. This article was authored by Marika Kekachinska, Juliette Federie, Carmela Golly, and others. We are article.tv, links in the description below.


Cuba's ruling pro-communist party has elected President Miguel Díaz-Canal to succeed Raul Castro as the party's first secretary. It's the most powerful position in the country. The secession marks the end of six decades of rule by brothers Fidel and Raul Castro, who led Cuba's leftist 1959 revolution. The mantle now passes to a younger generation. Díaz-Canal, who was born after the revolution and is aged 60, already succeeded Castro as president in 2018 and had been widely expected to also take the role of first party secretary. Díaz-Canal was party chief in two provinces before joining the national government as education minister in 2008 and then became Castro's right-hand man in 2013. Hello, hope you enjoyed the news. Please do subscribe to our YouTube channel and don't forget to hit the notification button so you get notified about fresh news updates.


In the meantime, the International Monetary Fund, IMF, has warned the total expenditure on subsidy might hit a record 6 trillion Naira mark by the end of the year, with Nigeria's fuel subsidy payout averaging 500 billion Naira monthly. According to IMF, the macro fiscal stress test is conducted on the country, showed that interest payments on debts in the country could amount to Nigeria using 100% of its revenue to service debts by 2026. If not closely monitored, the representative of IMF in Nigeria, Ari Asin, revealed this while presenting the latest Sub-Saharan Africa Regional Economic Outlook in Abuja. He also revealed that Nigeria received a total of $6.8 billion facilities from the IMF that's following the outbreak of COVID-19 in 2020.


Good afternoon. The first item of business is time for reflection, and our time for reflection leader today is Helen Border, Chairperson, Friends of Divine Mercy Scotland. Presiding officer and members of the Scottish Parliament, thank you for the opportunity to share this time of reflection with you this afternoon. When we took the Mercy bus out into the streets of Scotland this year, it was so It is so clear that there was such loneliness and heartache in our world today. I could speak about all the things that are going wrong in our society, but you know that already. What I am going to speak about is love, hope and joy. Saint Paul tells us in Romans 15.7, Accept one another for the glory of God as Christ has accepted you. How hard it is sometimes for us to accept each other and to respect each other's views. I ask you to look into your own heart, and if there's anything you're holding against another person, please let it go and you will feel so much better. How can we expect the Lord to forgive us if we don't forgive each other? Forgiveness and mercy go hand in hand. The more we can forgive, the more we can offer mercy and love to others. What better way to show kindness and love than to smile to all we meet? A genuine smile from the heart can be so comforting to another person. When visiting a shopping centre with the mercy bus, I offered a lady a miraculous medal and a divine mercy chocolate and told her that God loved her. She burst into tears and said to me, That's the kindest words that I've heard in years. How sad it is that some people in our world are so upset, so sad and lonely, not just the elderly, not just the isolated groups. I don't have time to sing this to you, but as the song says, Smile though your heart is aching. If you smile through your fear and sorrow, smile and maybe tomorrow you'll see the sun come shining through for you. Light up your face with gladness, hide every trace of sadness, although a tear may be ever near. That's the time you must keep on trying. Smile, what's the use in crying? You'll find that life is still worthwhile if you just smile. May the God of hope fill you with all joy and peace as you trust in him so that you may overflow with hope by the power of the Holy Spirit. Amen.