Welcome to Semantic Site Architecture. Welcome to Semantic Site Architecture. In Semantic Site Architecture, we're going to talk about how to name things and how to respect the way things are already named. And so because we're talking about semantics, the format is going to be like a dictionary. A lot of the definitions, I got from Drupal.org slash glossary and some of them I got from a dictionary and then a lot of them I just made up so they'll seem really legitimate when they're mixed in with the other ones. My name is Jodi Hamilton. I'm the CTO of ZivTech, which is a Drupal agency in Philadelphia which I've been running for seven years, eight years. I'm a Drupal architect, developer, site builder, trainer, contributor. And the reason I like to do this talk about site building is that I think that site building is sort of treated a lot of times the Drupal community as something for beginners and not treated as something that you could really master and be a professional in. And I feel like because it's sort of easy to get started, a lot of people think, oh yeah, that's just sort of like a baby step, but what's really interesting is DevOps or like some serious back end coding. And to me, I'm really a generalist and I do all of those different things. And what I find in Drupal is that site building is kind of a very important part of Drupal. It's kind of what really makes the architecture of your site and makes the difference between good and bad sites most of the time. And it's really something that we need to be talking about at a higher level instead of just leaving for the beginners. And so the reason I got interested in thinking about semantics with site building is that semantics sort of, when you talk about the semantic web or semantic URLs, semantics really describes a system where you think about meanings and words. And when things make semantic sense, they kind of are really easy to understand. And when they don't make semantic sense, it's like you can kind of never understand them. So I see in a lot of projects where there were bad naming decisions that you can kind of never get past those bad naming decisions. Every time you're on a project and you wonder what this one section means with this strange word that no one understands, I have a very bad memory, so I have to ask the same question every time. If it makes semantic sense, I never have to ask a question. It's just obvious to begin with. So as long as things are making semantic sense, everything is very simple. You don't even realize that there's an issue. I also have this guy, Drew Plippi, which I will get to some of his features in a little bit. So I'm gonna split this talk into two sections, and the first section is about when we as site builders have to do the naming. And the second section is thinking about the names that already exist. So we actually do lots of naming as site builders, and here's just some of the things that we have to name on a regular basis. So, get some sparkles here. So these, we're constantly having to come up with names for things. And if you're leaving this naming up to the most junior person on your team, you're not necessarily going to get great naming. Or if you haven't thought about the fact that the names are actually very important, you might just think, oh, you just write anything in those blanks, and let's move on with things. But they're extremely important. So one of the main things to think about when you're naming something is consistency. So just imagine that you're naming a content type or an image style, or a field, or a view mode, or anything in the, or a view, or anything in the Drupal interface. You wanna pay attention to just regular grammatical consistency that your singular and plurals match whatever else is already there, that you use a consistent case, that your spelling is correct, that your punctuation is consistent, and that your use of abbreviations are consistent. This just makes things look more polished. But also, when things look polished, it gives people the impression that you thought about the naming. And that creates confidence in the people who are looking at this system, because people who don't think about naming, it kinda feels like they're not really thinking too hard about anything. Redundancy is another big problem in naming. So the example here shows somebody added a news content type and they added a description for it, a content type for adding news. You may as well not even add a description if your description doesn't give any additional information. The other way that you see people doing redundant things is the name of their theme, ACME theme. And then you have to use hook theme, ACME theme theme. And their link field is called link field. So it's like field data, link field, link field data. And then they'll make a view called the related content view. So it's a related content view view. You don't need to add redundant data. In fact, it's a problem in naming to put things that are redundant. So like if you had a child, don't name him Roger Child. Just go with Roger.  I'm just trying to teach some common sense here. I don't know. People call them ACME theme all the time. Extensibility is a big issue in Drupal. So a lot of times when we're naming things, the really difficult part of the naming is that what you're naming is going to change in the future. So you're actually naming a bucket. So this happens a lot of times with views. It happens with modules, with features. All different types of things like where what they're used for can expand. For example, you might make an image style that you call home page image style. But then next week you realize it would make sense to use that on the news page. So now you're using the home page image style, not on the home page. This happens all the time. But you can prevent that kind of thing from happening by thinking about it more when you're naming it. Because once you have the home page image style on the news page, every single time somebody has to look at that and figure out which image style to use or make some modification, they have to go wait. That's the image style? The home page one? Sure, that's right. It just takes extra time. And if you just name things right, things go so much smoother. So when you're naming something in Drupal, think about not just what you're doing right now, but what you're going to be doing potentially in the future. So this example is that some developer created a module called custom staff page filters. It's a custom module that provides a form alter function. A module is not a function. If you need a module to add a function, great. But don't name it after the single function that it has in it. How about naming it staff, or since it's used on the staff page, or filters, something more general that at least has the possibility, or I mean you would name space it with whatever your project was, but something that at least has the possibility to be able to expand. So like when you're naming features, you would want to name them, say you would name, if your site was called foo, you would have foo news, and foo user, and foo video, instead of just very specific things. Because you're always starting out, you're always, when you start out, you're only adding one thing. But a lot of times you are adding more. Another example of this is, you always find, oh by the way the reason that I have all of these thoughts about why things are so bad, is it like a lot of people in the Dribble community? A lot of my work is rescue sites.  And it's like, yeah this is like a huge disaster from all the way down to how every single thing is named. So there's really no value here at all. So what you'll see all the time is there'll be a view that's called homepage related news. And so you're trying to figure out what, where the view is coming from that outputs the news on the profile pages. And you can't find which view it might be. You finally realize, oh it's just a sub-display of homepage related news, right? You're like well that's super annoying, right? It's like why didn't they just name the view news instead of naming it for such a specific thing? So related to extensibility is malleability. And so this has more to do with the fact that not only do things, not only do you end up adding more to your view and your feature and your module, but you also might change them. So for image styles, it's actually a really nice thing that goes on here. But on the surface of it, the problem is that people name their image styles for the dimensions of the image style. But the dimension of the image style is actually the main thing that you might change. There really is nothing else that you might change in the image style other than the dimensions. So when you name it by the dimensions and then you change the dimensions, you create a problem. But you've set yourself up for that problem at the beginning when you named it that way. It wasn't the change, change is inevitable. The change wasn't the problem. It was the naming at the beginning. But image styles actually found out the default way that they're named is actually a good pattern to follow, which is that the human readable names here include the sizes, but the machine names don't. So the machine names are just like thumbnail, medium and large. And that's another big thing you need to think about in Drupal is actually machine names in a lot of places are more important to name properly than the human readable names because the human readable names a lot of times are easily changed and the machine names aren't.  So the reason that all of this naming is so important is because of usability and maintainability. You don't have to worry about usability unless you have humans that are interacting with your website in some way. If you're making websites for other computers, you don't have to worry about it, but for those of us who make them for humans, it's really all about usability and maintainability is really just usability for the other developers and other people who are maintaining the site. So it actually is a usability concern because not only is it the public who is looking at the site, it's also the editors that are maintaining the site and it's also other software developers that are maintaining the site. And so when you make a system where everything is named well, it almost by definition is more usable for the staff that's using it because they don't have to go look up some manual where you wrote in what all these different things mean and which node queue it is that you have to change when you do this. Like everything just kind of looks more obvious and that's really the point. It's like making a system that's so intuitive and obvious that they don't even really realize all the value that you put into it and they don't never occurs to them that they should ask for documentation because it seems obvious. So actually, I think it's sort of, you wouldn't really expect that everybody on your team would be able to make really good naming decisions that are consistent with each other and make them every single time they have to do some site building and never have a problem and consistently use the same voice in all of their help texts. All of that is kind of not very realistic. So what I do instead of relying on everyone on my team of making the good naming decisions is to make an architecture plan for what the site building is going to be and how everything needs to be named ahead of time because it really emphasizes how important the naming and the help texts and all of that text actually is. So the architecture plan that I use, I actually got from Palantir and you can go to this blog post. There's a Palantir blog post about developing Drupal site to plan or perish. So my little assistant is going to show the template. Boo, no, okay. So here is my template. It's just slightly altered from the Palantir one. And the nice thing about this is it shows you, it has blanks where you have to think about the naming things. And it's much better to think about all of your naming at the same time while you're mentally on this naming track than to have to like keep on switching back into that mode. And it also makes it much easier to keep everything consistent when you see it all next to each other. So you can, these are just like some example things that are in there to begin with, but it focuses on human readable and machine name. It has help text. It shows which fields are in there but it has an additional section for fields because fields could be reused between different bundles and different entity types. So it also has this tab just for fields where you can put in what the help text is going to be. It's a lot faster to get all your help text in at the beginning than to just let somebody build the system and then gradually you get QA feedback to change this help text and that help text. View modes here. I'll talk about view modes in the next section. You can have flags that you name.  So this can take in user roles. So this can take maybe 10 hours for a complicated site to fill this out. It might take longer if there's discovery that's going on as part of figuring out what goes in here but it will definitely save more time than that. When people actually go to build the site from this, they can build it out really fast. Okay, so my second part is thinking about the names that already exist in Drupal. And thinking about the way things are named and what those meanings are really helps you to slow down when you're making architectural decisions and to really give more thought to what's gonna be obvious and what's gonna be intuitive and what's gonna be the simplest way to architect something because architecting something is about making it so simple that nobody has to ask you questions about it later.  That's not good architecture. So the first word I wanna talk about in Drupal is entity, which is sort of like an alien entity. So an entity is any defined chunk of data in Drupal and this is sort of one of those like non words. Like in Philly, we have a word John and it just means whatever, anything can be a John, anything could be an entity. It's not a great choice of words. The only thing that I kind of like about the word entity is that it sort of seems to describe a being. So it's like these entities in Drupal, they're sort of like the most important citizens of your site, like they have a sort of lifelike situation. You know something's an entity in Drupal if it has the manage fields tab and display fields tab, although it is possible to have entity types that aren't fieldable. One of the problems with the word entity in the Drupal world is sometimes people are not clear whether they're talking about an entity or an entity type. So a node is an entity type. A node is an instance of an entity type so it's actually an entity. But sometimes people say entity and they really mean entity type and that to me creates a lot of confusion until you know that people just use them interchangeably, which is kind of annoying. Like one time I did a discovery on a project and in the discovery meeting I asked the client, I said in all these documents that you gave us it seems like there's a couple different things that you use the same word for. So what actually does that word mean? Does it mean this or does it mean that? And he says, well in the documents if somebody else wrote them or if you're talking to anyone else on my team it means this, but when I'm talking or if I wrote the document it means that. So you just need to reverse it in your head when you're talking to me. And I said like okay, I mean that was kind of the end of that project for me because obviously someone who thinks that way is getting to be a problem for the entire project because it makes no sense. So anyway, the next thing I'm gonna talk about is a content type which in a developer terminology would be a bundle of the node entity. Oh, see, I just made the same mistake I was just complaining about. It's a bundle of the node entity type or it's a type of content. You can also think of it as a set of fields and other settings appropriate to a set of site content. The most important word in content type is content. Do not use a content type if it's not a type of content. That's a super common thing that people do in Drupal. They did it even more in earlier versions of Drupal because there were no other entity types. So the only thing that was really fieldable were nodes. And there's still some carryover to that kind of sentiment that hey, if I'm trying to make some type of form for people to add data into, I'll just make a content type. Well, that's really problematic. So I see this kind of stuff all the time. So yesterday I was at a talk where they were talking about content staging and in order to make a new content staging environment, like you could have live and you can have editorial, in order to make a new staging branch, you would just add a new node of the type branch. But a branch isn't a type of content. It's a completely separate idea from a type of content. And so now when somebody goes to node add and they try to figure out what type of content they should be adding, they see these choices in there that aren't even types of content. It kind of makes you be like, I don't really understand. I thought I was adding a type of content, but now there's all these other weird things that are just Drupal things that are in the list. It creates just a strange feeling. And there's really no reason other than laziness and not believing that it's really a big deal to function that way because you can always create a new entity type using entity API. You can find some instructions and examples that you can copy and have your own entity type that you could just call the branch entity type and have like a separate UI for that. Okay, so node obviously is like the most useful, common Drupal term. We actually had a client that makes folding bikes. They're called Tern and they have, I saw one of their bikes down the street and it's called the node D7. Now it's like, wow, they really are super into Drupal now. But yeah, you can actually buy this node D7. It's a cool bike. So the word node is almost like one of those non-words again. These are a couple definitions. One is a regular definition of a node, the number three, a point at which lines or pathways intersect that comes from the Oxford dictionary, essential or connecting point. And I think that definition is interesting because sort of the whole point of nodes and of having a content management system is this connecting nature between content and between users and between like other entities on your site. So you can almost think of these entities as these beings who are connecting to each other in this web. So when you have a node, it automatically is connected to an author which is a user entity and it might be connected to some taxonomy term entities that it references and it might be connected to some other nodes that it has an entity reference toward. It might be part of a node queue or it might be part of an organic group and an organic group is actually another entity type. So there are all these connections between things and that's one of the things that you see a lot of times on good Drupal projects is that it highlights the connections between content and between people because that's not something that you could easily do on in a lot of systems because they're not as well structured. So just like a content type, I don't think that people should use nodes where they are not adding a piece of content. A node is a piece of content. And I see people who have been site builders in Drupal for six years or more and they're shocked to find out that there are other ways to add pages to Drupal than to just add a node. That's sort of like the beginner's hammer is you wanna add a page to Drupal, so just add a node. Well, there's a lot of a page. It doesn't say that the definition of a node is a web page on your website. It's a piece of content. If you're not trying to add a piece of content that has a title and probably other fields, then there are other ways to add pages to the site. So one way is you could make a custom page with hook menu. Another way is to get into page manager and panels, which just lets you make kind of arbitrary pages instead of just shoving a whole bunch of picky HTML into a node and then hoping that nobody has to edit that. So view modes are pretty nice. Does anybody use display suite in here? How about entity view mode? Pretty good split. So I kind of understand why people like display suite, but to me it's just like the last thing I kind of want in my life is more Drupal settings. But entity view mode is kind of a similar idea, but there's less to it. Like all you can do is create additional view modes for your entity types. And these are super nice to use because although they're hard to name for, you have to really plan out the names of things for these view modes. So sometimes I'll name a view mode mini or I'll name one search result or I'll name one micro and then of course you have full. And then you can set up these view modes or display modes for all your different content types. And then when you use, and then when someone says that they want a new view on the bio pages that shows all of their related content, you can make that super fast because you can just tell it to display all of the mini view modes for all the different content types. Now you don't have to do a lot of fussy styling to figure out, yeah, the events need to show the date differently and they need to all show the thumbnail this size. It just becomes a lot faster to set things up and also to make changes where everything still looks consistent. So one of the naming tricks I like to do with view modes is I like to use similar names in view modes as in image styles. So if I have an image style that's called, or if I have a view mode that's called mini, then I might have an image style that's also called mini. And then it'll be very clear that the mini image style is used in the mini view mode because it's really easy to have a bunch of image styles that are like thumbnail, thumbnail one, smaller thumbnail. And then you have these view modes that you have tons of those too.  There seems like some things are off and now you have to go on this huge mission to figure out for every view which image style they use and which image style they should have used. And none of this will happen if you keep things straight from the beginning. Role is another thing that people misuse not quite as often as content types, but that obviously there's a meaning to the word role. It's the part that someone plays in a situation. So if you're just trying to group users, don't use a role. Like I see a lot of times that people, there's some reason that they need to group users. There's something that they wanna do with just those users, but those users don't have any different permissions on the permissions list. And the entire purpose of roles in Drupal is which permissions they have. So you can find other ways to group users if that's what you're trying to do. Because the last thing you need is more roles on that permissions page. Okay, I wanted to show you what happens if you have too many roles on the permissions page. You can get my permissions fabric or you can also get wallpaper.  So one time I had a client, they had a role that was called like James' role for their boss. Obviously it's not the name of a role, but James' role was just that it would only have permissions that had names that seemed like administrative, but really didn't give her any power. So she would kind of feel like she could see the dashboards and things like that, but then she couldn't actually do anything. But yeah, I don't think you, I just think a lot of times when you, if you set this line at no, I'm not going to name things badly. That means no, I'm not gonna have James' role. And that means I'm gonna have to actually deal with the real issue, which is that we wanna fire Jane. Like if you set a boundary somewhere, then it can force you to do things the right way instead of working around them. Paths and breadcrumbs, kind of interesting in the Drupal world, I've always been amazed at how poorly Drupal core handles paths and breadcrumbs over the years, but I will teach you a work around. So a path, we use it to mean a URL alias. And weirdly in Drupal, we have a lot of these terms like that where there's like a developer term and then there's like the, I don't know, more human readable term. So URL alias and path mean the same thing and node and content mean the same thing and the interface isn't always consistent about showing one or another at different points.  And so when you think about that our URL aliases are paths that people would walk on, then it makes you think that they are sort of supposed to be navigating you somehow, that you should perhaps be able to take away part of the path and be back somewhere else. And then a breadcrumb is a very similar idea. It's something that you throw onto the path, I guess, or no, it's something that you use if you don't have a path. It's like a make do path, I guess. But the breadcrumbs in Drupal are, or on any website, are those usually kind of towards the top and they kind of show the levels above where you are. And both of these concepts, they're very much the same. And so I really believe that you should have paths that are sort of hackable. So even though Drupal doesn't actually have a directory structure of pages in it, although a lot of clients seem to still have that as their mental model, that's actually not a bad thing that a lot of people have that as their mental model. Because that's, like, having files that are inside of directories is a model that everyone kind of understands in terms of computing or even just filing things. So we want to make our paths, even though we are now responsible for the paths like they're sort of, they can be whatever you want, we want to stick to that and we want to make it a path that actually would lead somewhere if you took away parts of it, that there were actual real places within that path that you could go to. And a breadcrumb, I feel, should be exactly the same as the path. Of course, it won't have hyphens in it where there were spaces, but both of them should represent the same exact tree and that tree should be the menu that you're in. And so they should say the same thing. And so I'll show you how I get, you would think that Drupal would kind of be able to handle that, but it doesn't really do that for you out of the box. So I'll show you a couple things that you can do to make that work. Here we go. Okay, so yeah, so I have, yes, it's crazily enough. I have, Drew Plippi actually is, he'll will pop up on your site as well. There's like a service you can subscribe to. It's really, I just, I wouldn't recommend doing it. It's more like, I just like to pretend like somebody someday would do that. But you can actually subscribe at drewplippy.com and you can get my advice that pops up right when you're naming things. But it's really supposed to be more like jokes but they're just not funny. So anyway, if you wanna get the perfect paths and breadcrumbs, my advice is set up your default path pattern to be node menu link parents join path slash node title. And what that'll do is put the path based on the menu position. So if the page is in a menu, it'll match the path to where it is in that tree. So you're kind of keeping the path based on the menu. And then for other content types, you might have more specific things. So I'll show you on a real site. So for this site, that's the default that we're gonna base it on the menu. But of course, lots of things don't go directly in the menu. So if it's a specific type of type, a content type, like event, we might say, okay, all the events go under news events events. And very careful that these are all real places. So news dash events is a real place and so is news dash events slash events. So usually these landing pages are plural that might be a view that's above. So you have to make sure that it matches. So now you have your menus consistent with your paths. And then the next thing I do is I've tried like every possible combination of Drupal module, Drupal modules for breadcrumbs and paths and stuff. That one's not set up very well, let me see this one. So I finally decided that the one I like is this breadcrumbs by path. And so what breadcrumbs by path does, and it doesn't really take any setup, you can just turn it on. It just figures out if there are pages that match what's in the path, then it just puts them in the breadcrumb. And you can exclude certain pages, so exclude admin and things that just don't work very well like that. And so that way your pages are based on the menu position and the breadcrumb, the paths are based on the menu position and the breadcrumbs are based on the paths. So now everything's kind of together. So I can show you how that ends up. So if I go to research centers, I'm at research slash research centers and here I'm also at research slash research centers. So the breadcrumb matches just all anybody ever wanted. And then here I'm at research research center so I can actually go back up the breadcrumb and I can also do the same thing in the path.  Okay, so resourcefulness, I think a lot of times when people are fairly new to Drupal site building, they see resourcefulness as a value. But Drupal code is not a finite value. So really being resourceful kind of just makes things into a frankincite just because you know how to make content types, you know how to make nodes and rolls does not mean that you should be making more content types and nodes and rolls. Like you should take the extra time to try to figure out what's the better way to do this rather than only using the tools that you know and just trying to cobble some strange thing together with those tools. You can always just ask an IRC or your Drupal Meetup or someone that you know that would have that answer and they can tell you some advice really quickly and you can learn something but just kind of like trying to put one of the tools people used to use very creatively in Drupal was taxonomy. They don't do it quite as much in Drupal 7 as it used to be because it used to be that taxonomy was like the best part about Drupal and you could use it for access control or you could use it for grouping things and all kinds of strange ways or you could use it as your navigation and they're all these weird modules and some of them are still out there and I can't complain too much because I just endorse breadcrumbs by path which is two Drupal words in the module name but I kind of have a beef with modules or you kind of have to be suspicious with modules that have two Drupal words in the name like comment node taxonomy access workflow content like there's so many Drupal modules like that and a lot of times what they're doing is they're taking two different concepts and trying to munch them up in some weird way and the result is not necessarily that great. Content profile and then there's like endless workarounds like oh content profile isn't working with CAPTCHA or content profile isn't working with search or there's always like a million like side issues when you try to do something weird like that. Okay so then what happens is regret. So basically the real issue with this naming and the reason that I make such a big deal about it is that it's really difficult to fix it. It takes a second to not really think about it and just go ahead and make a sloppy decision. It could take a week to undo that decision right? So like the amount of effort that it takes to get it right at the beginning is so much smaller than the undoing like it's like you can't fix the problem at the level that you created it on. Like once you have made this mess now they're gonna eventually have to hire some expert to clean it up because they're gonna have to say oh my gosh look we have five different content types for BIOS and then you say okay well could we maybe get rid of BioTest to be deleted? They say oh I'm not sure. I don't think we can and I say well can we merge BIOS 2013 with BioBlurbs 14 and just call it BIOS maybe we could merge all of these? And they'll say oh I don't know I mean I think there was a reason why they were made differently. Cause nobody remembers and everybody's afraid to lose something that was important. So now I have to go on some huge hunt and explain how each content type is used everywhere on the site and what the differences are and which fields aren't used and which ones no one had permission to make and which ones don't have any nodes in them and finally make a plan for which ones I'm gonna delete and which ones I'm gonna merge and I have to write a script and I have to make new fields so that everything will fit together and go through all the content to make sure that we can get rid of this field and then we have to make a deployment script and move everything over. It's a big project so in fact it would be it's almost always less money to just rebuild a site like this because when you see something like this the guy and I say guy because I'm a sexist the guy that made this like this wasn't the only thing he made he touched every part of this site right? So if it takes a week or two to clean this up where is it gonna end right? So when you see this you know it's not gonna get better but they don't wanna throw it away so they're gonna sink good money after bad and so I do a lot of these site cleanups and I guess I'm trying to turn the bitterness into action of saying hey everyone let's do a better job from the beginning. Let's not just name these things anywhere it's really easy to type text into these fields it's really easy to add a content type it's really easy to add a role but the hard part is not putting the text in and hitting submit the hard part is doing it well so that it's maintainable and it actually has value because a lot of these clients or even if it's for your own site they've been through one bad site after another let's give them a platform where they can actually keep this for a long time and they can upgrade it and they can use this as a base where they're gonna stay on Drupal and they're gonna say okay with the Drupal 7 site it's like really great I'm gonna eventually update it to Drupal 8 and maybe we'll keep our organization on this forever but why would they want to keep it on there forever if it was just kind of all put together with like tape and silly punny. So one of the other ways beyond the architecture plan that at my organization that I try to make sure that things like this naming and quality site building actually happen every time is through having quality standards. So before I came to Drupal I was a chemist and I was like a QA like quality chemist and we had a lot of quality chemists because we were in pharmaceuticals so our whole job was just quality and then when I came to web development it was kind of like wow is quality not a thing that we're worried about because it seems like a problem. I mean it seems like a serious problem but when we come to these Drupal clients it's not like we don't have a quality track it's not like a major thing that people are talking about it's just something we just have the PMs worry about they'll go do like some QA with the clients and it's like oh we'll just have them do it and then we'll make some fixes. Quality is so important it kind of baffles me. So what I do the main way that I set quality standards and there's a lot of ways but the most useful I think for our team has been code review and we extend code review to every site building task so if somebody were to do something that was not a good naming decision it would immediately come to someone else for code review and they would say whoa that was a bad name what are you gonna do when we use that view for something other than that why don't you name it this and when you change the name right away in the development process it's not hard to change because they haven't added lots of content and you haven't forgotten why things were that way so if you catch things early on it's not a big problem. So that is it for my talk.  So yeah any questions? You have to go to the mic sorry. Yeah we have in Drupal core we have basic pages. Is that a good semantic words if you say it's about content? I mean I think that's okay I mean you are gonna have certain pages on your site like the about page is gonna be a basic page I don't sure that the word basic is necessary seems kind of a little bit confusing but on some projects we have multiple types of general pages so we'll have like a basic page and then we'll have a landing page and the landing page might be a fancier setup and the basic page might just be like oh it's just gonna basically just be text. So in that case it's okay but if it's I don't know I guess I would slightly prefer if it was just called page. Basic part seems to just leave you wondering what the advanced page is which doesn't exist. With the separate content types for very kind of quite similar things would you advocate for having content types that would have lots and lots of fields on them and then use something like conditional fields to show and hide them on the form depending on something rather than lots of different types? Yeah that's a good question. There's definitely a gray area there where you have to make a judgment call of whether something should be two content types or one and how similar the fields really are but sometimes if you start off thinking oh well I need some conditional fields it might be more likely that in the future you need even more than that you need less. So you might be starting yourself down a tough path when you make that decision at the beginning because you kind of already know that they sort of are two content types if they are being displayed in different places and the fields are different so usually I would split that into two content types but one thing that I do is if multiple content types use a bunch of fields that are in common with them. So for example I did a project where they had a bunch of different types of events and the events had very different fields but they all had this core group of fields like they all had the location and the time and some disclaimer text and the contact person. So then I put all of those fields that were in common into a field collection and then just added that as one field to all the content types because that way if I needed to change anything in those fields I only had to change it once and it would just pick up on all of them and I could trust that they would always be consistent and not have to worry about that so. Thank you. Okay thanks everybody. Oh sorry, sorry bonus question. Next to naming conventions for fields do you also have guidelines or use standards for the order of the fields? Yeah in terms of ordering the fields I try to do it sort of put yourself in the mindset of the person who's filling out the form as much as you can and also I like to put in general I like to put the smaller fields at the top because I think if you put a giant body field and then like a little text field underneath it that it kind of gets lost visually but if there's some kind of strategy to what order would make sense as you fill it out then that would be more important. And what about changing interface text in the back end to be more meaningful for example a save button or some buttons that are not always clear? Is that often done? Yes so sometimes you mean like just like using like a string override to change some text in the back end?  So no, most of our clients aren't doing much more than editing content. Thanks everyone.


