Hey, Abbott, what time is it? It's time for the Abbott and Costello Show. We're on the air for ABC here in Hollywood. Well, what are we waiting for? Let's go with the Abbott and Costello Show! Yes, it's the Abbott and Costello Show. We're going to stand in Hollywood for your listening pleasure, with lyrics by Marilyn Williams and music by Maddy Malvin. So, hold on to your chairs for a break. Here they are. What Abbott has for Costello! Hey! That's the lady in the first, the bearded, tattooed lady. Yeah, Uncle George, you should always be crazy about jungle pictures. But I knew he was going to marry a fortune-teller. A fortune-teller told me for ten dollars. You mean to tell me that a fortune-teller... Oh, I get that. I can't wait. You mean to tell me that a fortune-teller charges you ten dollars just to read your mind? So, one dollar for reading my mind and nine dollars for finding. Never mind that. What does Uncle Joe do for a living? Well, he's a babysitter. How does he get started with a babysitter? Well, one night, a woman asked him to sit with her baby, and then she went out and never came back. Who was the woman? The first wife? That's awful. Yes. At twenty-five cents an hour, she owes him twelve thousand dollars. Is he a good babysitter? I'll say. One night, he was sitting with a baby, and the kids swallowed a bottle of bee-bee-bee. My goodness. What did Uncle Joe do? Well, he threw the baby over the shoulder and burped him. What happened? The kid chilled every flyer within ten miles. Oh, get him out of here! Well, there's a sample of a high-grade nonsense you'll be hearing for the next half hour. Before we get back to it, listen to this. Did you know that any listener may now have an opportunity to appear as a contestant on Break the Bank? That's right, any listener. As you probably know, ABC's Break the Bank is that very popular Friday night quiz show, where contestants try for a jackpot which is always worth at least thousand dollars and often much more. Well recently, Break the Bank inaugurated a new feature whereby listeners are eligible to enter their names in a giant wish-bowl. Winners will not only get an opportunity to break the bank, but they also receive free airplane or railroad transportation for two to and from New York as available. In addition, each wish-bowl winner will live in his fleet in the famous New York Hotel from Friday until Sunday. And he or she will be given $150 spending money besides any amount received on the show. For all of the details on this wonderful wish-bowl here, Break the Bank when it's broadcast over most ABC stations tomorrow night. And now back to ABC's Abbot and Costello show. Hey! All right. Hello, hello, hello. Hey, Neil. Stop jumping around. Who are you waving at? I'm waving at my new girl from Texas way back here. That's her in a third row with the red dress on. What do you think of her, Abbott? Costello. That's your new girl? Yeah.  She's even got warts on her nose. You can talk louder, Abbott. She's deaf, too. Costello, how can you possibly see the rest of the girl like that? I don't know, Abbott. Her face wants me everywhere I go. I see her face. I see her face when I'm away. I see her face when I'm asleep. I even see her face when I get in to go to get my car washed at the wash rack. I do, too. I see her face. Oh, wait a minute. How can you see her face when you take your car to the wash rack? She works there. She's on hubcaps. How did you ever get acquainted with this girl? She wrote me a fan letter. She's one of my millions of women picked up here.  I can't have it. I just point my many millions of women fans. Millions? Millions. Millions? Well, thousands of women would be disappointed. Thousands of women? There are hundreds of women who will feel badly about it. Did you say hundreds? My mother would raise canes. Why don't you stop running around and get yourself engaged in some nice girl?  Oh, yes. I heard it on the radio. They said if you want to get engaged, use woodbury soap. So I bought 12 cases. Did you get engaged? Heck, no. I was so busy washing, I didn't have time.  He insulted me, ever. Highly insulted. What do you mean? Well, my birthday. She gave me a Boy Scout knife. Well, that's not an insult. Sure. Everybody knows I wouldn't knife a Boy Scout. Oh, stop.  I can't go out tonight. But I lost my wallet. Are you sure you lost your wallet? Yeah. You'd better look in your pockets again. Okay. Mm-hmm. Oh. Nope. Nope. No wallet. But here's the note. What does the note say? It says, you lost your wallet last night. You can have it back by calling 885 something Boulevard. Yes, bring a friend. My roommate is eating this over my shoulder. Evidently, that notice from two girls. Forget about it. And quit running around with women. Why don't you take up tennis, sir? Golf. Oh, tennis or golf? Yes. Don't you know what good clean fun is? No. What good is... Now, take me for instance. I play golf every day. That afternoon, I play 18 holes with Eddie Lamar. That girl handles her eye out. How is she with the woods? Right? I don't know. She stayed out on the fairway the whole day. Eh, show me where is this atmosphere. What's that over there? Well, you get that kind of dialogue. Very, very clever laughing.  I'll just never mind. I've been titled to tell a joke once in a while. We've got lots of jokes in my family. That was one of my father's jokes.  I'm looking for Luca Cello. I represent the Father's Day Committee of Cucamonga. I'm Luca Cello. Well, what does the Father's Day Committee want with me? The people of Cucamonga have elected you as the father of the year of Cucamonga. You think father's day? And I don't even live in Cucamonga. That's good. The farther you stay away from Cucamonga, the better we like it. I've seen that fellow's face before. I'll tell you a way you could see it again. Where? Any Thursday at the State Unemployment Insurance Office. Starting this Thursday? Aye, that's right, Cucamonga. I don't have to worry. I'm the most independent man in town. What makes you so independent? I gotta use car for sale. That shuts you up, Cucamonga. You better watch out. Watch out that you don't wind up at an unemployed officer's office. Ah, don't you worry about that. But I don't have to worry about work. And my girl got a job this week with the Los Angeles Bus Company. Your girl is a lady bus driver? Good. She started Monday. She opens the door. She takes the fish. She makes the change. She gets up there first. She calls up the street. She tells the people to move back on the bus. Yes. I'm going to let her drive. Well, have you got a driver's license? Yes, I've got a junior driver's license. What's a junior driver's license? It only allows you to hit midget. The California driver's laws are very strict, especially about pedestrian zones. Now, when you see a pedestrian crossing the safety zone, what do you do? You came to go and you got a California driver? I step on a gas, you take him up on a sidewalk right along. I'll take care of everything. All right, I'm going to let you forward. Come on, sweep up the floor. Disinfect the microphone. Clean up the place.  Wait a minute. Wait a minute. Wait a minute. Wait a minute. Garbage can. That's where I slew pastel, my friend. I was right the first time. Throw that garbage can out of here. And another thing. What's the idea of cooking corned beef and cabbage in the studio? No, terrible. Nobody was cooking corned beef and cabbage. This is the average casserole program. Confusing, isn't it? Isn't it? Oh, not when you like corned beef and cabbage. That did it. Not complain to the president of ABC. What writer has not said it's niggable? Better come in here and try to disrupt our program. Not just a minute. Just a minute. Knobheaded.   I'll straighten this out. What are you doing in this studio? The rabbit, I work for ABC. I've worked here for 12 years. I run the elevator. Wait a minute. There's no elevator in the building. Go on, loudmouth. Tell the boss. Make me lose my job. Well, don't stand there. Tell him.  Oh, not just a minute.  Accepting money for doing nothing. Accepting money for doing nothing. How long have you been in radio? 10 years. Look who's talking. How much are you? I mean, just this guy has stopped only bald. He's nothing. He's broken down. But, in spite of all that, the stuff that's out him's actually broken. Why, I guess, fella? I missed it. Why have you interrupted our show? However, I have a very important announcement to make. Ladies and gentlemen, the American Broadcasting Company and the sponsors of the Abbot and Costello show proudly present. Direct from her recent clients in London, England, that great singing star, Miss Marilyn Williams. Thank you, ladies and gentlemen, and thank you, Floyd. Floyd? Well, not guitar. Floyd. Leave him alone, Castella. Miss Williams, welcome to our program. I'm sure our listeners are going to love you, and I hope you will like me and my partner. But, old chap, I think your top hole, and I think Costello is positively ripping. I knew I shouldn't have worn those tight pants. No, no, no, no, no, Castella. That's just an English expression. The English have different customs than ours, you know. What do you mean? Well, for instance, in this country, if an English girl sneezes, you say good night.  That's all I want to know. Mr. Costello. Ma'am. I didn't sneeze. Why wait until the last minute? Why, Mr. Costello? Why did you ever learn to put your lips to a point like that? I used to thread needles for my grandmother. And, um, Miss Williams, we have some gifts for you to bid. Did you welcome to America? First, please accept this beautiful diamond ring. Here, I'll slip it on your finger. Oh, divine.  Now, may I place this beautiful bracelet on your arm? Thank you.  And now, this lovely neck. Oh, thank you. You may kiss me on my neck. All right, Costello, now it's your turn. I pass. Why? I bought a pair of shoes. Oh, you're so droll, Mr. Costello. But for being so nice to me, I'm going to write to His Majesty and have him make you a knight of the bar. Please, don't do it. Why not? You think I'm going to fight England and back every Saturday night just to scrub the King's back? It's easy to see that you've never been to England, Mr. Costello. Well, if I have, here's a copy of the London Times. My pictures are one side and the King's pictures right next to it. So it is. You see what it says in my picture? The King and the fellow came as guilty. But look what it says under the King's pictures. What? God saved the King. Now, Miss Williams, did you have an ice-trip here the minute? Oh, rather. You know I crossed the Atlantic on the Queen Mary. Mm-hmm. I didn't know the old girl could swim that far. I'll get him out of there. Not thick as that. But before I get too thick, let me interrupt you with a reminder on a serious subject. Did you know there's a network quiz show where listeners compete for a big jackpot prize by telephoneing the program? That's right. The listeners phone in to lecture. That program is What My Means. Broadcast of most of these ABC stations each Saturday night. Here's how it works. At the end of What My Means, you hear the voice of a famous personality, then listeners of a certain selected city, and it may be yours, are invited to telephone in the name of the owner of that voice. The first correct answer wins the jackpot. A lot of fun, even if you said he isn't a selected one. But the fun doesn't start with a jackpot question. You'll also enjoy hearing studio contestants play What My Means, as MCs, Arlene Francis, and Kyle Frank post the questions. They pretend to be famous people and get set to clues as to their identities. He asks for swell quiz fun. Don't miss What My Means heard over most of these stations Saturday night. Now back to ABC's after the Cassello Show. Now let's get going. Wait a minute, Cassello. Let's turn it on the spotlight. Let's turn it on on our singing gal for me. Oh, that's great for us, and it's great for everybody listening. Here she is, folks. Marilyn Williams with Maddie Malmick's music. You have the power to hit the party. You do so well. You play Mr. Frank. Merry Christmas. Christmas is nearly two months away. Why did you say Merry Christmas? That's fresh material, have it? If anybody says Merry Christmas on a radio, they stole it from us. Don't be silly, Cassello. Nobody steal our material. That's all? No. No. No. No. No. No. No. No. No. True. No. No. No. No. No. No. Now, the trouble with you is that, instead of taking up these jokes, you spend all your time chasing girls. I saw your last night with that red head. Yes. What a girl. Have it all night long. Skip to him a year off. You mean she talked too much? Nope. She just chewed me a year off. I understand she's a Spanish dancer. Yep. She does a very unusual dance. She dances around the brim of a Mexican hat. She dances all around the brim of the hat and kicks it with her heels. What's unusual about that? Lots of Spanish dancers dance on the top of a Mexican hat. Well, it's still on the Mexican's head, right? Well, Castella, no.  Now, take me. I get the better looking girls because I'm handsome. Have it. I don't like to hurt your feelings. But you should put it up. I gotta tell you. You are the youngest man I ever saw. I'm ugly.  So I could look at you and get scared. Well, anyway, you've got to admit I'm a pretty fast dresser. Uh-uh. I'm the thing of it, Abbott. You were wearing pinched back shoes long before or any other, fellas. That's right. Long afterwards too. I'm the one with clans. Yes, sir. I'm the one with clans. Well, when I went to school, the girls used to flock around me like flies around a pot of honey. Yes, and I'll have to admit you haven't changed much. I haven't had a bad having. No, you've lost a little of the honey, but you still got the pot. Hey, Mr. Castello. Abbott's nephew, Norman, why do you keep coming in here every week? Well, I want to ask you something, Mr. Castello. My mother told me that if I watched you... No, it's not Abbott. Go and prove. Well, give the boy a chance. What's on your mind, Norman? I want to ask you something, Mr. Castello.  Do you think he's right here? Your mother was right, Norman. You might end up being just like me. No, kid, and I thought you'd just tell me that to scare me. That's a nice boy, folks. She told me that it would only take two more years to make them hurran out of him. Abbott, why don't you keep that bum home?  You should call that bum an actor. Now, I'll never mind that. Norman stays on the show. He's got tricks with him. And don't forget that he has 200 women in his body every week and every one of them wants to be loud. You need to stand there and tell me that there are 200 women out there right now that want to be loved. Yes. End of map! Castello, how can you be so stupid?  How do you do it? I take vitamins. And remember, Mike takes vitamins, too. We're worried about a map. But all day long, he runs around the house and tackles. He thinks he's a sicko. Well, wait a minute.  And why don't you get him out of the house and send him to a hospital? He would, but we need to get him out. Oh, thanks. Can you have a fan letter for one of my listeners? I'll read it. I will. Right here. Actually, I'm going to read it. Castello. Tell me that sounds like a burning token, doesn't it? Castello. Castello. I have been listening to your fan-celebrity record series. I want to say you are one of them. That's because you play Sam's devil of a soul-stilling. I'll push it out and goose them up. I'm coming over to see him first tonight. Tell us, someone outside to see you. Who is it? A goose. All right. All right, good to like you. There's no way you'd be scared to leave. I'm doing that to the secretary. That's all right. You tell us. What is your Sam's devil of the secretary for tonight? Nighteen. I will do one of my most famous movies. I call it the case of the murdered flowers or they caught him with his plants down. Yes. I'm Sam's devil of the secretary. It's warm in my little office. It's been warm and sticky all afternoon. On my way to the office, I ran into Harry the Mug. Joe the Mug and Frankie the Mug. It's really been a muggy day.