Yama Yama Ninda, to me coming from a collectivist based society making a difference in the world is what our purpose here actually is. The psychology that I practice I I guess would be considered quite different to what a lot of people practice. I'm a strong believer in there's a difference between an Aboriginal psychology and Western-based psychologies. I studied psychology at Griffith University. These days I do a multitude of things so I still run a psychology business. I also have a non-alcoholic craft beer business. Soba came about from a few angles. Predominantly I stopped drinking completely about nearly five years ago now and that came about just through my boys just saying to me one day dad can you stop drinking silly drink and I just went yeah I can. That was part of it and the other part was I just got to a space in my life where I just couldn't handle being a hypocrite. So if I was going to be out talking to others about the dangers of unhealthy relationships with drugs and alcohol then I wanted to be damn sure that I wasn't continuing to have one myself. My experience at Griffith has changed me for the positive. I've definitely learnt to roll with the punches. It helped me to have a voice. It helped me to have a position where I get to exercise that voice. What is the future hold for me? Who knows. My drive at the moment is to first and foremost build Soba so that the charity side of it can really kick off. I really see a void in the way that drug and alcohol healing work has done in this country particularly for us as Aboriginal and Torres Strait Islander peoples. I work with a lot of non-Indigenous people using Aboriginal philosophies and it works.


The Foundation for Economic Education is making the ideas of liberty familiar, credible, and compelling to young people in the United States and around the world. We're making freedom as a life philosophy accessible to everyone by showing the connection between free expression and commerce, creativity, entrepreneurship, and strong personal character, and how these values can be applied not just to societies, but to individual people's everyday lives. It's an ambitious goal, and it all starts by using cutting-edge technology and market research to develop a clear understanding of who our customers are. Then we craft positive, meaningful content tailored to their unique values and interests, taking our readers and viewers on an enlightening journey from their initial interactions with fee as first-time visitors to becoming regular subscribers and eventually dedicated fans, evangelists, and donors. Our original media content, like Out of Frame, Common Sense Soapbox, and Revolution of One, introduces tens of millions of viewers to our ideas on YouTube, Facebook, Twitter, and Instagram. Our relevant daily articles and e-books tell timely stories that feature timeless principles and take our visitors deeper into the philosophy of a free society. And then our incredible in-person events bring those ideas together with powerful experiences that stick with participants for the rest of their lives. Experiences like FECON. Best of all, we're able to capture valuable data at each stage of the journey, turning it into useful insights that help us iterate and get better and better at communicating our values with new audiences. With your support, we'll continue to set the path towards educating rising generations in the principles of freedom, and together we can change the world.