I'm still human, right? So I still like even watching it. Oh even even in those moments you were I mean I remember that even in those moments it was still like is this real though? You know am I really real? And I am willing I think to go to those places because I know that that's where the connected tissue of humanity is if I'm suffering or struggling with it it's probably not just me it's probably other people too.


Felly, yn cael gwelio'n gyllideb am ddiolch yn rhan o'r ddaf. Mae'r lego eich bod nhw'n gweld bod y byddwn yn dechrau. Yn cael hynod o'r llego i ddweud, felly mae'n gofio'n i'w gweithio. Felly, mae'n... Felly, mae'n gweithio'n gweithio. Felly, mae'n gweithio'n gweithio'n gweithio'n gweithio. Mae'n gweithio'n gweithio'n gweithio'n gweithio'n gweithio. felly rwy'n mynd i wnaeth ymddangos yma. Tynna'n meddwl yn fwy fx Battery, Sysad Menyn, Traepler leaders i'w dweud o drwng. Rwy'n meddwl bod arno iechyd yn ylam gwybod yn Manchester o'r Remed Klar a os oedd a gweledol Rydydd yma ar ei wneud yn ymddangos hwnnw, a oedd oedd yn bija eu hunain yma ar y Gymraethol. Byddai ydych chi'n gweithio ei rôl sydd yn iawn, efallai gweithio'r cyffredin wywiau y teimlo. Ac mae'n meddwl ar yw sydd ym Mhwynt iawn, mae gwychio eu cyffredin i'r cyffredin yn ni. A byddai ymddangos ni hynny, oedd y gwestiwch os yw i'n meddwl o gyfrifiadu gyfer Gweithio. Ymddwn ni wedi bod yw'r gweithio y ddechrau? Rwy'n rwy'n gweithio ar y cyfnodau Gweithio. Rwy'n gweithio ar y cyfnodau Gweithio, 8 oed yn y ffodol yma, a 6 oed yn gweithio'r cyfnodau Gweithio fo, 4 oed yn gwneud, a rwy'n gweithio'r cyfnodau Gweithio, a'r cyfnodau Gweithio ar y cyfnodau Gweithio, Felly, mae'n gwneud bod ychydig i'w'r cymdeithasau. A wedi cael y myneddol arall y parwyr yma, mae'r adonau yma yn adrodd i'r adrodd i ymddangos, mae'n adrodd i'n adrodd i'r cyfnod i ymddangos i'r llwyddoedd yma, a'r adrodd i'r adrodd i'r adrodd i'r adrodd i ymddangos, mae'n cyrchaf arall ymddangos, i gael i ymddangos sy'n edrych. Mae rydw imbryd gweld ei nid yn cael meddwl, fel han Llywodraeth a Llywodraeth yn gyfnod o grannu â'i lleoliau. Felly mae eisiau ein rydw i yn cael meddwl ei wneud i chi helpu a rwy'n meddwl ei wneud i chi hefyd. Yr rydw i'n mynd â'n gwneud i gyfrifeddaeth.Teimlool, mae'n holl gwych ddechrau ar ddigon. Felly mae'n meddwl i chi ar ddigon, mae'n roedd yn bryd yn cael meddwl i chi hefyd, ac mae'n fydda Lywodraeth yn datblygu i'r rhan. ond we have a couple that are still learning after several months of trying to get rid of all the problems. So this talk is really built from born improvements of frustration really, seeing all these problems coming in and thinking right well, let's look at solving them. It sort of stems from what I think is the ability for people to sit down and get going on Drupal sites, which is great. Drupal is a tool like any other. It can be used well and it can be used badly. Actually in the PHP, this is sync, which is a good thing about PHP, it's easy to learn. The bad thing is that it's easy to learn. So there's no barrier to adoption really, which means you can get up and run it quickly. But there's no barrier to making bad decisions and creating things that are un-maintainable. I think it has been a bit surreal, one of those things. I said that. I was really going to title this talk Drupal the right way, but I still thought it was a bad title. So these are the main points I think that are a problem in Drupal. So some of the file architecture stuff, what you should be doing in your custom code, is configuring Drupal and some country modules to help you anyway. So a Drupal file structure, what we do access, and I think lots of other Drupal things adopt this, is use this structure. So we've got the sites folder and the all folder, and then inside modules we split up into country and custom, and all our custom code goes into custom, which makes it really easy to see what the custom code is doing. It also helps to analyse that code much easier and figuring out what you're doing much easier. Contrary to that is having a folder list with hundreds of modules in it, and then trying to find the one module that you know is custom and differentiating that between a country module. Believe me, going through each individual info file is not a present experience. So, again, we also use this sites default file, so we never change that directory structure, it keeps things nice and consistent between dev and staging and production. That brings us up into multi-site setups. So in Drupal it's perfectly possible to do this kind of thing, where you've got sites and then the domain name and a folder structure. So you can put your files order in there, you can put modules inside your individual sites files, and even individual settings files. It's a nice idea, but in practice I found it just creates this unmentainable mess. The main problem is updates. So if you have a module that's run across all the sites, for example views, if you update that module and you're running a five-site setup, and one of the sites doesn't take that module update correctly, then unpicking that can be out of the work, and it's also not easy to test all this integration locally, so doing this online is not such an experience. So we tend to avoid this. If you see a site setup like this, we'll start migrating away from it, which is possible it just needs a bit of the database work, because lots of file paths will be set like that. So themes, I always see lots of logic in themes, even like database calls and things. If you think of a theme layer in terms of like MVC, so if you're familiar with that model, which is Model View Controller, model would be your entity or your node or whatever, view is the theme and the controller is what many hook or the group called grouping engine in Drupalight. Drupalight actually forces you to stop using logic in your templates, so the tweak templating engine will force you to step backwards and so you need to use preprocess hooks to get all the right data structures in place before it goes into your theme layer. This is a sort of problem as well in themes, or even modules themselves. So node ID 1234, what happens if you delete that node? Oops. If you've got block IDs hardcoded in your custom code or you've got template files that are hardcoded with block IDs, it tends to be a bit difficult to migrate them into new nodes and things. So if you actually have to use specific values like you've got a very specific task you wouldn't do, then try to use configuration options, like the variable set and variable get things. Really easy to do, you can even just dump them in your settings file and it will carry through there. But it means you don't have to hardcode things if you don't have to. Also the problem here is let's say you pull the site down from production and you're working on it locally. By the time you move that code back into production again, those IDs are going to have changed because clients add new nodes, they add new text on new terms, in which case as you're migrating into production, you need to migrate all your IDs across as well, which can be a pain, believe me. A module file structure, I actually have JP Stacey's in the room because this blog post link at the bottom is actually really, really good. If you're thinking about how a module itself is put together, most menu Drupal hooks come with a file prompt in Drupal 7. It makes it easy to split things into different sections. In your hook menu, you can say, right, well, my admin page is going to admin.inc and that kind of stuff. JP Stacey's blog is really good to explaining how to get that involved in your module development. Name spaces are also important. So just to avoid function classes really, Drupal 8 solves this by using PSI4 and custom classes in the namespaces in terms of PHP namespaces. It's still important to try and name things correctly. I've come across modules that have little or no documentation to them. So in for files like this, it doesn't tell me what module does. If I'm looking at the module screen, there's a big list of modules. I can tell it does tooltips because that's written in the module title. I have to say it again. But it's more than that. It's more sort of, add a readme file, add some instructions on how to get it installed. Install.txt is also useful. If it's on drupal.org, update the module page so you've got something there you can read as a resource. If it's not intuitive how you set the module up, then you'll put that in a documentation. So changeload.txt, so if you go to a Drupal site and type in changeload.txt, you'll sometimes find that it tells you the exact version of Drupal that's been running. It's not necessarily a bad thing, but in my opinion it gives you a little bit too much information about what's going on inside the system. The best way to get rid of these is restrict them by a web server configs. You can remove them by the hacked module, which checks to see if there's any code changes inside Drupal. It complains about that. That's one way to do it. Alternatively, you can just delete them during your deployment processes. I'll come to an example of that later, actually. So custom code to understanding how Drupal is put together and understanding how it can be overwritten is really important, so understanding the tool itself is definitely useful. I do see a lot of people rewriting things, so I've seen the book module being rewritten from scratch. Why not use the one that's in core? Cache modules being rewritten, solar modules being entirely custom-built from scratch. If the control module is out there and it's been used, great, use it, but then understand how you can override those currently if you have to do something really custom. That means it. I'm a big believer in reinventing the wheel often. Rebuilding things, finding different approaches, but it should probably be on your own time, rather than client-paid work to do something that shouldn't necessarily have to be done. It's one to coding itself then. So don't hack core. Surprisingly, I do see it quite a lot, even if it's just like little changes here and there, but it's definitely happening. There are a million good reasons not to do this. It surprises me every time I see it, but that doesn't just mean Drupal core. That's also contrary modules, so I'll see views being hacked in weird ways. So there's an argument that you say, like, if the module's broken and there's a patch available on the internet, on the Drupal issue queues, you can patch it. I see that it's sort of a last resort approach. But if you're going to have to do that, then document the changes somewhere, even if it's just like a patches folder that you drop all the patch files in, so you can see and review them. But just basically do it the right way. So learn about hooks, learn about child themes, learn about overrides. It's all important in allowing you to update and maintain your sites. Version control is good. So if anyone here is not using version control, you can get started really quickly. Get's really good at getting started straight away. You don't need to use get hope or a bit bucket straight away. You can create a local get repo and then push it up when you're ready. But just understand that having that backup in place is really useful. There is some arguments around commit messages and things, so if you're going to write what you've done, you should probably give an indication of what you've changed and why you've changed it. So when you're reviewing the patches later or the commits later, you can see what you've done. So it's going on from that then. So we've got version control branches. So get branching is quite cheap, so you can branch off the code and start working on your own thing. You can use a get flow or a variant. We tend to use the approach of an access where the master branch is basically a copy of the live site. So we only actually write to the master branch when we're ready to deploy and then it gets deployed. So if there's any indiscrepancy, then we know someone's not done the job properly, which doesn't happen much. So what we do is then branch off into a dev branch and work on that, and that becomes the updated copy. Then we're already moving back into the master branch. If it gets more complicated, so there's lots of features going on, we'll do get flow, which is sort of a branch for each feature you need to implement. But it's not necessary. It's probably good for big teams and big agencies. So I've described, obviously described working here, your commit missions have said that. Don't add databases to your get repo. It doesn't really help, especially when your database is, you know, the problem there is that your databases, as soon as a client changes anything, it effectively negates the need for a database because it isn't much anything that's on the site. You can, there's arguments that you can create like a staging database that looks like the live site, but you should be reproducing the site through things that features, you know, sort of conflict changes rather than a sort of blank database. Surprisingly enough, I actually saw this recently of someone adding the user files directory to the get repo, which meant that every time I had to do a deploy, I had to do this complicated, juggling around of the user files to try and, because effectively, they are then a get controlled resource. So every time the user uploaded a file, it saw that was a change, which made merge conflicts quite interesting. So we've had to re-engineer that. Settings.php is debatable. There are config stuff you can put in your settings file. Things like varnish settings and cache settings can go in there. Probably a good idea to do that so that you're replicating the live environment, but just try not to put in database passwords and user names. This block at the bottom is what we use at Access, so we include that in our settings file, and then we have a local settings file that overrides database parameters. This code actually exists in Drupal 8 now, so that's the standard for Drupal 8 as well. So using ID, maybe, moving up, I think it helps me in my day-to-day work, not just in terms of syntax highlighting, but sort of code navigation, debugging, auto-complete, auto-formatting. Just sort of telling me, like showing me where the problems are around the code as I'm writing it. So it's better to detect the problems before we actually commit them into the system. What ID you use is up to you. I don't dictate to my team what ID you have to use, but NotePad isn't enough for TextMate. Not TextMate, the other one. It comes with Mac. So I use PHP Storm, but MetBeans eclipse easily as capable tools. It's basically the code navigation and debugging tools that I enjoy in PHP Storm. The environment you use can have an impact on how you build sites. So the idea is to replicate your production environment as close as possible when doing work on local.  So that can be just the path that the site sat on, but it can be windows versus Linux, file endings, that kind of stuff. Mump-wump solutions don't really cut it, in my opinion. Shame it's plugged for favourite boxes in Vlad here, but the idea is that if you're going to be working, you're going to be launching a site on a Linux environment, you have to be sure that it will work, you don't want to get to the go live and find out that there's loads of problems with it. Also think about your PHP settings. So obviously you need to make sure that the file upload limits are the same as you would on the live site. That way when you're using the site, you can adapt to problems quite quickly. Come onto PHP itself then. So obviously syntax errors should never make into production, but that includes notices and warnings. If you understand how Drupal 7 at least will, how it executes an error, it'll go through the code, get to a certain point. If it finds that it can't find an index of an array, it'll jump off to this thing called Drupal log error, write something into the database, which is the watchdog table. Come back to where it was originally and then continue the code. That's fine if you've got one or two errors on the site on a page, but if you're looping through things, you'll find that you've got watchdog errors coming out, out your ears, and it slows down the site basically. If you're writing to a database over and over again in a page load, that's going to slow the site down. You tend to want to avoid that sort of stuff. Don't just use the At symbol to suppress warnings. There's actually performance implications around that.  You can catch the errors as they happen and try to adapt to them. But don't forget about the actual error output in Drupal, except that your error is to be only visible by the admins. The error log gets truncated after a certain amount of time. Just make sure it's long enough for you to go back a few days and make sure that things are good. Coding standards. It's good to pick a coding standard and stick to it. It just makes the code a little bit more readable, in my opinion. Some people think it doesn't, but the coding standard is basically... It can be simple as a number of spaces and codes, so if you've got an if statement, it's if, space, and the bracket. It might seem like a trivial thing, but if everybody in your team is writing code with the same standard, it just makes portability much easier. We actually have a continuous integration environment called Jenkins. Quite a popular system at Access. So it ought to check the code in the dev branch as we're doing the work. We'll check for things like syntax errors as a default, but it also goes through and checks for coding standards just to make sure there's no glaringly obvious errors. The code module has everything you need to look at coding standards inside your site. So let's look. I don't want to get too blocked down in how to write code, because that's not really what this talks about, but I just wanted to note on cyclomatic complexity, which is sort of an easy way to understand how code is executed. So basically, it's the number of paths of execution through a code log. For example, this one here, the if statement, has a cyclomatic complexity ratio too, because it can go either to do something or do something else fairly straightforward. Anything above 10 makes life difficult for you, because it makes the code really complicated, trying to figure out all the different paths that the execution can go through the code. So basically, high number is bad. Nice and easy metric there.  PHP Mestetect actually will show you a few other things as well. It will highlight any unused variables, so if you create a variable and then never use it, it will show you that in your outputs. It can tell you about excessive function lengths. So if you've got a function that's hundreds of pages long, that's obviously unmaintainable, so it will advise that you should be refactoring that. Essentially, when writing code, you should think about the next person to write it, even if that's yourself, because I know that I'll write some code, and six months later I've got no idea what I've written before. But when writing complicated code, there's basically one rule I live by. There's always code as if the person that ends up maintaining your code is a violent psychopath who knows where you live. That keeps you in check, I think. Even if that's yourself, because if you know you're going to be writing code in six months' time, a little bit of code etiquette, I suppose, helps you sort of plan for the future. So if you're writing comments and nice verbose variable names, it makes the code a little bit easier to understand when you next look at it. A little note on Drupal tests. So since Drupal 7 has a simple test bundled in with it, Drupal 8 uses a combination of simple tests and PHP unit, but the idea is that with PHP unit you're testing the code itself, whereas with simple tests you're testing the entire application. So every time you run a simple test, it installs Drupal as a base value. It can make writing the test a little bit complicated because you're starting off a Drupal site with nothing in it.  Once you have it in there, it makes writing more tests much easier and it makes refactoring things a lot easier as well. If you know you're going to change a load of code in a module, writing a test to make sure that the known output before and after are the same is all that's always useful. A slight note of configuration. So this is sort of a bug there for me is the idea of content types. So a content type for me is not a template type. It's a sort of functional thing that contains data. So I'll come to a site and I'll see this sort of thing where they've got press release, news article, and a front page news article, which essentially have a title on a body and nothing else. Why are there separate content types? I don't know. But I'll see this quite a lot and it's not just one or two. It'll be proliferated. So I'll see multiple content types that essentially have the same fields in them, but in a slightly different order where they're doing slightly different things. At the end of the day, they're just being printed out into different lists, into different views. In my opinion, that makes things a lot more complicated. So you should think about creating functional content types. So if you've got a news article, just use a news content type and then use taxonomy terms or just fields to sort of segment them into different places. So CSS JavaScript navigation. Amazingly, I see this turned off all the time for some reason. So what this does, if you don't already know, is it takes your styles and your scripts on your sites and it compresses them down to one or two files. Which is great if you've got running a lot of modules. If you're running views and all the other modules associated with that, you can look at the page itself and you can see about 15 or so JavaScript files. You turn on the CSS JavaScript aggregation and they get reduced down to a couple of files, which makes sure it has loads of really good benefits. My only advice here is turn it on before you go live. If you turn it on production and it somehow breaks because there's some weirdities in the aggregation going on, that's sort of embarrassment really. So just turn it on in preparation for go live. Just a little note on when you're editing content. So I see this quite a lot where I'll go to a node, I'll click Edit and there'll be 50-odd fields all on a big list with no sort of differentiation between what they're for and what they're doing that's just a big list of fields. A content type can be quite complicated. If you look at an event, you've got the venue and you've got the times and all sorts of stuff. If you use the field group module, you can split those into sections which makes editing content a lot easier, which you also try to avoid using a limited cardinality where you just add another one, add another one, add another one, mainly because that just pushes the length of the page up. We always think about the interaction of the users with the site. Drupal has a sort of a bandwidth reputation of being unusable and I think that's sort of where this comes from. A couple of things to watch out for as well. If you're making a gallery, my advice is to create a gallery content type and an image content type and then link the two together rather than allow users to add multiple images in a field inside a gallery content type. Mainly because saving that page can be quite complicated. I have experienced just recently actually where I had to increase the PHP file upload limit to about 200 megs just so we could save a single page, which is insane. That should never be that high. Permissions. Drupal generally has a bad rap with usability. So what we tend to do is give people the minimum they need to do their jobs which makes the user interface and what they're seeing in front of them a lot easier which is especially important for new users because introduce to a new system if you're presented with the views UI system. I don't know what we would do with that really. So try to hide a lot of the admin stuff away from people. But also count that, don't have too many super-usic accounts. Drupal is actually quite bad at logging what people are doing so if they're deleting nodes or deleting users it creates an audit nightmare because you can't see what people are doing. It's just sort of restrict people down to what they have to do. Peachby filter. Do I need to say why this is bad? I do see this turned on every now and then. Trying to unpick a view that's got a Peachby filter code in it can be fairly complicated until you know which bit of the views UI you need to click on to find out the right bit of code that's been executed at that point. Basically, if you need to override anything in Drupal you do it the right way, use hooks, use preprocess hooks. Do it as it should be done. Renning cron. So in Drupal 6 there's a module called poor man's cron. That was sort of ported into Drupal 7 so you can get your users to run cron. I would suggest you don't do that, especially on big sites because every now and then a user will get a 5 seconds, 15 second page load, not particularly brilliant and there's no need for it really when you can run it behind the scenes. We use this module called Elijah cron which helps split the cron into separate bits. So if you've got, for example, caching you can set the cache to be cleared every hour and the XML site map, for example, to be recreated every day. There's no need to recreate it every time the cron runs or things like that. Or you can check that it's even viable every cron run. So this is a graph, this is time of execution before and after I turn on the Elijah cron on a site and just shows you how much of an impact it has on what we're running. Updates. So obviously when you're updating a site you throw your modules in there but that's not the end of the story. It's essential that you run this update.php or as an alternative update db. If you don't do that you can need problems. So let's say, for example, that you've got an update for a module and that adds another column to a database table. Not necessarily a problem but if you start, if that module then relies on that column being present and you don't run this step then you're going to lead into areas and things, weird things going on on the site. So this is one of the things we always check for when we're doing an audit of a rescue job and it's always, always, always there. So it's probably why it's a rescue job is because of these problems basically. Sort of a little thing really is if you turn off a module and install it, especially if it's not needed, this is another screenshot of a rescue site. This was about 50 modules long. So it obviously installed the module, had a play, turned it off and just left it.  Not necessarily a problem but I don't need to be there. So the only install hooks will delete the tables and get rid of all the old stuff that isn't needed. So just before we finish, a few control modules that are useful. Or need pointing out. It's over with other views. It's now in triple eight. But I do see them being used in weird ways. So I'll see. Instead of using the views arguments to make a list of news items with different taxonomy terms, they'll create a new view for every taxonomy term changed. Which means in your admin interface you've got hundreds of views listed out in a big row. Not particularly brilliant to administer, but it helps you if you understand how views works and use the right context filters and things to produce the right content. Remember also about views caching. You can cache views, but be careful about caching. If you've got a view, for example, that produces user content, so content delivered for that user, and on global caching, then the first person that sees that view will be rendered for that user. And the next person that sees that view will be rendered for the original user. That was a complicated problem that we found recently. But basically people were getting access to night pages because they were trying to go into the wrong user account page. Not a particularly huge issue, but fairly easy to solve. Also views is quite powerful, but remember there's a right and a wrong way to override it. The wrong way can easily cause errors in security holes and things. Views is basically a portal into your database. So if you don't escape things properly or create a view that's quite fragile, then the second you change anything on the site, that's going to break. It's not going to be happy. Path Auto. Amazingly, I've still seen Node 123 with paths out on the internet. Path Auto is really used to use, install it and it will take the title of your node and make it as the URL, which means you get nice, friendly URL paths instead of just Node 123. Context. So this is sort of a module that reacts to different components based on paths and views and taxonomy terms and stuff. But in my opinion it's a much better, a much more finessed controlling of the block placement in Drupal 7. For example, if you put in Drupal 7 in a block interface, if you put a block in a region that it's there for everyone, you can ever change it to a different region with context. It will only appear in that region if the active context is present and you can also change it into different regions as well. The good thing about context as well is that it's exportable. So you can set up all your block placements and export them as code into things like features, which I'm going to come onto. But it basically means you can recreate the site again on your dev environment without too much trouble. Advanced aggregation. So the CSS and JavaScript aggregation, this is another layer, isn't necessarily plug-and-play after a permit, but it can be useful in reducing the size of your CSS even more than it previously was. Also g-sits the code to make it easier to transport. UI modules. So lots of modules come with these UI modules. No need to have them on really, especially in production. I mean, I said earlier that the UI system is quite complicated for any user, so you can just hide that away from them. I don't need to say that. Develop. Lovely module. Really good in development when you're producing a site and writing code. Why would you leave it running in production? I don't know. It has no added benefit that I can see. Also DPM.  Our Jenkins code analysis tool actually scans for DPMs in the codebase and will fail the build if it finds any. Because basically if you have those in your code you can turn develop in your site or break in interesting ways. Stagefile proxy is a nice way of working locally without having to download the entire user file structure. Especially if the user file structure is 80, 90 gigs, there's no point in waiting all afternoon for that to download. You can just tell them in this module and you start downloading the files as and when they're needed. Obviously no need to have this on in production, so turn it off when you deploy. Finally, features. Lots of different things can be packaged into features. I won't go too much into the ins and outs of how you do that, but it's a good way of packaging things together. The idea is to package like things together. For example, if you've got an event, content type, then you might want to package the view or some context with it as well so that everything acts as a single entity. Spotting problems. This part isn't about pointing, sharing, basically. It's just to show how easy it is to see problems like the ones I just addressed on sites without having to log in or do anything, just looking at the source code. For example, opensource.com. JavaScript and CSS aggregations turned off, but not CSS. I don't know why. They use the Panopoly distribution, which means that their modules are in weird places, but because the CSS aggregations turned off, I can see exactly where each module is stored, so I'm not particularly brilliant. Let's just go into that for everything. If you look at the changeload.txt, it says it's running Drupal 7.24, which is pre-Drupal Armageddon, Armageddon. I'll leave it to you for a user exercise to see if that's actually vulnerable. Belgium.b launched quite recently, really, and it does loads of stuff in the right way, but for some reason, they've got CSS and JavaScript aggregation turned off. I'm not sure why. Maybe it's indicative of why there's been a lot of downtime on the site recently, because they're trying to come with added traffic. It does a load of stuff right this site. It's got changeload.txt isn't there, and all the sort of right things are in place. I've just gone into the Drupal showcase and found this one. It's quite easy to see. This is a Drupal site multi-site setup. I'm not sure if it's multi-site setup itself or if they just stored files in a different directory, but it's easier to spot this kind of thing going on the internet.   There's no path auto.  If anybody knows who runs that site, just get them to give me a shout. It tries to be up the wall, because every time there are news features, every time they create a new news item, and they share it on Facebook, that link is just no-rhydex, why is it? It's brilliant. There we go. Just some top tips to take away with you as we finish. I think they're slightly over on me. Essentially, have a GoLive plan. Turn on JavaScript aggregation as you go live. Before you go live, sorry. Think about turning off modules. Think about uninstalling things you've played with and didn't quite work. Internally, think about the experience of your users, including all of your content editors in your site admins. Don't try to massively overcomplicate simple things, so coding example there, but if the user wants to do something, don't get them to jump around different hoops. Try to get them to do it in one place, and then whatever they've done there should be pulled into different locations. I have seen people create a node at a single page, and then they have to go somewhere to put it in a block and then somewhere else to put it in a menu and just have it on the same page. Don't use specific templates. Try to generalise your system. Generic templates are much better. Think about the long-term life of the project. Don't think about getting it launched. Think about updating it and maintaining it in the future. Any changes you might have to make in the future. Fundamentally, learn the system, really. You're using Drupal as a tool, so understand the ins and outs how it works and how you override anything. That's essentially it. I think we're massively over, but any questions? Yes, that's right. It was a third-party site from another agency, and that was the first thing we did, was say, right, you've got user files in here. Let's get ignore them. There's no need to have them in there. Sorry? Things like... That's not a bad idea, actually. Because it can't be deployed as well. In terms of the CSS JS application here, I think there were a couple of cases when somebody tried to switch it on as per whatever it is, and management and whatever, go with the idea that you copy everything at once. Of course, the reason it didn't work was that somebody's CSS file or some JS file was badly formatted or... That's generally the problem, isn't it? So, is there a good option for finding... So, if you upgrade your JS and it breaks, as I was told, of finding the problem quickly without having to go from any bucket? As part of our Jenkins tool, we use JSLint. Which does some JavaScript checking to make sure that everything is syntactically correct. But I'm not quite sure here you'd check to see where your problems are. Presumably, it would be from your custom code that you're entering, rather than from anything else. Right.