Hey there friends, thanks for checking in today We're going to do a range comparison with the CZ shadow 2 versus the HK USP expert both similar in size The shadow 2 has a steel frame the USP expert has a polymer frame 5.2 inch barrel with the HK 4.9 inch barrel with the shadow 2 and if we look here, we'll see that the HK goes a bit longer As expected, let's start with the shadow 2 excellent handgun This is the black and blue model with the blue aluminum grips. It has a 4.9 inch barrel Incredible single action trigger breaks right around Three and a half pounds with a reset right there a lot of people compete with this I love the shadow 2. I think CZ did a great job. The rear sight is called Hajo height adjustable only and then it has a Fiberoptic front sight it has one of the smoothest double actions I have ever felt on a semi-auto handgun Just really a nice Double action and single action trigger pull and that's why so many people love this handgun and the dexterous thumb safety All right now like the way that hammer looks right there Overall great great handgun top strap is serrated has a one-slot pick rail excellent shooting and pointing handgun it Goes for right around $1,200 the optics ready model goes a little bit more And the overall fit feeling function of the shadow 2 is highly regarded in the gun world I like those forward serrations and the overall feel the the front strap Highly textured as well as the back strap and 17 round magazines The HK USP expert with this model is in limited production It has the 5.2 inch barrel and you'll notice it has that rubber ring right there Locks the barrel up nice and tight It has 15 round magazines and if I put a jet funnel on here It will extend the grip and 18 round mags, which will work in this as is But it will be more flush fitting with the jet funnel system nice single action trigger pull looking at four pounds with a very short reset serrated black rear sights Regular front blade it has this universal mounting rail in which you can add a Pick rail to it. All right, they have that for this specific handgun and I don't know how I feel about that. I'd rather just have it come with a rail huge trigger guard Ambidextrous thumb safety. All right, so you could carry this cocked and locked I don't know why anybody would want to carry it, but also a Ambidextrous magazine release right below the trigger guard Small paddles there So they do have larger ones with other HK models I got this for a killer price and This is selling for 14 15 16 hundred dollars So if you were between both of these handguns, you'd see that the HK USP expert Actually will cost you more than the Shadow 2 So which one would I go with? Well, I think both are fine handguns here We have a polymer frame handgun all steel handgun both shoot incredibly well. I like the USK expert I haven't fallen over Heels in love with it at this point. I think it's a fine handgun 15 round mags excellent trigger HK recoil reduction system, which is really neat I like the way it shoots and so far it has fed fired ejected Everything that I put through it the shadow 2 is just a little more special the steel frame is certainly nice I like to trigger action better with the shadow 2 and it's less expensive than the USP expert If I had to choose one, I'm going with the shadow to wish I had the optic ready model But I don't couldn't wait to get my hands on it and when I had the opportunity I did I have no regrets picking up the USP expert Because of the price I got plus I've always wanted this handgun and I have it now and I think with more range time I'll get a little better with it. Not that there's a problem I just feel more confident with the CZ shadow 2 if you like videos like this, please subscribe and share I always appreciate thumbs up button Thanks for watching and you guys be safe


This is a video proc software. So I'm going to proceed with the video editing Click on the video. So if you want to add the video, we just click on the video with the plus sign on top of the manual list Okay, now I have a GoPro video You can see there and I'm going to pick one of my video to load So it's already loaded and I'm going to show you the video of mine Just for a sample so you can see that this one is really from a GoPro Yeah, you can see it's a 4k video so down here. There is a lot of features most of them features a lot of Video formatting so you can see you can convert with many kind of Video format that you want it also supports many devices such as the iPhone Android iPad and so on You can also convert your video into a music file. So down here is a toolbox There's a feature that you can see here Which is a GoPro D shake and also GoPro D noise So GoPro D shake is to stabilize your video and the GoPro D noise is to remove the noise from your video So I'm going to trim my video first by double-clicking on this trim Okay, so if you want to trim your video just drag on the green cursor to the point that you want So the green cursor below it. You can see there's a Time there so you can drag the base on the time or if you prefer manually Cutting the video using a time you can proceed there So I already trim my video. Let's go on with the GoPro D shake feature double-click on it Okay, so here it is you can play with the settings here with the shakiness Accuracy step size and minimum contrast So you can play along with this and let's go on with the GoPro D noise double-click on it So in this D noise feature I normally prefer to set in the low pass at 1000 So let's go on and I am ready to save my video So I'm going to choose the video format that I want to convert So let's click on target format here. You can see there are a lot of devices support So that you can save the video file into many kind of format at 21 So you can see there's a YouTube video Format so you can you can choose whether to save it in high quality or low quality HD video it support MKV so MKV is the best HD video for you to save out there But since the GoPro my GoPro Uses a 4k video format. So I'm going I'm going to use a Format which support the 4k resolution Let's click on general video and you can see there is a 4k MP4 video So I'm going to set on a high quality and Click on the 4k MP4 video and click done Now I need to do click on the toolbox If you are satisfied with the settings just click one and And yeah, you just need to wait till the process is done Okay, so the video is converted and saved in the Preferred format So I think that's it. Thank you for watching. If you want to download this software There's a giveaway to a limited number of person So click on the link down in the description below and don't forget to subscribe


Someone else who loves to speak his piece is Mickey Huff. He's up next. He is the director of Project Censored, president of the Media Freedom Foundation, co-editor of the annual Censored book series, and professor of social science, then goodness in history at Diablo Valley College. You're lucky students. Thanks so much, Rachel, Emily, Frank. I wanna thank everyone here today. It's an honor to be invited for this 20-year anniversary slash commemoration of the 9-11 events. Go, Kevin. Hard act to follow, brother, but I'm gonna do my best. And thanks for speaking your piece and your truth. Man, you've been doing it for a long time, and I've learned a lot from you, learned a lot from so many of the people here. So again, honored to be here, thanks to, again, Emily, Rachel, Frank, Medea Code Pink, Peace Action, Massachusetts. Also wanna thank my good friend, the great scholar, author of Giants, the global power elites, previous director of Project Censored, Peter Phillips, who had the courage to question dominant media narratives around the events of September 11, despite the lack of support from many on the left. His collections of unanswered questions around 9-11 are still ever relevant today, and his book, Giants, is actually speaking of who benefits, is a who's who of who benefited from the global war of terror, kicked into high gear by the events of 9-11. As William Faulkner once wrote, the past is never dead, it's not even past. And history matters, the teaching of history matters. And now, 20 years later, 9-11 literally is history to millions of people who were too young to remember or not even born yet. And this generation now comprised many of my undergraduate students taking courses for me in US history, political economy, and a course called Critical Reasoning in History that I've taught with a focus on contemporary historiography and the events of 9-11 for about 17 years now. It's called History in the Making, Contemporary Historiography and the Rough Draft of History. The subtopic is today's fake news, is tomorrow's fake history, riffing on the CIA whistleower Ralph McGhee, case studies and media myth-making and the propaganda of historical construction. Well, this is all basically around the recent history of 9-11. I certainly go back and set the stage for these things, but nevertheless, my brief talk here today in my WTC seven minutes is to focus on young people and another generation of people learning our history. So I wear a lot of hats, as you heard, Rachel say, I'm co-chair of the history department, chair of the journalism department, director of Project Censored, the anti-censorship pro-free press group Project Censored. And for the last 45 years, Project Censored, I've been involved since 2008. I've been surveying the rough drafts of history, journalism around major events and topics that impact all of us, including but not limited to the events of September 11, 20 years ago. It's not exactly fun or easy thing to do. It doesn't win one many popularity contests. And in fact, it sometimes turns erstwhile allies into something else. So challenging is the path that follows transparently sourced factual reporting that dare challenge the status quo in official historical narratives, right? I hereby would like to ask everybody here please not participate in the circular firing squad so prevalent on the left and remember who we are really fighting against and fighting for. 10 years ago this week, the Occupy Movement was born and gave us the language of the 99% and the 1%. And you heard Rachel riffing on that just moments ago. Let's not lose sight of that cabal of billionaires, war profiteers, big pharma drug pushers, fossil fuel polluters and purveyors of Big Brother Incorporated, the surveillance capitalists of our technocracy. This is where our ire must be directed, right? This is where, not toward each other. We must look up, not at each other to fight amongst ourselves. George W. Bush said, let's never accept outlandish conspiracy theories around the events of 9-11. Well, don't let that label shut down inquiry as the biggest conspiracy theory around 9-11 has come from the US government and our corporate media. And of course the conspiracy theory label was weaponized and used by the CIA in the 1960s to discourage people from challenging the Warren Commission and JFK, CIA memo 1035960. I urge you to look into it and read the great book by Lance de Haven Smith about this called Conspiracy Theory in America. Well, let's move in here back to the teaching of history. Gore Vidal once noted that we are the United States of Amnesia, right? The great political scientist Michael Parenti cautioned us, those engaged in the manufacturing of history often introduced distortions at the point of origin well before the history is written or even played out. This initial process of control is not usually left a chance but is regularly pursued by interested parties who were situated to manipulate the record. It is important to teach these unhistories, the untold history leading to 9-11 and thereafter in this past 20 years with thanks to Oliver Stone, Peter Kuznick and other historians. The media and the political classes weaponized 9-11 to cast a cloud of fear not just across the United States but the world. And when we look at this media we see that elites do not want us to forget, right? They want us to remember to be fearful, to be distrustful of each other, to be racist and lust for violence against innocents around the world because we relied to about 9-11 and that such people allegedly hate our freedoms. This is not true. What is hated is our ignorance, our apathy, our privilege and our jingoistic behavior. What I hope we do not forget however is the road to 9-11. And from remember the main World War I's cry fight them over there. So we don't have to fight them over here which was echoed after 9-11, right? The day that will live in infamy, Pearl Harbor, right? The lies around the Gulf of Tonkin into Vietnam were exposed by Daniel Ellsberg pending on papers including coverups of Kent State. The anti-war activists in media Pennsylvania who uncovered the FBI's COINTEL program still alive and well to this day operating under other names, right? Given new life after the 9-11 attacks COINTEL Pro was. It seems that there's a very clear pattern of lies and deception around U.S. wars followed by crackdowns on civil liberties at home. And that pattern continues with 9-11. The history of bin Laden, the CIA, Iraq and WMDs. The list goes on and on. But looking at 9-11 in particular, quickly, the rise of the neoconservatives, the project for the new American Century, let's not forget them and who they are. The document rebuilding America's defenses that calls for a new Pearl Harbor in order to unleash an American century, a new American century. Those wars were already planned well in advance of 9-11 in the Middle East. Once Bush, Cheney, Rice and Rumsfeld were in place, they immediately looked to put into effect what the project for the new American Century called that new American Century and dominated with U.S. hegemony. 9-11 was the event that gave them the opportunity. It was the catalyzing event like the new Pearl Harbor that gave them the, quote, opportunity to unleash U.S. empire across the world with impunity. So let's not forget the failures around 9-11 the FAA, NORAD failing to scramble planes, the stock market short sales just prior to the attacks. Let's not forget the dust and deceit of the environmental fallout and destruction of the Twin Towers in New York City when Chrissy Todd Whitman at the EPA lied about the safety of the air so Wall Street could open and thousands of fallen ill and even more have died. The government failed to do anything about these victims of 9-11 until they were shamed into action by a comedian on late night TV and John Stuart, pathetic, absolutely disgraceful. Let's not forget about the anthrax attacks ultimately traced to U.S. military base and subsequently bossed investigation by the FBI that fell into the vast memory hole which turns out as quite a rabbit hole. Speaking of the FBI, let's not forget whistleblowers like Colleen Rowley about the many forewarnings that were all somehow missed by an unelected presidential administration. Let's not forget the CIA and counterterrorism czarists that said attacks were coming the summer of 9-11 of 2001 and that quote, the attacks would be spectacular. Let's not forget CNN and the BBC announcing in advance that WTC7 Tower fell 20 minutes before it did. That's some crackerjack reporting. Let's not forget the Afghans offered to assist our looking into bin Laden asking only for evidence of his complicity and the U.S. said we don't need any evidence and likely didn't have any. Let's not forget. Let's never forget we invaded two countries not technically involved in 9-11 killing over a million innocent people displacing millions of people more based around the lies of 9-11. Let's not forget the media fear porn and propaganda that's still with us to this day. Let's not forget the endless invocations. Let's never forget Condi Rice who wrote books with Phillip Zellichal who was ahead of the editing the 9-11 commission scaring Americans with phantoms of mushroom clouds over New York City lying to the commission about never predicting an attack that would take place even though she delivered a presidential daily briefing saying exactly that. Let's not forget the normalization of total surveillance and torture taking shoes off at airports endless breaking news from terrorist suspect roundups and scary soundtracks constantly waving flag trying to cover the shame of killing innocent people with thanks to Howard Zinn. Let's never forget the coverups of the 9-11 commission with Phillip Zellichal who saw to it that over 75% of the questions of the victims' families around 9-11 that fought for the Bush administration for over 400 days to form a commission were never even addressed only 9% of those questions were satisfactorily answered further underscoring the purpose of such political commissions. To cement propaganda of official narratives in the public consciousness and move on the corporate media, not mainstream corporate dutifully helping this process and history demands that we do not simply move on it demands we continue to ask questions to not accept contradictions and lies from above. I could go on about 9-11 historiography and I do a whole course on it in the semester and I can never address it all and I know my time here is coming to an end which I'm grateful to have this opportunity to talk to everybody and be here today to all the young people here please never stop asking questions never stop, never stop striving for the truth no matter how hard or unpopular stand up for social, political and economic justice for your generation and those that even will come after you. What we do today shapes the kind of world you inherit and while it's hard to imagine as a young person one day you too will be older and another youth will ask what you did with your time here. Emma Goldman said most unpardonable sin in society is independence of thought. I encourage more sinners and more true seekers about our past about the events of 9-11 in hopes we become a more accurately informed more empathetically driven and truly more just and equitable society in order to never forget we need to pursue those infamous unknown unknowns Rumsfeld mused about. We must strive to teach the truth about our history triumphs and tragedies and learn from our calamitous mistakes so that we won't be so they won't be repeated by yet another generation forging its own future in hopes of eventually being on the right side of history. Please feel free to follow more of our work at projectcensored.org. This past couple of weeks we're featuring specials on 9-11 and you can contact me through projectcensored.org mickey at projectcensored.org everyone that's here is invited to be on the show and I'm hoping to use excerpts from today's amazing testimonies on future shows. Thank all of you very much for the important work that you do. Again, it's an honor to be here. Thank you so much for that, mickey. And especially thank you for saying that you will spread the word yourself by taking these testimonials and rebroadcasting them. I would encourage all of our audience to do the same. I know people may be scrambling for all the great links and information that's being shared in the chat. Don't worry, we're gonna send that out to you.  And most importantly, the recordings of this program. And once again, I encourage you to share that with your friends, family and colleagues who could not be here live.