addressing another concern for families, prices. The more the more price pressures are going to ease as things begin to move. In the meantime, I've used every tool available to address price increase and it's beginning to work.   Take gasoline and gas prices. Last week, I announced the largest ever release from the United States Strategic Petroleum Reserve to increase the supply of oil and help bring down prices. And China, China may very well do more as well. They haven't done it yet. I just can't get over the voice. It almost sounds like he's possessed by the ghost of Larry King.  It came down two cents. That's it. Until the average person, they're not even going to see that.


to reflect on the introduction of the feminist foreign policy resolution by representatives Frankel, Lee, and Kamlaugher Dove. This bill, although highlights many points of peace and diplomacy, including the necessity for the US to adopt a feminist foreign policy and the support of adoptions that policies that promote gender equality and women's and girls' participation in public life, including education, health care, and economic opportunities. It also includes women's quote unquote equal participation to the military and public office. So I just wanted to take time to reflect on one of our past feminist foreign policy project webinars in which we had the opportunity to be in conversation with Dr. Tithy Bhattachara, an associate professor of the South Asian History Department at Purdue University, where she talked about what a feminist foreign policy looks like to the global South. And she described her feminist foreign policy vision as no feminist bombs, no feminist drones, and no feminist war. Feminist foreign policy does not look like women being put in the positions to push the button and bomb civilians or enact imperialist agendas. Simply by putting women in positions of power does not mean they are going to act in feminist agendas. As Tithy describes, feminist foreign policy does not mean putting women in the power of destructive, imperialist companies, departments, and sectors of society that promote the war economy. This is our midday webinar reflection. And we will continue to hear from global feminist voices while also uplifting online actions that we can be taking in support of IWD and feminist anti-war organizations. As we hear from speakers today, please send your thoughts and reflections and questions you have so far during IWD. If we have time at the end, we will address the chat and we will have a little bit of a discussion at the end. But first, I would love to introduce our first speaker, Sheldra Patel.  She is the author of the International Best Seller Migratude, which is currently taught in over 150 colleges and universities worldwide. Her poems have been translated into 17 languages. The Noble Woman's Initiative on her Patel with a global feminist spotlight in 2019. You can follow her on Twitter. Her handle is S-H-A-I-L-J-A-P-A-T-E-L. Take it away. Thank you for spelling that out, Grace. I'm so happy to be here in this feminist space, especially on IWD, when we're seeing all these corporate messages. So I'm going to kick things off with a poem titled, Letter to My Sisters in Love with Soldiers. And I want to thank my friend, Jeff Peterson, who was the first US Marine to refuse to serve in the Gulf for his work, which was a key resource. And I want to thank Stephen Funk, Amy Allison, Camilo Mejia, Erin Watada, and hundreds of other members of the US military who have refused to main murder, rape, and torture on the orders of their government. I beg you not to close your eyes. Do not turn from the faces of women, raped, tortured, beaten, murdered by US soldiers, from Manila to Mombasa, from Baghdad to Bangkok. Do not tell yourself your man is different. Somehow mysteriously absent when they bomb civilian cities, plow living armies into highways of death. Do not buy the deception that he has no other options. Post on your mirror and his, websites and phone numbers of veterans for peace, conscientious objectors, books, not bars, refuse and resist, answer, not in our name, every army battling for freedom and justice right here. Next to it, put a list of what's available to your man that is not to a 16, 26, 46 year old man in Palestine, Sierra Leone, East Timor, Laos, Congo, Haiti. One, a passport, key to the world, an American passport. Two, the right to reside, to build a life that will, likelier than not endure. Three, 48 contiguous states that he can work in, cross borders freely, no visas, checkpoints, barbed wire. Four, the right to earn a living any way he chooses. Five, non-profit agencies, government agencies, billions of dollars of program funding. Six, libraries, seven hospitals, eight, the internet. What would he say now about his lack of options to a 14 year old in Gaza, a nine year old Kalashnikov toting orphan in Liberia? Spit out the myth that you are guardian, safe deposit box for his humanity. Exercise your own humanity. Remember Audre Lorde, this eye is not for weeping, though tears are on my face, it must record everything. Tell him you would not touch a man who shrapneled your sister, bombed the clinic that treats your mother's diabetes, sliced open the water mains to your neighborhood. He cannot do these things across the world, return and reach for you with shaking hands. Tell him you know about R&R for troops, underage girls, barely grown women, shipped in like crates of chilled Budweisers.  How in church on Sunday, he will hear that families and girlfriends back home cannot understand the pressures he is under to defend and protect. So it's best not to tell. How he will come to believe it. Make his eyes meet yours. Tell him you have not spent years learning to love your body, only to open it to sperm laden with hidden minefields of dioxins, alpha particles, untested vaccines, waiting to explode a patriotic rainbow of tumors, malformations into the organs, bones and blood of your unborn children. Read the Defense Department's four year study on significantly higher rates of heart and kidney defects in children of Gulf War veterans. Factor skin lesions, breathing problems, incipient blindness, AKA Gulf War syndrome into your dreams of the future. Memorize the names of all 253 byproducts of depleted uranium. Their radioactive half-lives, the cancers attributed to them. You will need this information. Imprint two words on your brain. Fort Bragg. Four women killed by soldier husbands in two weeks. Familiarize yourself with figures on violent assault of military wives and girlfriends. Triple the civilian rate. Know that calls to violent hotlines spike just before deployment, right after men return.  You need all of your heart and he needs all of his. Your hearts have work to do. Thank you. Thank you so much, Shalja. And if people want to write reflections, thoughts, feelings, anything in the chat about that amazing poem that re-inscribes us the meaning of feminism, peace and justice, and how that does not include violence, war and punitive action, we would love to hear your thoughts and reflections both about that and anything else going on on IWD today. But now we are joined by Samantha. Samantha Ware is a Colombian born peace activist. She joined CodePink's Latin America team after years of working alongside Colombian frontline defenders who risked their lives to protect the environment, water sources and human dignity. She is deeply inspired and energized by those building alternative economic and social models rooted in care, reciprocity and solidarity. Samantha has lived in the U.S., Italy, England, Colombia, Chile and Cuba and hopes to connect, expose and mobilize around the impacts the U.S. military industrial complex has at home and abroad. Welcome, Samantha. Thank you, Grace. And thank you for that beautiful poem. It was so powerful, just so spot on. I just want to, yeah, thank you, Grace and Issa for organizing all these wonderful activities to commemorate this day. Today for International Women's Day, I would like to uplift and honor the struggles of all women, especially indigenous women here in North America as well as the Global South who have been putting their bodies on the line to not only fight against the interlocking systems of patriarchy, colonialism, imperialism, but are also fighting to save our Mother Earth from environmental destruction and resource extraction by capitalism and greedy interest. So I just want to talk a little bit about Peru and the situation there right now because I think it's very relevant and important. And Peru, we're seeing that indigenous women are taking a leading role to fight for justice and to preserve their land and for a return to democracy. So for those who might not be familiar with what's happening in Peru, there's been a political crisis that started about three months ago after President Castillo, who was the first peasant person, first teacher to ever become president and was ousted from power with the backing of the US government. People, especially indigenous people, rural farmers have taken to the streets since December 7th and over 60 people have been killed by the Ku government. The US government is very complicit in these assassinations as they provide about $48 million in military aid to Peru, which is then used to repress and kill protesters. I think it does a really important to mention that there is big economic interest in Peru. Peru has one of the largest reserves of lithium. And so we're having, we have this petition which we've included in the chat calling on Biden to stop military aid as this aid is used directly to repress indigenous people and other people who are taking the streets to protest this government. The Peruvian government, the current Peruvian government has had multiple meetings with US government officials to discuss business interests in the region. And it is no coincidence that the majority of state balance has concentrated in areas where indigenous peoples live and where there's a huge concentration of natural resources. As I mentioned earlier, including lithium, which has become an essential resource as we transition to this idea of clean energy but clean energy at what cost. So this idea of seeing the land as nothing more than something to be exploited is incompatible with indigenous views and beliefs. And this is why we're seeing such strong resistance especially being led by women. And this idea that the US government and US corporations have the right to these resources go all the way to the Monroe Doctrine. This year is the 200th anniversary. So I just wanted to share that for this occasion of the 200th anniversary of the Monroe Doctrine. Our Latin America team is working on building a forum here in DC entitled in search of a new US policy for new Latin America and the Caribbean bearing 200 years of the Monroe Doctrine. So what we want to do and this forum is send a very clear message that Latin America and the Caribbean are no one's backyard, including the US. And that we need policies that are reflective of the demands of the people of Latin America and the Caribbean who want to create a zone of peace. At the forum will be at American University on April 29th and it will feature panels on resistance to militarization, policy on immigration, US interference and trade policy. And this forum is going to be a combination of learning but also action. So we're having an advocacy day on the 28th to advocate for policies that foster cooperation and mutual respect towards our neighbors in the South. And registration is open now. So people can register here in the link. He said share on the chat, thank you. And we do also have other campaigns and other upcoming events that people can get involved and including removing Cuba from the state sponsor of terrorism list which is a campaign that we've been working on for a while. Cuba was placed unjustly on this list by the Trump administration. And the Biden administration has kept Cuba on this list. So on Saturday and Sunday, the Saturday and Sunday if you're in New York City, there will be a conference on Cuba. And then on March 15th and 16th, we're going to have a day of calling the White House to demand the Biden remove Cuba from the state. And remove Cuba from the state sponsor of terrorism list, a list that Cuba should never have been put on because it does not sponsor terrorism. It actually was hosting the peace talks between the Colombian government and the guerrilla group, the FARC when it was placed on this list. So that's all I have for now. Thank you so much, everyone, for being here and for all the amazing work that we all do. Thank you so much, Samantha. And all of those actions are in the chat and all the actions from today and from this morning will be sent in follow-up emails. So if you did not get them or you don't save them, they will be around, so don't worry. But we are now going to welcome Wei Yu. Wei is CodePink's China is not our enemy campaign coordinator. Wei was born in Tahin, China and has lived in the US since her high school years while in university pursuing her degree in sociology and international studies. Wei conducted an independent research project on neocolonial biases in global North academia. Wei has worked with several non-profits serving women, racial minorities and other progressive causes. Welcome Wei. Thank you so much, Grace and Hi-Esa too for facilitating this webinar. I'm sorry I have to train you on my phone right now because I actually just came from an action that I did today. So that's why I'm just in the car on my phone. But I'm just really happy to be here and thank you to everyone who made it here today to hear about our International Women's Day of Lifting Women's Voices for Peace and Diplomacy. So my name is Wei. I am the campaign coordinator for China is not our enemy at CodePink. And so you might have seen us in the news very recently, maybe last week, just a splash of pink in the House of Congress with our DC organizer, Olivia DiNucci who disrupted the first public hearing of the new House Select Committee on China. So we certainly made a splash which is very CodePink that's like our honorable tradition. But while watching the live stream of that meeting, of that hearing, I also saw at the beginning, so the committee was chaired by a Republican, Mike Gallagher from Wisconsin and the highest ranking Democrat on that committee is Representative Rajar Rishman Notti who is Indian-American. And then in his opening statement, he actually mentioned that while we are having this quote-unquote strategic competition with China, we shouldn't encourage anti-Asian racism which I think is really ironic. As was mentioned in our morning webinar and maybe you've seen our article published yesterday, this International Women's Day, we are holding some people accountable including Victoria Newland who is the Under Secretary of State as a diplomat. Her job is to be diplomatic and maintain peace but then really she's responsible for provoking and also prolonging the ongoing war in Ukraine. So it doesn't matter that we have a woman being in such a high position of power if she's not a feminist. And similarly, I think in this case, it doesn't matter we have Asian-Americans in the House of Congress if they're still pushing for policies that fuels anti-Asian racism in this country. And we talk a lot about how we associate this anti-Asian hate into our campaign because we know since the pandemic started, especially, there's just anti-Asian hate crime in the United States has just soared because China and Asian-Americans are scapegoated for the pandemic. I also remember being really scared from reading all the incidents of attacks just in the street. I remember I was in college at the point and every time I go outside, I would make sure to wear like a shirt with giant letters of my university of it, just go to you so that people can realize, okay, maybe this person is just like associated with an American institution, so maybe that's less of a foreigner. It sounds very silly right now, thinking back, but really at a time I was just terrified for my personal safety that I had to think of like every single detail about myself to keep myself safe. And in addition to all these anti-Asian attacks in the street, we also see scientists and students of Chinese decent being charged with false espionage, charged with false espionage charges and they are arrested, they are torn away from their family and family are just like devastated by legal fee as well. We actually have a upcoming webinar on March 15th, so a week away from today at 8 p.m. Eastern time and 5 p.m. Pacific time, focusing on how US foreign policy on China has interacted with anti-Asian racism. So if you're interested, I really suggest checking out that webinar and we have the webinar is co-sponsored by US-China People's Friendship Associations, New England chapter as well as the Institute for Asian American Studies at University of Massachusetts Boston. So very excited to be on that panel with some other amazing panelists. In addition to the Asian Americans in our country who's already bearing the brunt of the attack on China, we also see that in this preparation for a war with China, the US is also militarizing the Asia-Pacific, hurting the people in the Asia-Pacific. We have an ongoing campaign in Guam. So with the construction of a new base in Guam, it's destroying cultural artifacts and it's contaminating people's drinking water. We have a petition. Thank you so much, Issa, for putting it in the chat and also there's also increased militarization with Japan in the Philippines. We know recently the US just got access to four new bases in the Philippines and also with Red Hill, the oil spill in Hawaii. So the people of the Asia-Pacific also bearing this cause of war as the US is driving hate, driving fear with China. Additionally, we have another ongoing campaign about this documentary that was made about how China lifted 800 million people out of poverty and this documentary was made by American filmmakers but it was censored by PBS because it's just not okay to talk China in a positive way anymore. So we are also asking people to hold screenings of this documentary in our own community to expose this hypocrisy of censorship and also just telling the truth and starting conversations about China. Thank you so much, Issa, again, for posting the link in there and thank you all so much for being here. If you would like to learn more about a campaign, just visit Coating.Works.China and also we are on Twitter at China's Not Enemy and again, just thank you, thank you, thank you and happy International Women's Day. Thank you so much Wei and again, all of those actions will be in the chat and if we have time at the end of this hour, we'll be doing some actions together online in community with one another. But before we get to that, I am very excited to introduce Shea. Shea is based in Chicago, Illinois and is a national organizer with the divest from the war machine and coping Congress campaigns. Shea has worked on campaigns related to environmental justice, food access and nuclear weapons abolition. They also have a background in research and we're a next leader with the National Priorities Project at the Institute for Policy Studies prior to coming into Code Pink. Welcome Shea. Thank you, Grace. I'm like, I wish I'd taken out that intro because it's an honor to just be on the Code Pink team and wrapping the divest campaign and all the rest feels a little embarrassing but I'm just so grateful to be here and to be following such powerful speakers who are grounding us in why we do anti-war organizing and how it's like fundamentally rooted in feminism and the importance of this day to just acknowledge the role of women in our movements for peace and justice. So I'm just gonna talk a little bit about the divest from the war machine campaign, touch on how it relates to this day and the role that I believe this campaign has within the larger anti-war movement and strategic place. But I'm gonna keep it kind of brief just because unlike some of these other campaigners, I have fewer specifics and more just a strategy to discuss and to plug with you all and then we can just keep it moving to the next amazing speakers. But like Grace mentioned, I'm Shea, you stay them or she her pronouns. And I am the divest from the war machine organizer with Code Pink, which means that I get to work with different activists, organizations and formations of people across the United States who are creating running city specific divestment coalitions that are aiming to divest their universities or pension funds or cities operating budgets or religious institutions operating budget, like whatever public pot of money that they have a stake in, they're trying to pull that out from being invested in weapons manufacturers. And for a list on, I don't have visual aids, but we do have a list on, thank you so much, Issa. Yeah. If you go to the link I just put in the chat, we have a list of the top 100 weapons manufacturers in the world as of 2022, I wanna say. And when we're organizing these campaigns, our ask is really simple. We just want the institutions that claim to represent us that are using our taxpayer dollars or our tuition dollars or what have you to pull their money from weapons manufacturers that make a killing off of killing. So whether that's Lockheed, Martin, Raytheon, Boeing, Northrop Grumman, companies that produce nuclear weapons, companies that produce conventional weapons, we want our money to stop being plugged into those companies and just enhancing their ability to create weapons and turn a profit. So I think I'm gonna keep it short in why we're working to divest because I feel like folks on this webinar have a pretty good basis in it. We know that divestment is a really powerful anti-war tool and these weapons manufacturers, these war profiteers are a central cog in the military industrial complex. They thrive when we are at war. They benefit when we're off in war. They fund our politicians and I don't know, like related to International Women's Day. We know that some of these companies with bigger publicity budgets also do a really good job trying to loop young women in, young people, offering engineers roles when they're graduating from school. They take really talented folks who need work and they pull them into this industry of death and violence and beyond that, they just bolster this entire war economy. So when we're working on divestment, we're working on pulling funds, assets, resources out of this industry. And that is what the Divest Campaign within Code Pink works on and the Divest Campaign at Code Pink is part of a larger Divest from the War Machine Coalition which we co-founded in 2017 with World Beyond War and some other amazing anti-war groups. We currently have over 70 member organizations from across the planet. So when we talk about divestment, like I was saying, we're talking about pulling money but not only money but public support and endorsement of the self perpetuating cycle where weapons manufacturers use their profits to fund politicians' campaigns, politicians and vote for wars, they increase the Pentagon budget. You know, there's gonna be a new Pentagon budget likely released tomorrow. It's gonna be the highest ever. And these politicians profit when they do that, these companies profit when they do that and us, those people who are looped into this cycle in some way without our consent, we don't have too many disruption points or I guess we do have disruption points because we're organizers and activists but we're not given those points and divestment is one of those ways that we can kind of sink our claw into this cog. So partially why divestment is a really powerful strategy is because it works on pulling funding out and we also know that the funding, I'm based in Chicago and one of the campaigns that I organize with is the Divest Chicago Coalition. We're actually meeting tonight and our city's operating budgets and every pension fund in the city is invested in weapons manufacturers. And we are working to pass different types of legislation in the city to prevent those sort of investments. And our strategy there is to fold, you know, one, like I was saying is to pull the funding out itself but then another thing is to denormalize we're profiteering and to shine a spotlight on the stock market and all the different mechanisms we have going on in society that enable these companies to be concentrating wealth and gaining power. Divestment helps make the war machine seem more concrete by showing its pervasiveness in every institution, all these financial institutions that we rely on. And so we are able to kind of pinpoint where and how that's happening and it exposes, yeah, it exposes the influence it shows us that things are all connected and it starts stigmatizing companies that are complicit in the war economy and that we are invested in. As we scale up these divestment campaigns from city to city, and there are several cities and towns that I've been working with on these different campaigns and people who are organizing around this in different ways, not with me, but other on accord. We are able to mount the economic impact of these campaigns and we're also building a larger social case and a more visible movement against these investments. It helps revoke the power of those who profit from war making and it gives us a lot of agency as people, as people who may be pay taxes, as people who live in a certain town or who are members of a community to say that when cities invest our taxpayer dollars into weapons companies, it's a direct contradiction to what their roles should be. Our cities, our communities should be protecting the health and wellbeing of its residents and we know these companies aren't doing that. So it's powerful to be organizing around divestment. It's also really powerful to be organizing around reinvestment and in hand, which can be harder in ways just because there aren't as many legislative mechanisms there, but I think that's also a really exciting place of growth that we see happening. Yeah, and I think I might just keep it short just because I don't have an action step tonight, but if folks just wanna visit us at divestfromwormachine.org, I'll put the link in the chat for that. And you can also just get there through the Code Pink website. You can see different cities where we have divestment campaigns happening. If people are interested in getting involved, you can always email me or if you're doing similar organizing and want resources or support, I'm always just really interested in growing this powerful grassroots movement. And yeah, especially when we're doing it in partnership with our siblings in the struggle who are involved in direct action, who are involved in maybe legislative organizing, we're doing this at so many different levels and we know that power and momentum is building and that gives me a lot of hope. So that is my spiel about divest. I really appreciate everybody's time and all the amazing work that we're talking about today. Awesome. I think that was a perfect note to carry on International Women's Day and our group of speakers. So thank you so much, Shay, for not only talking about divestment from war and weapons companies, but also reinvestment in community and peace and healthcare and education and everything that we need to support ourselves and our families. So we have a little bit of extra time in this webinar which is perfectly on schedule to do some online actions together. Also, if folks have any questions, comments, thoughts that they wanna throw in the chat. And if any of the speakers want to reply to them, want to have their own questions and thoughts and talk about their reflection of International Women's Day, I invite you to put them and type them in the chat. Right now I am going to put in the chat a series of online actions that we have talked about both on this webinar and in the webinar this morning that folks can take and we can be taking in community together. But I see one individual has their hand raised and if they want to share their reflections, I invite them to. I can speak. Yeah, you're good. Yes. Hi, hi, hi. I am so happy to be here and I wanna congratulate and say more power to the woman. I hope there will be a day that we all can see soon that we don't have to just remind ourselves about women's life one day a year, it should be every day. Anyway, what I wanna share here, I was, I did join the meeting in the morning. I was listening. I was very, it was very powerful talks by everybody. I happen to consider myself as a citizen of the world, but I was born in Iran and I'm following the news of what's going on in the last four months. I am a little bit disappointed because I didn't hear from the organizer of this program on speakers, anyone speaking any word about Iran, especially as we know in the last 40 years, women have been struggling for their rights. And today especially, we do not mention that knowing that there has been a continuous effort by women in Iran, especially in last three, four months by a younger generation of women. It's been international news. I am puzzled and I'm deeply saddened the fact that there was no mention of that. And I'd like to understand why that is the case. Is it a very, is it accident or is it really systematic? And there's, you know, we talk about media, for example, they don't tell the public all the truth and the news. And then I feel that it's happening here in different environment. And I'm very scared to witness this. I would like to, some of you who are very active in with Cote, to speak your opinion about women's right in Iran. What's the Cote thing position? Why we see not much support or publicly announcements by Cote thing about this situation. I mean, so many people in the public, even the media that they do not want to cover it being forced to speak about what's going on in Iran. So, I, again, I am interested to hear some of you if you could, your opinion about this situation in Iran and why there is, I correct me if what I'm experiencing, I hope I'm wrong, that's all, peace. Thank you so much for speaking your perspective and your understanding. I actually do want to invite you, me and Issa produced a radio show that was put out last night and today dedicated to International Women's Day and dedicated to the history and the ongoing events that are going around the world today. And I do give a large segment and multiple quotes from organizers in the current Iranian feminist uprisings as well as quoting many different interviews and publishers and academics who are talking on the subject because I knew that we did not have speakers on it today because right now we do not have an Iranian, Iranian campaign coordinator. And we, because we have a lot of other campaigns going on and other coordinators, as you've seen on the first morning's webinar and this one are dedicated to many different ongoing actions. I wanted to still make sure that the current organizing around Iranian feminisms and Iranian uprisings was discussed during International Women's Day despite not having the current campaign and platform through CodePaint currently, we are still in solidarity with those organizing both on the ground and within the diaspora throughout the world with what has been happening currently but also with what's been happening for the four decade long feminist uprisings in Iran. So I definitely understand your perspective and I apologize that we currently do not have a campaign dedicated, but we do have a resource page on our website dedicated to Iranian resources and actions and events. And we are always on our social media both boasting and supporting those actions from other organizers and other campaigners. And I did include it in the radio show last night because I knew that we did not have that contribution today. So I understand your frustration with the mainstream media and not including this in mainstream versions of International Women's Day and in the conversation, but I hope that that contribution and ongoing contributions to this organizing and this uprising is ongoing and I will make sure to send those resources that I included in the radio show yesterday and today will be included in a follow-up email with the rest of the actions. All right, awesome. So yeah, I put the actions that other campaigners have spoke about in the chat. So if folks wanna go ahead and take some time now to complete those actions online, we will be doing them together in solidarity and community. And if folks want to continue to send their own reflections and their own thoughts today with what they've seen both online and in person, I think Arzang set it off perfectly that although we are representing women and International Women's Day throughout the world, sometimes those people that are being affected the most by the war economy and by militarism and policing and surveillance are not always heard. So if you have other actions, other events, organizers, academics to uplift, please also put them in the chat and we will include them in other follow-ups as well. I might have gotten lost, so I'm gonna resend the actions. And yeah, if other folks have questions, have thoughts, have reflections, or if any of the speakers want to speak more on any resources they shared or any other reflections they had informally on the day, we invite you. But this is now just an open space to be doing those actions. If you do want to speak or do have a reflection, please first put it in the chat and then we can talk about it and discuss it. Also as a reminder, the events that I put in there include many different actions. We have the call the White House and tell Biden that Cuba is not a sponsor of terror action. Ask Biden to join China in promoting peace in Ukraine. Tell Congress to stand with peace and cooperation with China, nor will we China cut the Pentagon action. Tell Congress to investigate the harm done by the US military in Guam. Tell the JNF and JUF to stop funding birthright. We were going to have an individual from our Palestine campaign come on today, but she fell sick. So this action would really support her campaign. I'm gonna copy and paste that individually. And tell the Senate to ban stock trading for members of Congress. This is a divest action that Shay talked about earlier. So yeah, as I said, this is an ongoing space to be doing online actions together and to be in community with one another. So thank you for completing these online actions. And if you have any other reflections and thoughts to please put them in the chat. Also, Issa, do you wanna speak on the hashtag and photos and videos that we've been getting throughout the day? Yeah, thank you, everyone. Great, great speeches that we heard and great insights for some of our participants. I just wanted to remind folks that if you attended an in-person action today or if you plan to attend one, make sure to take photos where pink continue to use our hashtag, hashtag IWD and war along with the trending hashtag right now, hashtag IWD or hashtag International Women's Day. We will continue to uplift these photos and visuals that we are seeing on our social media as well as gather these photos for our end of the week report. You could also send them to me at isabelleatcodepink.org and I'll be collecting those photos and making something really beautiful out of it. So if you have anything that you've attended today or later on in the day, please keep in contact with me and we're more than happy to share this and keep the movement going on past IWD. But as for now, great webinar, thank you everyone. Grace will touch a little bit on our final webinar that we'll be having later and some of the fabulous stories that we'll also be hearing from. Yeah, thank you all so much. So we will be having one more end of the day webinar just for reflection for thoughts and for ongoing actions. We have an event planned, we have multiple events planned across the country for March 18th, which is the 20th anniversary of the criminal invasion of Iraq. It is calling for peace in Ukraine, calling for negotiations and once again, calling for us to be in community as feminists, divesting from more, divesting from weapons companies and reinvesting in a peace economy and in healthcare, education and community. I did wanna end today with a few words. Jodi, if you wanna introduce this clip was in conversation with Alice Walker and we were just given access to the clip. So if you wanna introduce this or we can talk about it at the end of the day webinar. It's up to you, Jodi. Sure, it starts at 6.31 if you wanna queue it up while I'm talking. So just it was really inspiring. I just wanna lots of love to share Jeff for being with us today. Thank you, sister, miss you a ton. Thank you for during your voices you do every day to raise up the issues about women globally. You are a daily force for women and women's rights and against war and for peace. So deepest gratitude for all you do and for the team that shared all these issues that are so important that we understand the threads of war and how they're in our lives. So yeah, if you're ready, Grace, I think I cover most of the history of this and what we say with Alice, thanks. Grace, you have to unmute. IWD and war. Today as we share these voices that we're hearing from around the world. I am joined by two of my very favorite women, Alice Walker, storyteller extraordinaire, writer, poet, social activist and inspirer of our hearts and souls. Over the span of her career, she has published 17 novels and short story collections, 12 nonfiction works and collections of essays and poetry. I know they nourish so many hearts and souls around the world. And Zeynep Salbi, she's an Iraqi-American women's rights activist and writer. She's the co-founder and former CEO of Women for Women International and host of Through Her Eyes with Yahoo News. She is a humanitarian and also the co-founder of Daughters for the Earth, a tireless advocate for peace who stands deeply, who understands deeply the cost of war to women, unstoppable, both of these women. So it's so special to have you with us today. New Rock starts for peace in this over militarized world. Now you were both with us 20 years ago, this day, when we marched from Martin Luther King Park with 10,000 men and women dressed in various shades of pink. And Alice, thanks for dressing up in pink today. You both spoke at our rally and then we get down to the White House and it is fully surrounded by cops. We are blocked from going near the White House. Now, this is the first time in history this has happened. They are afraid of the voices of women. This never happened, hasn't happened since. So Alice is questioning the cops on the side and saying, why are you keeping me from being outside the White House calling for peace? My ancestors were slaves, they built this place.  And he says, I can't go home tonight and tell my wife that I didn't let Alice walk or be outside the White House calling for peace. So love prevails, women prevail. Alice, you were arrested that day calling for peace. Can you share any reflections on, why our voices for peace today are so needed and why it's so important and we need our courage, our hearts to be visible for those around the world that are suffering from US wars and weapons? Well, I think that we want to be happy. We have to resist. For me, resistance is happiness. I could not be happy knowing that children are destroyed, towns are blown up, horrible things are happening every second. And with my tax money, I could not. And so to see this brother in uniform, standing, trying to keep us out of the space we needed to be in in front of the White House was just intolerable. And our ancestors, his and mine, would not accept it. They would not. They knew we had to break through to each other and we did and he led us through. And he was able to go home that night and I'm sure his wife was very good to him. Thank you. Had you been arrested before? Was that your first time in jail? Oh no, no, I'm from the South. And also other, you know, anti-war activity. I was once arrested with Maya Angelou. That was very wonderful. I was once arrested trying to stop the flow of weapons to Nicaragua. That was good. The point is you have to make the effort. You know, as we see, sometimes you can't tell you made an effort because people don't seem to get any more intelligent. But it's left to us if we respect our own feelings and our own hearts to do what we can do. Thank you. Thank you. Sina, you've been to so many war zones around the world and worked with so many women in war zones. What are the costs that women bear of these wars? Well, Jodi just reminded me because 20 years ago was the Gulf War, was the second Gulf War. And that's, you know, there was a time in which, that was a time in which everyone was rallied together in unity and, you know, American politics, you know, to fight that war. And those of us who were demonstrating, and I remember demonstrating with Code Pink and so many other women, we were like ridiculed in the media. We were like laughed at. We were called all kinds of names. And that war, just, I mean, this is just one of war, just that war is in my home country, destroyed everything, an entire country, everything in my memories and many people's memories. And we are left with so many deaths, so many traumas, so many, it's born deformed because of chemical weapons, so many environmental damages that right now, the country has, you know, majority of its days, sandstorms and things like that, that people saying is climate change, climate change doesn't come on its own. It comes because we put poison in Mother Earth. It's, we are doing that work. And so it's disrupting honestly right now to sit on this day and see nothing has been learned from not only that war, but that war just captured all our attention at that time. But there's so many wars before it and after it and almost every single one leads us to the same place. Destruction of lives, destructions of countries, depressions of people, pain, and only few people get to make money and profits and prosper out of it. And more often than not, we come around and say, oh, so sorry, that was a mistake. And it just breaks my heart that we are not learning anything from it. So yes, women do pay the brunt of the calls for war, not only in terms of violence and in terms of displacement, but they're also resilient.  And so we're here to learn from the past and hopefully I just pray to apply it in the present because we're destroying the same, we're like not learning, it's a groundhog day, same destruction, same pain for humans, to humans and to Mother Earth.  Well, we're creating that, we are creating that. Thank you so much. They are. Yes, we aren't. Unfortunately, it's been our past dollars, but and it's very few people. So we need to know that it's very few that we are standing up against and we need to be vocal and loud and present. So thank you both for being present with us today on International Women's Day. Thank you, Jodi. We love you. We love you. Love you. Bye. Amazing. I'm so glad we got to end with that beautiful interview today. Thank you so much, Jodi, for sending that in. That was a wonderful ending interview and discussion and it really wrapped up, I think, what all of the speakers had to say both in this webinar and in the first. And yeah, if anyone has reflections or thoughts or feelings about that interview, I'm in, I don't know, I'm just sitting in a little bit. I texted my mom. I was like, Alice Walker's on the webinar right now. You have to get on right now. So yeah, if anyone has thoughts or reflections or connections to what you've been seeing today, please put in the chat now and a reminder that we still have one more webinar tonight for more reflection and more discussion with could pink individuals and global feminist voices. It is the same Zoom link to get on. You don't need another Zoom link. So yeah, thank you all so much for being here, being in community. Thank you to all of our amazing speakers for taking the time to write something, to talk about their actions and their passions and doing the most they could on this International Women's Day. I thank you all so much. Have a good day, everyone and I'll see you for the end of the day reflection. Thank you, Grace and Nisa. Thank you. Thank you.