Prime Minister visits schools as new term opens under strict protocols. Celebrating the success of Darin Sami and the Sambusha Zooks. Prime Minister Lordev for chairmanship of the Caribbean Development and Cooperation Committee and new Taiwanese Ambassador gets acquainted with local projects. Let's flip the pages on some of the events in the Prime Minister's weekly diary. Knowing that the first day of the new school term amidst the COVID-19 pandemic would be an anxious one for students and teachers, Prime Minister Hon. Alan Shasne sent a message of calm while also visiting some schools on the island. Redmond has focused on ensuring safe and healthy schools with specific protocols in place at all educational facilities. On Monday, the Prime Minister spent the morning going from class to class at the National Sports Academy and the Groesley Primary School to get feedback from students and teachers on the reopening of school and to reassure them of the government's commitment to keep them safe amidst the COVID-19 pandemic this academic year. Last year, more than 31 million people visited the Caribbean. Coronavirus has deprived the region of tens of billions of dollars shutting down airports and cruise ship docks and closing restaurants and shops. Well, one place where the effect of the pandemic has been devastating is St Lucia. Two thirds of the economy is reliant on tourism. Let's speak to the Prime Minister of St Lucia, Alan Shasne, who joins us live. Prime Minister Shasne joined the BBC World News to speak on how St Lucia has managed the pandemic to date and what holidaymakers can expect in the phased reopening. The Prime Minister continued to call on airlines and countries to move the meter forward on pre-testing to help build consumer confidence and to boost tourism. You said the number, there's 30 million people traveling to the Caribbean on an annual basis and that's just the Caribbean. I think if we're to see a return globally to travel that we need to do what happened after 9-11. Imagine after 9-11 if in fact we did not have the security protocols in place. I don't think it would have recovered as quickly. I think the same thing applies here. Economically, for both sides of the pond, both in the UK as well as in the Caribbean there's a significant benefit if we can now bring people's confidence back to traveling and that's solely going to stimulate. This week, Prime Minister Shasne handed over chairmanship of the Caribbean Development and Cooperation Committee to Honourable Camilo Gonzalez, Minister of Finance, Economic Planning, Sustainable Development and Information Technology of St. Vincent and the Grenadines. The incoming Chairman and the Committee lauded Prime Minister Shasne for his leadership. Prime Minister Shasne has been a titan in these battles to have the voice of the Caribbean heard and the specificities of the Caribbean properly understood as we all embark on a developmental journey that is unique anywhere in the world given our size, given our openness, given our debt burden, given our vulnerabilities and Prime Minister Shasne has been an eloquent advocate for the region and has certainly advanced the cause of Caribbean development during his two years at the helm of the CDCC. ECLAC has been an excellent advocacy body. It's been an excellent body for statistical compilation and analysis and now it is working very hard with us on solutions, not only internally, but as we face the world in creating solutions crafted by and for the people of this region. So I hope that we can advance your work, Prime Minister Shasne, advance the work of ECLAC and advance the ideas of the region so that we can produce practical, workable, pragmatic solutions that are nonetheless revolutionary and transformative on their impact on the region. So thank you very much and I hope to do half as good a job as you have done, sir, during your tenure. Thank you very much. On Thursday, Prime Minister Shasne joined members of his constituency to watch the St. Lucia Zoox play in the finals of the 2020 CPL T20 tournament. It was a morning of emotional ups and downs as solutions tuned in to watch the Zoox in their first final since the tournament began. Although the Zoox did not win the tournament, the Prime Minister said that all solutions should be proud of Captain Darren Sami and the team calling them diligent ambassadors who showed us that we can achieve what may seem impossible when we work together, remain positive and work hard. Later on Thursday, the Prime Minister joined in West St. Lucia for the agency's latest venture towards its goal of securing 600 new land owners for the financial year. The Bosia land development sits on 11 acres of flat land puzzled into 59 residential and commercial lots. Prime Minister Shasne concluded the opening ceremony with brief remarks expressing his gratitude to invest St. Lucia and excitement about the new opportunities now available to residents of Miku South and EnviroNs. Increasing St. Lucia's housing stock is a priority of the government of St. Lucia and counting this latest addition as a fourth land development ready to provide private and commercial ownership opportunities for citizens. To apply for land ownership from any of invest St. Lucia's developments, visit investSt. Lucia.com. Also this week, Prime Minister Shasne took time to show new Taiwan Ambassador, His Excellency Peter Shen, some of the projects funded with the aid of the Taiwanese government, including the new wing of the St. Jude Hospital. The Ambassador, the Prime Minister, and Minister for Economic Development Honourable Guy Joseph toured the new facility currently under construction and also visited Sites Airmark for Development in the south of the island. As the week came to a close on Friday, discussions centered on regional travel and an update on testing requirements for the travel bubble of Caribbean countries. The Caribbean Public Health Agency CARFA made a presentation with recommendations to heads of government and health teams from around the region. That's it for your update on the Prime Minister's week. Join us every week for the Prime Minister's weekly diary. Reporting for the Office of the Prime Minister, I am Nicole MacDonald.


When it started the tide was high on the San Pedro waterfront and a hot-tempered kid had murder on his mind But there was a knife it might throw to beating under the piers and a corpse on the beach before the tide went out again And the kid was finally stopped From the pen of Raymond Chandler outstanding author of crime fiction comes his most famous character in The Adventures of Philip Marlowe Now with Gerald Moore starred as Philip Marlowe. We bring you tonight's exciting story Knight Tide in San Pedro The harbor of Los Angeles The lights on the ships were fuzzy through the wet mist that creeps up out of the ocean every night And I drove slowly looking for the establishment of Mike Basso my new client One side of the crooked street was nothing but the smell and the sound of oily salt water Sloshing through the pilings beneath the piers The other side was a tangle of walk dingy buildings Equipped to satisfy the thirsts of reckless men Never get beyond the waterfront of any port The fog horn out on the breakwater began to bellow as I parked near a U shaped pier Labeled basso docks private You walk past the line of moored fishing boats to a squat two-story office The bottom floor was dark the second floor had lights on So I started up the steep wooden stairs and was halfway to the top when I caught the voices One I'd already heard over the phone when I was hired. It was my client Mike Basso You'll make him jump or I'll get somebody who can He's both got to be handled faster. Why even the crook Johnny Dike was better on this job than you are Johnny Dike Why I order guy with a Latin jaw shove past me and stomp down the stairs So I went on up into the office Mike Basso looked like a block of concrete his 220 thick pounds hunched over a scarred roll-top desk As I walked in he swung a heavy bulldog head around and glared at me I never heard a knocking first I guess You Marlowe. That's right. The moose had just left here got me all out of the mood for courtesy that shocky my crew pusher Yeah, good man is slow Come here Sit down. We got all the business Have a drink konyaki. Thanks Okay now There's a hothead punk by the name of Johnny Dyke. I sent him to prison three years ago for stealing money from me I made it as tough as I could for him any special reason why sure because I trust a fellow who works for me Johnny Dyke used to have shocky's job But he took advantage when the police grabbed him and found my money in his own house He squeal like a pig and said he was framed like all cheap punks do mm How does this get around to you wanting a private investigator because Johnny Dyke is out of prison got out yesterday on parole And he's back in town now Hey you what you looking at your clock. How come it says 11 30 at 20 to 8 it's electric It was turned off last night, and I didn't start it yet Now look I was here with Ed Guiles when he heard some noise on my private launch out there He went down to see about and who's Ed Guiles my general manager While he was going the lights went out in here That's when I got clubbed on the head when I went down. I got kicked around plenty I'd be killed right now, but shocky happened to come along and the guy was scared off of me Would you happen to see who it was? No Ed Guiles did He got a good look. He admitted it only he claims you don't know who it was He lies and I can't if he's an old friend of Johnny Dyke's maybe girls isn't lying What makes you so certain it was Johnny who slugged you I found this Just a book of matches, huh? Mm-hmm, but see how the edges are crimped Johnny Dyke always did that He's nervous all the time fidgeting Sure, he might as well have left his crawling card for me. Ah, we're joining all right Okay, basso, but before you get too far in I'll tell you something. I don't go in for bodyguarding Who wants a bodyguard? Here's what you do Marlowe find that punk see what he's got in mind He beat me up once. Maybe that's all he wants Or maybe he's coming back to put a knife in me Just find out and let me know That's all I Looked out at the fishing boats along the pier gently nudging each other Well, Mike basso told me that Johnny had a blonde wife named Christine Ran the albatross cafe and the dead guiles lived alone in a house at 43 Terminal Road It was enough for a starter So I said I'd keep in touch and left As I walked off the pier the blinking neon light from a sign across the street made a swirling green veil out of the mist Between me and my car So I almost got up to it before I saw her Leaning lazily against the door on the driver's side A girl in a tight black silk dress cheap fur jacket double ankle strap spikes She smiled with one corner of her red mouth as I walked up to her and stopped. Hello sugar Hi, it's sweetheart the name ginger. That's too bad Ginger always gives me hype. Don't be like that What did Mike basso have to say? Yeah, we were talking business, baby. That's all Say tell me which way to Terminal Road and it intersects about ten blocks down. Mm-hmm. What's the number 43? Oh You'll want to turn right then Ed's place is a cozy secluded one by the water Oh, thanks, you know mr. Guiles, huh? Yeah, he's around Mike all the time. He's nothing I'll see you around You guiles Mike basso's man. Yeah, so what I'm Marlowe private detective. I'm looking for Johnny take Why'd you come here? Is your friend to his the only one? I haven't seen I heard from them So I'm afraid I can't help now wait a minute. Let's go inside. I'd like to talk about He's put himself in a pretty hopeless situation coming back here to Pedro. What do you think? Because he's got enemies like Mike basso and shocky. Yeah What's he gonna do fight it out to be smart and leave Tom this and private investigate? I told you once I don't know because I haven't seen him.  You saw him last night. They're working for Mike, aren't you?  Let's play again. You saw him last night. Didn't you didn't you? So I'm about 1130 I was standing on a deck of Mike's launch when I heard a commotion and looked up I saw Johnny jump down the stairs from Mike's office and run off the pier I haven't seen him since when that's the truth. Okay, sorry. I had to make a squeal on her friend Where's the albatross cafe albatross. Yeah Corner of front and castle Avenue, but look can't you leave Chris out of this? She's a good kid She's been through a lot already like Johnny's gonna leave her out of it Besides, it's for her own good that I want to see it. I suppose you're right But I'll tell you something for your own good tomorrow If you find Johnny Dyke don't push him too hard He was tough before he left now. He'll have a raw hide for brains depend on it At the corner of front and castle I spotted the albatross cafe Half on land half teetering on a set of spindly stilts ringing the high-water mark with jagged lumps of barnacles I parked down the street and started back when the door swung open and the Latin George moves shawky lumbered out I watched him cross the street without seeing me and disappear between two buildings. I Waited a couple of minutes and I went in took a booth near the front Place was neat and clean even the tablecloths a Soft brown-eyed blonde and a crisp peasant dress picked up a menu and came over good evening, sir Chris Yeah, yeah Well Chris, it's probably not on the menu around here, but how about a double order of plain facts straight? What are you talking about Johnny? You remember Johnny dyke your husband Who are you mister private detective named Marlowe? All I want to do is talk to him Chris. Just talk is he here. No, I I haven't seen him. He hasn't even called me How do you feel about this bird known as shawky? He always crowded Johnny and now he's got his job I hear he knows something. Have you seen him lately? No, I haven't That's funny. He just left here.  No Cigarette and how about a match for me, huh? Yeah here Hey These are cute at crimp border around the edge especially The one put there by somebody's jittery thumbnail.  They're shot Good night, baby. I Didn't look back, but I knew she was watching me all the way out the door and down the street So I made it real good as far as the next block and around the corner And I doubled back fast and stayed in the shadows until I got within sight of the albatross cafe again And in time to see a man he's out of side door and slip out of sight among the pilings under the building I moved in closer and found a rickety trail of greasy planks that led out through the forest of slimy pilings under the pears And it felt better on a tight rope that was home ground to Johnny Dyke I felt my way slowly along this slippery planks And from behind the piling an arm like steel springs snapped under my chin while I hand pressed the point of a long thin knife For the curved white handle up against my throat You said you wanted to talk to me Marlosa talk, but fast because I don't have much time.  I don't know how for sure yet But I will wind up right back in the coop sucker for keeps this time is it gonna be worth it could be I was a good boy up there every time I wanted to slug a guard. I said Mike Bassow to myself instead now. I got it all bottle up inside me. I'm gonna carry all that hate around forever I'm gonna get rid of it. There's only one way to do it. It girls was right. You've got raw hide for brains You better put the knife away Johnny. I think we got visitors sure.  You should feel right at home. I don't sleep too long pal It's when the throbbing in my head And the numbness across my shoulders where my back struck the planks It took me five minutes to get to my feet And another fire to climb up the street level I then the pier was deserted So I headed for the Bassow docks on the double with the unpleasant answer to my client's question plus the added attraction that I'd even seen the Knife I contended to use I Still had a block to go when I saw a hook that had to be shocky stride off the pier and turn in my direction We got close enough I hailed. Yeah, I'm shocky What do you want, but is Mike still in the office or wants to know come on? This is no time to stall heavy. I'm Marlowe. I'm working for him. I got a message. You won't keep is he there or no? Oh, the office is locked up. He's gone. I'm looking for myself. Why what do you want him for? Because I'm pretty sure that Johnny Dyke is holed up in the back room of the albatross cafe Yeah, I only wish you were right shocky, but you're about a half hour too What was that came from up the street there? Yeah, let's go shocky. Maybe we're both too late. Let's find out. Yeah Hey, what the day by the guardrail? Ginger a pal of Mike Bassow. Yeah, you're right ginger ginger. What's the matter? What happened down there? Take a look really. I'm scared down where ginger in the water.  Yeah A long thin knife for the curved white handle Alongs to a guy named Johnny Dyke In just a moment the second act to Philip Marlowe, but first He may be a close neighbor of yours. At least he lives quite near you.  Why does he vote as he does? Tomorrow night on cbs You'll hear Ralph Bellamy star of radio stage and screen playing a typical freshman congressman in the 81st congress History will be a drama taken from interviews and talks with many regular congressmen with washington experts with politicians with Yes with voters like yourselves This cbs documentary unit drama the people's choice starring Ralph Bellamy will come to you over most of these same cbs stations Now with our star gerald more we return to the second act of Philip Marlowe and tonight's story night tide Lying with his face Smuzzled into the sand and the rest of them half submerged in the shallow lapping water Mike basso was violent death at its ugliest Ginger turned and walked slowly away from us Trembling like a whino caught in the morning sun I told shock you to go get the police I hid it for the albatross where I figured I might get a lead on Mike basso's murderers When I got there I skipped the formality of the front door and quietly moved her out of the back Where I ended without knocking and made my way along a narrow dusky corridor as far as a half open door labeled Private where I met christine dyke talking on the telephone She looked up and gasped the side of me and then slammed the phone down abruptly I was willing to bet that the party on the other end had been husband johnny Nobody else what do you want marlowe most of all one johnny dyke and handcuffs Don't bother with the my man pitch honey because at the moment the lyrics will make me sick I just left the coughs that used to be mike basso basso Dad marlowe. Yeah All because of johnny's knife. It's sticking in his back chris Oh No marlowe johnny wouldn't do a thing like that. He couldn't you're wrong chris. He didn't now. Where is he? I don't know you're lying baby. You were just talking to him on the phone. You gotta know No, I don't he he didn't say where he was Oh, what or anything about basso being dead so Don't move marlowe well Husband with knife wife with gun charming couple ever might not I'm not going to see johnny in trouble again for something he didn't do So get in that closet marlowe where you'll be out of the way now. All right in it is But first baby a word of advice He isn't worth it. Believe me. I don't So get in and keep your mouth shut Closer than chris's office, which doubled as a storeroom to the restaurant had no window and a three inch thick oak for a door So I was 20 minutes as a one-man mob scene bouncing the inventory around before I was hurt The little man with a big meat cleaver of long the kitchen opened up and demanded to know what I was doing in there I heaved a number 10 tomato juice can adam for an answer started running and didn't stop until I was outside In my car and pointed for it guile's cottage The only other place I knew where johnny dyke might go for help Came to a stop at the house and found guiles himself standing on the outside steps looking puzzled at a pair of Tear lights that were blinking out of sight I knew I was too late. Yeah marlowe. It was christain And all upset about getting her hands on five hundred dollars said I had to lend it to her for johnny's sake She say why no only did he need it help murderers usually do Your boy dyke just killed basso guiles a knife in his back Johnny killed mike about an hour ago over on the beach Tell me did you give her the money? She ran out of the house before he even got to my safe about saying anything about saying a word marlowe I wouldn't even know she was gone yet if I hadn't heard Heard what guile Come on marlowe quickly Heard the draw open when I was inside near my safe I wonder what she was looking for when I called for it. You got no answer. You ran outside after is that it? Hey marlowe, they're gone the boat keys. She must have taken them for johnny Asking for the money was only a trick to get me out of the room. Wait a minute. Wait a minute What boat keys are you talking about guile? The master said marlowe two keys on a large brass ring They flipped the ignition lock on any boat at the basso docks. She knew I had them Yeah, but she also knew that even as a friend of johnny's you'd bark at handing him over if he knew he'd killed basso, right? Or are you still shielding old friends guiles? Which is it?  I'd draw the line something all right Now one more question. Do you have a gun a gun? Oh, yeah I do good and get it because we're going to the basso docks guiles. Come on Piled into my car and in something less than 10 minutes ripped through the wide empty streets to the basso docks Which were two parallel piers set about a hundred feet apart And jutting out deep into the bay with more than a score of boats moored to the input side of each But when we were out of the car and saw nothing of johnny dyke or the girl And heard no sound other than the dull thump of wood on wooden me rhythmic slap of water against the hulls I decided that we should split and I told guiles to search one pier carefully while I took off for the other But a minute later just as I started out alone over the oil soaked planking I remembered the panoramic view of the docks I'd gotten earlier that evening from basso's office So I stopped then turned and ran for the flight of wooden steps that led to it I was halfway up them when I stopped again There was somebody ahead of me and with a key opening the office door I crouched low And moved closer one slow step at a time Thought what I knew might be johnny dyke But in the next second the light clicked on in the office and I forgot all about being subtle And leveled the 38 in my hand at the belt buckle of the sharply silhouetted figure it was shocky I wouldn't move if I were you buster Marlowe shocky, who are you expecting? Nobody funny man, but I wouldn't want it to be johnny dyke at the moment He might want to settle old scores You know marlowe the price for two murders is the same as a price for one. So I've heard But now unless we strafe in the subject shocky do you mind telling me what you're doing here?  All right. I'm here because I don't like cops Right now they're done in a beach swimming around basso's body like kids are on a maypole Also, I figured that before he blew dyke might come up here after the money he knew basso always kept on hand Satisfied in a word. No, why not because I buy the switch first You're here shocky to steal that bill and let people think the dyke took it on his way out You can't prove that only because I haven't got time You see shocky It's an odds on bet that dykes out on one of those boats right now Just waiting for the What is it marlowe shocky? What time is it? Huh the time quick. What is it? It's 11 35 boy. What's that got to do with dyke shoving off from where I stand everything Now look shocky get back down to those cops get him up here and marlowe look over there at the end of the starboard here It's dyke. Yeah, I'm trying to get away. Go on shocky get to the cops fast I took the wooden steps back down to the docks three at a time and then raced across the starboard pier And out on the length of it until I was close enough to the end Or I could see johnny dyke climbing over one of the boats I was about to call him to stop when I saw something else Standing almost opposite me in the shadow of some nearby rigging gun in hand and taking careful aim at dyke Was ed guiles this finger slowly closing on the trigger was too late for words. So I followed suit and fired before he did Got him high in the shoulder It's me I know the man who murdered basso isn't he's right here guiles What do you mean marlowe?  You are framing him framing him so that you could get rid of basso and pin his murder on dyke Well, you'd also get rid of while playing public citizen who's helping the private detective apprehender killer But what do you say guiles? Is that it?  Yeah, what are you giving me honest? We figured that we'd be in the clear with the money we took from basso And with johnny welk talked away in a big strong prison.  I was gonna step into his spot.  They move it in. She's got a gun shoot. Come on Get away johnny get away from me.  Can you you cheap Ah Okay Okay It was a long hour of questions and answers before the police were finished And they'd left with chris and guiles and tow Johnny and I were standing alone out on the end of the pier where I was looking down at the shallow black water below and Listening to him try to convince himself that the whole night had been something more than a bad dream Chris against me guiles against me from the very beginning marlo. That's right Guiles because he wanted to be in basso's place My wife chris because She wanted him that's right When basso hired me to see what you had in mind after that beating he'd taken from What he thought was you but it was really guiles laying the groundwork I fell into the role of star witness. Hmm somebody reliable enough for them both to play against Oh Yeah, I get it So you could testify that it at first guiles had tried to shield me like a good friend Yeah, and in any end had to kill me when I tried to escape Sure And just to make sure there were no slips Chris kept feeding you instructions under the heading of wifely advice Yeah, it practically ran on a timetable johnny.  Huh? How was that marlo? Well, look, he said he saw you beat up basso in his office at 11 30 last night when he was down on the deck of basso's private launch Investigating a strange noise. Yeah. Well, johnny. He couldn't have Because at 11 30 last night as well as 11 30 tonight The tide was low Of course the launch with it and from basso's office. You couldn't even see the launch Yeah Or the other way around From the launch, you couldn't see the office, right? That's it So in the end johnny, you did have a friend who stuck by you The sea Yeah I guess that's as good a place as any for me Maybe the sooner the better any place in particular No, just the sea I'll drop you a card whenever I make port marlo After all, I really had two friends. I won't forget that I watched him walk away Until he'd gone the length of the empty pier and was swallowed up in the empty at night Then I turned back to the shallow black water beneath me Which where the sea and the land were close to meeting Was coated thick with oil And dirty But almost stagnant And I thought a lot about johnny people like chris and guiles he'd mixed with and trusted I felt sorry for But then Then I looked up a little Away from the water at the pier and I'll tour the open sea where it was deeper cleaner The further I looked Cleaner it seemed to be Then I remembered that was where johnny dyke was heading And I felt better Adventures of philip marlo created by raymond chandler star jerald moore and are produced and directed by Norman mcdonnell script is by melden ellie robert mitchell and gene levitt Features in the cast were michael ann barrett lou krugman howard cover frank gerstle georgia ellis and frank richards The special music is by richard orant be sure to be with us again next week when philip marlo says I was hired to find a thief and I did 8 000 miles away from home But first I found a hammy athelo a lush with a luger and a fresh corpse in the closet All because the only woman in sight Wouldn't play fair A tortoise told a household pest Goodbye. Goodbye An md said you'll pass the test Up in the sky This is the newest phantom lyric on cbs's saturday night sing it again program And later tonight over most of these same cbs network stations. You'll hear the phantom himself singing them $51 000 ride on solving the phantom's identity and answering one more question about him 26 000 in wonderful prizes for telling who he is 25 000 in cash for answering the extra question How's for listening in tonight phone calls go out to cbs listeners throughout the nation This is roi roan speaking Now stay tuned for gangbusters which follows immediately over most of the same cbs stations This is cbs the columbia broadcasting system