Thank y'all so much for being patient with us. We had a really jam packed agenda and executive session agenda, and we were trying to get everything taken care of before we came out here and did the people's business. So thank you for being here. Madam Clerk, would you please call the roll? Certainly. Good evening. Mr. Rickerman? Aye. Mr. McDowell? Mr. Duvall? Yeah. Mr. Vines? Mr. Davis? Aye. Mayor Benjamin? Here. Would you all please stand and join us for the Pledge of Allegiance? Mr. McDowell, would you bless us with a word of prayer? As you bestow it upon us for this time of community, what we simply ask that you might touch us individually and collectively. Allow us to be sensitive to your will and to your way. Allow conversation to be involved, that we involve ourselves in before the betterment of your kingdom here on earth. Blessed is city, blessed those who dwell therein. We ask it in your name. Amen. Amen. Thank you. Is there a motion to adopt the agenda? So move. Is there any discussion? We'll move to the previous question. Clerk, call the roll. Mr. Rickerman? Aye. Mr. McDowell? Yes. Mr. Duvall? Aye. Mr. Vines? Mr. Davis? Aye. Mayor Benjamin? Aye. Madam City Manager? Yes, sir. Mr. Mayor, we would ask for any public input related to the agenda items as outlined. Is there a motion? If there are none at this time, we would ask Council to approve the December 19, 2017, and February 6, 2018 City Council meeting minutes. There's a motion. I'll move. Second. Move in second. Any discussion? Seeing none, I'll move the previous question. Clerk, call the roll. Mr. Rickerman? Aye. Mr. McDowell? Yes. Mr. Duvall? Aye. Mr. Vines? Aye. Mr. Davis? Aye. Mayor Benjamin? Aye. Council is asked to approve consent agenda items 10 through 18. There's a motion. I'll move. Is there a second? Second. All right. Any discussion? Seeing none, we'll move the, I'm sorry, discussion. Mr. Rickerman? Get your microphone on, too, dear. Item 13, Mr. Rickerman? Yes, please. Yes, sir. And these improvements have been a long time incoming. I know that the Martin Luther King Park community members have been involved and also briefed with us. And Vivian is here, President of the neighborhood. Yes. All right. Thanks, please. The local citizens are in support of the project as well. Any specific questions? Yeah, I mean, can you describe the project? Oh, Danny, you probably better shoot than I am. Sure. So what we're doing is traditionally on the, let's see, eastern side of Rocky Branch as it goes through MLK, that's the upper side, I guess. There's areas that are traditionally wet. So what we're going to do is create like manmade wetlands, so to speak, with boardwalks and educational opportunities and dry out the areas that are more upland and graded so that it can be used for more play field. So our usable space is actually the same, but yet we're adding that educational component as well as providing a lot of water quality, which this is an urban stream. So we're constantly trying to look for opportunities. So will that take the area there? So if you're looking at the park from the five point side, looking back, the area that was put, the riprap there that is used to slow it down, are you incorporating in that so it becomes park? It's the opposite side. It's going to be opposite. So we're not doing anything on that side to improve that at all? No, we've actually talked to the neighborhood about taking out some of that riprap now that it's stabilized over there. So that's something that we'll also be looking at. And I know Mr. Davis, our Parks and Rec Director, has been talking about upgrading the facilities, some of the playground areas and stuff. It's divine has been part of those discussions. So we've all been talking to the neighborhood quite a bit. Just on the sidebar of that. So further down the stream as we get to Maxie Gregg, have we looked at taking part of that and creating an excess, what I would call reservoir, and doing the same thing? Because that seems to be a popular thing now is to create some bridges and create a bioswell, I guess is the proper term, or bioretention pond. Absolutely. It really helps with the overflow. So we're getting it. So it's not choked up into the park anymore? Right. That's exactly what we're doing. Our program management firm, we're under negotiations. And we should be able to announce that this week, I believe, is what procurement was telling us. And Mars, you'll be getting that before you. And they will be helping us identify areas. But we have that funding where we can take a look and at those opportunities, absolutely. Thank you very much. Dana might be helpful. They do have schematics.  So if you could share that with the members of council so everybody can see what it'll look like. Be happy to. I'll just send that email out and get those to you. OK. All right. Thank you. Mr. Mayor, we wanted to also for the record note that Ladd Corporation of West Columbia is a woman-owned business enterprise. All right. Interesting. Thank you. Thank you. All right. Any further questions? Craig Collarole? Hi. Mr. McDowell? Hi. Mr. Duvall? Hi. Mr. Vines? Hi. Mr. Davis? Hi. Mayor Benjamin? Hi. Moving into a period of presentations, we would ask the Reverend Clark McGrib President of the Midlands Coalition of Churches to come forward for a special recognition of the honorable Sam Davis. Mr. Mayor, council members, good evening. I'm Clark McGriff, currently the pastor or rather the president of the Midland Coalition of Churches, which is a 25-year-old body which comprises about 31 churches in the Greater Metro area. Each year, we hold a Martin Luther King Junior prayer breakfast somewhere in the city to recognize not only Dr. King's legacy, but also the work and service of members of our churches and other members of the community. At this past breakfast in January, this past January, the coalition recognized Council Davis for his many years of service, not only to this council, but also in the Greater Metro community.  So, Councilman Davis, if you would come, let us. Let's give him a round of applause. And it reads, Midland Coalition of Churches presents the Dr. Martin Luther King Junior Leadership Award to Councilman Sam Davis for your entire service as an administrator, organizer, and Christian leader, your outstanding leadership as a Christian educator, community, and civic leader as well on this 13th day of January, 2018. We appreciate your service, and we appreciate what you have done for our community. Thank you so much. Thank you, Reverend McGrath. Deacon, it's always good seeing you too. Thank you. Thank you all for recognizing Sam's hard work. Mr. Davis is not like receiving the award, y'all. He does not like public recognition, but sometimes it's good to just folks say thank you. Thank you. I appreciate it. I don't expect it, but I'm just pleased that there are some folks who are committed to the cause and working on behalf of fellow men with no expectations in return. Thank you. Amen. Amen. Thank you, Sam. Madam City Manager. Thank you, Mr. Davis. Thank you, Reverend McGrath. The resolution before you, Council, is resolution number R-2018-009, approving the honorary naming of the 1,000 block of Blossom Street between Assembly Street and Hughes Street Ward 1 Way. What about that? Is there a second? Second. Discussion. I will tell you that I'm amongst a large group of Council folks who've been waiting for formal recognition of this incredible neighborhood for a long time. I was shaking hands. And Ms. Maddie said, you have no idea how long we've been waiting for this for so long. And God bless the soul of Ms. Agnes Perez, who come here. And literally, I figured that we grab us by our collars and our ears and make sure that she had us straight. And we see here in this body of the representation of the children and the grandchildren of Ward 1 a community that for so long led the cultural and social and educational fabric of this community. And in the name of urban renewal, we displaced so many pillars of this community. And probably the greatest benefit of it is that we spread people out all across the city. And people all across this community were able to benefit from the incredible rich fabric that made Ward 1 as strong as it was. I will tell you, each and every one of you, and it's amazing to see so many of you in the individual capacity around this community, it's rare when you see all of you together at one point. And it really helps you fully appreciate what the Ward 1 community has meant, not just to Columbia, South Carolina, but to the state and to this country. And it is our pleasure, on behalf of the people of the city of Columbia, to name the 1,000 block of Boston Street and between Hugee and Assembly Street as Ward 1 away. So please. Please. Ms. May, I'm not sure if you want to say a word or someone's going to say a word. And then we'd love to take a very quick photograph with everyone, memorializing this for posterity.  We need people in cyberspace to hear you. We've got to have this on the record. Bobby Donaldson would not be happy if we didn't have this on the record for posterity, so please. Sir. Yes, ma'am. Thank you so much for inviting me to this podium today. It is the realization of what's happening in these halls that we'll call a city hall. And Mayor, we just want to say to you, the city council, and everyone that's here, that we, on behalf of all of our ancestors, have just been waiting for the day just to have this recognition and to just be, and we are honored that you all have decided to do this and to actually name the street along where most of us grew up in winter school, a Saxon elementary school. And of course, on the corner, and I would like David to come and join me, please, Agnes' son, alongside his mother's home at Park and Blossom streets, is now going to have the honor of being named Ward 1 Way. So I'd like to just have David, just to say a brief thank you as well. Mr. Mayor, city council, on behalf of my mother, Agnes Perez, and the family, I'd just like to say thank you. Her passion was for her community that she was raised in to be recognized. And with this, all I can say is thank you. It's a come to fruition. I'd like to thank the Ward 1 community and Dr. Donaldson in his absence for helping her dream to come true. Amen. Thank you. Amen. Amen. Did we break the podium? Keep on moving. Patterns, Mayor Finchamon. Madam City Manager? Yes, sir. Item 21, council is asked to approve the insulation of one additional streetlight each. So moved. Is there a second? I can't. Any discussion? Seeing none, move the previous question. Call the roll. Mr. Rickerman? Aye. Mr. McDowell? Yes. Mr. Duvall? Aye. Mr. Vine? Aye. Mr. David? Aye. Mayor Benjamin? Aye. Item 22, Mayor Benjamin and council is a continuation of the discussion from our work session. It's a recent one. Yes, sir. Daniel? Could I ask Mr. Anderson a question before we do this real quickly? Absolutely. I'm sorry. I had sent an email earlier with a petition from a neighborhood about. Risington Way. Bellfield? Bellfield, I'm sorry, yes. For the speed humps. We're actually doing the traffic counts on it. It is a DOT road. We do know that we're having some issues of DOT right now with speed humps. So depending on the outcome, we'll discuss with you once we get the speed counts done. Thank you. OK. What area was that, Daniel? Bellfield? Was it Bellfield you said? Bellfield? No, it's my Bellfield in District 4. All right. Hey, look. Is this a check? Hey, that's not me. Good checking. Remember when Dallas said, what now? Bellfield. I didn't hear about that. Just checking. Thank you. All right. Missy? If you recall, on February 6, we did a joint presentation with a lot of departments about the city's affordable housing initiative. We were asked to come back with our recommendations so that you all could actually memorialize them. So that's what we're doing today. These slides should look really familiar to you. We've extracted the ones with recommendations. So I'll just go through them real quick. Again, we're talking about leveraging funding opportunities. So tonight I'm going to talk about the two that are bold. The one in the middle is actually our DR money. And that will be allocated per our Action Plan for DR. And that will be available in the coming future. We will issue a NOFA to make that funding available for projects. So talking about the Revolving Loan Fund dollars, we are recommending we reallocate $250,000 from the CDBG Revolving Loan Fund to dedicate it for an affordable housing initiative. Staff will develop that criteria. You see a list of some of the criteria. We will obviously have to follow a lot of the CDBG guidelines for that funding. So that's one of the action items we're asking you to approve tonight. Another one is another $250,000 from the General Fund Revolving Loan. And that will not have quite as many restrictions as the CDBG dollars. But again, we will develop criteria. This could be citywide instead of just our targeted area. I absolutely support both of them and ready to act on them. I would ask as we're developing the criteria, let's also give, I think, added weight to those who are looking to leverage other funds as well. I mean, so there are other sources of funding. Can we add to that, Mr. Mayor? I think one of the things that we learned in Charlotte that was very interesting is that a lot of the housing by having expediated services and maybe, you know, looking at alternatives and depending on where they are, they have to go through a different, you know, DDRC or something like that. There's a different way to help people get through that process to make them to create the same kind of, the places that we saw had mixed use. So you didn't know who was an affordable unit and who wasn't. And it was really fantastic. The Crosling Company did it. EW made that trip for us twice and it was very eye-opening. And we haven't seemed to be able to make that happen here. So I'd like to try to see how we could include that in this as you're doing the guidelines. Okay. And we have talked a lot about blended income projects instead of targeting just low income projects. Mix income. Yeah, sure. The other recommendation, if you recall, was related to the tax revenues generated from student housing projects in Sylvie Station. This request is simply to ask staff to consider programming this during the budget discussions that are coming up. So the following slide is just a summary of those three action items. Sure. So we're talking about roughly $861,000 per year added to the plot with preference to be given to leveraged dollars as well as consideration for expedited permitting and design of adding to the criteria. We'll talk about the criteria more, but adding these, the potential leverages into significant resources for more housing for people who want to call Columbia home is a big deal. So is there a request for action tonight? So moved. Yes. Staff, the council had asked staff to bring back these recommendations just in memorial. So moved. Is there a second? Second. Mr. Mayor. And Mr. Duvall. I just want to point out that the last item which is taking the money from the student housing is staff is to consider allocating those taxes. So if we get into a really tight budget and we need $361,000, that would be money that could go into the general fund. So I'm perfectly happy with putting in towards... It's money. It's money that is in the general fund. But staff, latitude to use it otherwise. Absolutely. Absolutely. No, it is in general fund. Yes, sir. Mr. Mayor and Mr. Duvall, to your point, we wanted to be very careful of the wording of the motion so that it's of consideration if appropriate, you know, based off funds availability. Absolutely. Yes, sir. Absolutely. And I'm excited about the CDBGDR. I mean, as I see it as a possibility, some of the really fantastic projects that we've had on you just, you know, ready to get going. Wow. And again, get those moving. Mr. Mayor, I wanted to... Yes, sir. I'm sorry, Mr. Davis. Can we reiterate, I think, for the public? Sure. Would you reiterate for the public the origins of these dollars? Well, the revolving loan fund from CDBG was generated through CDBG dollars, so that money has some restrictions to it of how it can be used. So that's why those guidelines will be different than the general fund. He meant student housing, I apologize. The new tax revenue from student housing has grown significantly in Columbia. We're talking about sequestering these dollars, having the latitude to sequester these dollars to help develop more workforce housing in the city. So the significant growth we've seen in student housing using these funds as shown on the screen above us right now. Okay. But the... Move to the previous question. I'm Clark Colorado. Mr. Rickerman. Hi. Mr. McDowell. Yes. Mr. Bevall. Hi. Mr. Lange. Hi. Mr. Davis. Hi. Mr. Benjamin. Hi. Thank you so much for coming before us so we can give some folks go ahead to rock and roll on some projects. Thank you so much for your work in disguise. Yes. I'm coming back to my memo too, just so y'all know. I'm coming back. Okay. I got you. Mr. American, I can add to your memo and there are a lot of folks anxiously awaiting that and an action by this council just yesterday, the developer that we stood with for the senior housing project on North Main, I think you're urging is looking at other areas within the city. They want to be a partner and invest more in Columbia. And I think that if we have the right tools, we'll have a lot of private developers coming to the table. Oh, yeah. High quality developers from who are local and those who are from nearby and far away who want to make sure that we remain a city for all people. And I think it's an exciting prospect. Thank you. Madam City Manager. Yes, sir. We have one item from the work session for council to take action upon, which is the approval of the request for funding from the hospitality tax fund. These would be surplus dollars and to amend the fiscal year 2017-2018 hospitality tax budget. Yeah, good. And we had a robust discussion and obviously there's not unanimity and a number of opinions that have been shared all well-heeled and well-intentioned. But I want to get ahead and make this motion and we'll have a discussion period if necessary and then we'll move forward. I want to make a motion to make the following allocations from the hospitality tax surplus. Security cameras, hospitality districts, $75,000. The City Center Partnership Ambassador Program, $40,000. The MetaCapacity Classic, $7,000. NCAA basketball tournament, planning for the 2019 tournament, $75,000. State firefighters conference, $6,000. Regional sports council for marketing, $75,000. For the Girl Scouts, $130,000. Language Buzz, the Cinco de Mayo Festival, $5,000. Penn Meta Opera, $10,000. The Five Points Food and Wine Festival, $10,000. The Salamander Expansion of the Walkman Tour, $5,620. And the Black Expo, $25,000. In addition to that motion, those are all FY17-18 dollars. In addition, I want to make the final allocation for the fiscal year 1819, a three-year commitment to the Congruy Vista Guild Clean and Safe Program of $115,000 each year. Is there a second? Second. Is there a discussion? All right, I think everyone's on record at the work session with their concerns and questions and positions. We'll move to the previous question. The court call the roll. Mr. Rickerman. No. Mr. McDowell. No. Mr. DÉva. Mr. Vavain. Mr. McDowell. Mr. Doulton. No. Mr. Doulton. Mr.ct preservationist. No. Mr. Growingante. Mr.avian. Mr. Wolves. Mr. Díem. Mr. Kingar. Mr. D bypass. Mr. Newton. Mr. Irivade. Mr. D разрhao. Upstain. He's moving in the right direction. I'm gonna amend my motion. He's amended. We've already voted. We're in the middle of a vote. I'm not sure that this is parliamentary correct. We've got to vote it through and read. Secondary. Mr. Mayor, I call a point of order. Point of order, Mr. Mayor. I'm gonna amend my motion. You can't amend the motion, Mr. Mayor. We're in the middle of the vote. You've got to continue this vote and then you can make another motion. Is there a substitute? I can go ahead and finish the roll call if you want to make a motion. I'll turn to the motion. Aye. Is there another motion? Yeah, I'd like to substitute. Am I substituting correctly? Yes, sir. What was the outcome of the first motion? The motion failed, Mr. DuVall. Not a substitute, but this is the forming of a new motion. Yes, sir. I suppose I can read them all. Why don't you say that there are three that Mr. McDowell hold? With the exception of the names that we've called that we consider the three, there are three areas that I'd like to reconsider for March 6. That's the language arts, buzz, Cinco de Mayo, the Palmetto Opera and Black Expo. All right, so a motion on all of the others, with the exception of those three, I'll second that motion. Is there any discussion? I'll move the previous question. Clerk, call her all. Yes. Mr. DuVall. No. Mr. Vine. Mr. Davis. Aye. Mayor Benjamin. I am, thank God. And the others to be added for consideration on the 6th for Mr. McDowell's motion. All right. Item 24, we've had, I think, a compelling presentation discussion with the progressive network regarding the Majesta Simpson School for Human Rights to the Environment and Infrastructure Committee. There's a motion to send it there for this full discussion and presentation to the council. So moved. Is there any discussion? We'll move the previous question. Clerk, call her all. Mr. Rickerman. Aye. Mr. McDowell. Aye. Mr. DuVall. Aye. Mr. Vine. Aye. Mr. Davis. Aye. Mayor Benjamin. Aye. All right. And let's get that meeting set up pretty quick. I think we have some questions that staff questions. We had to make sure we resolve as well regarding this project. So let's make sure we have the questions answered. Mr. Rickerman. Mr. Chairman, we'll meet when we're ready. Who is the chair? I'm the chair. I'm the chair. Okay. Okay. Mr. Rickerman and I will get together and we'll let you know. All right. Nikki, anyone signing? Is there a non-debatable motion to adjourn? Move. Move. Is there a second? Second. I'm with the previous question. Clerk, call her all. Mr. Rickerman. Aye. Mr. McDowell. Thank you. Mr. DuVall. Mr. Vine. Aye. Mr. Davis. Aye.


All right, so you're rejecting permitting these premises, right? Rejecting this conclusion. So you have to reject one of the premises, which means you are committed on pain of your rationality to one of the, one of the, one of the contradictory other premises. Okay. So the first one we look at is this that we can coherently say there are multiple objects, but we cannot coherently say there are at least two things. Well, this one is a logical contradiction. Right? So as we, we can coherently say there's multiple things, but not at least two. Well, we can't have at least two of them. We can't have three, four, five, six, and the rest. Right? And if we can't have any multiplicity, well, we, we can't have multiples. So this, rejecting this premise results in a logical contradiction. All right. Now we're trying to say we can coherently say there are at least two things, but we can't coherently say they are not fused together. Well, if there's two things, how can there be something other than not fused together? Right? If, I mean, that would be like saying all this stuff, right? All the trees, the grass, the air, the water, me, it's all fused together. It's all one part of one mass, but multiple. This is also probably a logical contradiction. We just understand things as being distinct in virtue of them not being fused. Right? Now, even right now, right, you are not fused to your clothes, right? Your skin and your clothes are not part of the same mass. They're distinct. They're distinct. They're not fused together. Um, you know, think about this, I think about a pineapple, right?  You think there's one fruit there, hence a pineapple, right? You don't point at a single one and say those pineapples. No, you think it's one fruit. Well, it is, right? It is one fruit, but, you know, you may or may not be aware of this, but pineapples don't start out as one fruit. They start out as a bunch of separate fruits and then they fuse together. Now, in virtue of being fused together, right, it becomes one pineapple. So to say that we can't coherently say that there's multiple objects, but we can't coherently say they are not fused together, this is also probably a logical contradiction, because we just understand division between multiple things as not being fused, right? They're not of one mass, they're of a bunch of different masses, distinct masses. All right, so this one we're saying we can coherently say that these objects, so the trees, the grass, all that, they're not fused together, but we can't coherently say that there's a space where something does not exist, right? So, you know, if we say this, if we endorse this contradictory to the premise, what we're saying is, well, with all these things, right, there's still something between them, right? There's no space of emptiness, there's always something, right? So, you know, right now I've got, you can see a little bit of tree here. There's something here between us. Now, today we're like, oh yeah, I mean there's air, we're like, oh, okay, there's air, that's true. But air molecules are a lot further apart from each other than, you know, the molecules that compose this tree, right? And, you know, even if we're going to say, fine, that that's air, we're not, you know, we saw the issue, okay, cool. But there's plenty of, plenty of the best of the physical sciences that describe nothingness between objects, right? We call it space, right? We call it space. Space is the emptiness between planets and moons and stars and commons and everything else.  There's, you know, okay, there's some little bits here and there. Something's true, right? There's space dust, but there's lots of emptiness with that space dust. And we can go further with other examples of physics. You know, the subatomic particles, protons, neutrons, electrons, there's lots of emptiness within an atom itself. So, but if we say that, you know, we can't go here and they say there's a space or something that does not exist. But, you know, for any two objects, there's always something that exists, right? They're right up next to each other. There's no emptiness between them. Now, you know, in case you didn't know, people took this notion very seriously for a long time. And even in the physical sciences, in the physical sciences, they called it ether, right? Ether is what existed between objects. It was a substance. I mean, it was an existing thing. It was a substance that existed between objects. So there's this ether between my hand and the plant. And ether is also the medium for sound and for light. Okay. Well, ether was rejected as an existing thing when they tried to, you know, really seriously look for it. It wasn't just a theoretical construct. You know, they went looking for it and trying to measure ether. I think it was called the Mickelson-Morley experiment, the Mickelson-Morley experiment. And the, you know, what happened with this experiment is they were trying to find ether. Well, they couldn't do it. They couldn't find ether with this experiment. And this was in 1887. So ether, this thing that exists between objects, right, was rejected pretty late in the game, right? In 1887, that's not too long ago when that happened. So if you're going to endorse this contradictory to the premise, you're going to have to show, you have to explain, what this thing is that's between objects because, you know, so far they haven't been able to find it. So you have to reject the best that the physical sciences have to offer. Okay. So for this one, we say, well, we can currently say there's a space where something does not exist. Right? So here, here's the space. There's nothing in it, right? My hands are hating it. You might say, well, we do this all the time. What's the problem, Dr. Haugen? Come on. And when we talk about space as a void, as a nothingness, it's what, you know, between planets, there's nothingness. There's space. Okay. Well, I suppose you could try to do this, but you're going to run into some problems. So even just take the phrase, something does not exist. What does that mean?  Right? Something is a word that means, well, there's a thing there that exists. So when we say something does not exist, we're saying there's a thing there that exists that does not exist. I mean, that's a direct logical contradiction, right? It rejects itself.  So even just trying to put together the phrase something does not exist is a self-a-logical contradiction. And it's the only way that we can do it. I mean, think of it this way. Okay. In any sentence where you're going to talk about nothing, right? Any time we try to talk about nothing, you're running into deep conceptual problems right from the get-go. Every sentence that deals with what's true or false is called a declarative sentence, right? And it's your simple statements like, there is a tree. There is another tree. It is sunny today. It is breezy today. All right. The weather is breezy. The weather is sunny, right? These are all declarative sentences. Every last declarative sentence, regardless of what language you're dealing with, has a subject and a predicate. A subject is what is described? A predicate is describing. Can we use nothing as either a subject or a predicate? Well, if we say it's a subject, then we're saying, right, nothing can be described. How? You can't describe nothing. It doesn't exist, right? There's nothing. It doesn't have a color. It doesn't have a scent. It doesn't have a touch, right? It doesn't take up space. How many nothings are around me right now? One? Nineteen? Forty-eight billion? So nothing cannot be a subject. How about a predicate? Can you describe something as nothing? So, hey, here's a tree. Let's describe it with nothing. No, that ain't going to work either, right? You can't use nothing as a description. So nothing cannot be either a subject or a predicate, which means it can't be included in a declarative sentence. No sentence that deals with what's true or what's false can coherently deal with nothing. I mean, just take the different kinds of words that are out there, a noun. Can nothing be a noun? Well, what kind of word is a noun? A noun is a person, place, a thing. And of which of those is nothing? How about an adjective? An adjective is described, right? Green, warm, breezy, right? These are all adjectives. Can you describe something with nothing? Can nothing be an adjective? No, it doesn't describe anything. How about a verb? What did you do today? I did nothing. I realize your average teenager says that, but, you know, it's impossible to do nothing, literally.  Yeah, there is nothing in the universe. Listen to the inherent contradiction, right? There's nothing in the universe that does nothing. Everything is doing something. Everything is doing something. So, to say that you can coherently talk about nothing, you've got to overcome some serious hurdles. You've got to somehow make it coherent within a declarative sentence. It's got to make sense as a proper part of speech, as either a noun or a verb or an adverb. This can't be done. Every time we talk about nothing, it's incoherent. It's illogical. Well, you might say, oh, okay, that's some fancy grammar play, Dr. Halgo. But as a matter of fact, we do talk about nothing all the time. We talk about it in cosmology when we're dealing with planets and moons and stars. We're talking about space. And space is a nothing. That's nothingness, is it? I mean, when we talk about... Look up your definition of space. They don't... I did a quick search. Hardly any website describes it merely as a nothing, right? They call it the space, or excuse me, they call it as an expanse or dimension, right? Expanses and dimensions, these are some things, right? These are things that, I'm guessing, are some kind of reality, right? But if we overcome that hurdle, it's not as if space is inert. What happens to space in the gravity field? Every last object that has mass exerts a gravitational field. And this is how they talk about space, right? They say, if you look this up, gravity bends space. I've seen these, like, diagrams.  And then you have this diagram showing this dip. They call it gravity well, right? That sort of thing.  Our planet exerts a pretty heavy gravitational field. So does our sun, right? It bends space. Okay. Gravity bends space. Can you bend nothing? Well, here, let's try. Okay, I'm going to grab some nothing here. I'm going to grab some nothing here. Look at that. I bent nothing. Boy, that was hard. You can't bend nothing. So space, whatever it is, right? It's still not a nothing. And if it's not a nothing, it's a something. So even in that case, we can't coherently talk about nothing. And, you know, I've just got finished mentioning ether a minute ago. It kind of looks like we haven't completely given up on ether either, right? Because if nothing, if space can be bent, it's a something. And it's between all objects. I don't think we entirely gave up on ether. I think we just started calling up a different name and changed some of its properties. All right, now we have this one which says, perception reliably gives us the truth about multiple objects, but we can't coherently say there are multiple objects. So I look around, right? I look around and perception reliably tells me about multiplicity, but I can't talk about it. I mean, this isn't strictly speaking a logical contradiction, right? It's not saying perception reliably gives the truth and it does not reliably give the truth, right? That would be a logical contradiction. Now it says perception reliably gives the truth. I just can't talk about it, not coherently anyway. And that's a really weird statement, right? I know the truth, but I'm not going to tell you. Now I suppose you can go this way if you like, because it's not a logical contradiction and maybe now you get to keep at least beliefs about multiplicity, but you can't talk about multiplicity anymore. And by the way, if you can't talk about multiplicity, if you can't talk about the vision between objects, I look here and I see at least 10 trees. If you can't talk about multiplicity, goodbye physical sciences. We can't do physical sciences anymore because we need the ability to talk about multiple things and the physical sciences.


Let's talk about your team because your team is in fact 4-in-1 which is incredible best start since 2009. Are you and our fans there in my old city of New York believing? Yeah, I think they are believing, but they're believing in the culture shift. I don't think there's an illusion that this team is this year away from a Super Bowl. But what they're seeing is a culture shift. They're seeing players that believe in the system and they're looking at football in I would say modern day era football in terms of how it's played on both sides of the football like the way Bryan Day ball and Mike Kafka, how they run offenses is not what Giants fans are accustomed to. They're, you know, anytime something goes wrong, they always want to go back to the Parcels days or the Coughlin days and though Kevin Gilbright was a forward thinker in terms of how he ran his offense, these guys are doing things a little differently. They're approaching NFL on today's NFL terms.


The acting National Chairman of the People's Democratic Party, Ambassador Umar Damagou, has appealed to party members to let bygones be bygones and come up with practical solutions to the challenges bedeviling the party. He made the appeal in his opening remarks at a meeting of the Party's National Working Committee, Select Committee, in Abuja on Tuesday. Speaking in a similar vein, the National Organizing Secretary of the party, Umar Baturi, while welcoming invited guests to the meeting, said it was called to douse the tension within the party as a result of the aftermath of the 2023 elections. This meeting is going to be an interactive session, and I want us to be cautious of the fact that while making a contribution, we should be mindful of the fact that we are one family. Contribute in a manner that will not have the sensibility of that. Everybody here knows what happened in 2023. We contributed individually, we contributed collectively. So what Mr. Chairman said is, if you rise to speak, I beg you to state your own role in 2023 elections, either positive or negative, before you jump to accuse somebody either negative or positive. We are called sort of names because we went to Patakot, and I believe it will come up here. In my statement today, somebody said we should suspend somebody. I said no. He's free to go to wherever he wants to go. Suspending him means you have acknowledged the fact that he has done bad to the party. Suspension will not be an answer to bad behavior of the party. You get notified about fresh news updates.


Hei. Yn y bwysig o'r sgwrdd o'r cwmhysgfaethau a'r llog ar gynllun. Mae wedi rhoi bod eich rhai yn oed i Rhyw Rhyw Rhaidion, ac efallai eich bod yn ystod o'u mynd i mi. Yn Rhaidion yw ymddangos ar gyfer y cyfrifodau yn Llywodraeth Gwmysgfaeth, ac mae'r cyfrifodau yn ymddangos ar gyfer Llywodraeth Gwmysgfaeth? Llywodraeth Gwmysgfaeth? Llywodraeth Gwmysgfaeth. Ryan wasnt directly involved in this project, but this is a partnership project that we did with Commerce Guys. Ryan may have lots of questions during this. I've got lots to talk about, lots to tell you, but Ryan may have questions coming through. We'll have lots of time for questions at the end from anyone. I also feel comfortable not having been involved in the project to say that it's pretty epic, Rich. Just the sheer depth of functionality that we just saw is pretty impressive. Rich, I don't know your title at ICOS, other than owner. I pull in the strings. Rich has been a long time contributor to Drupal Commerce with his team. We've had a great partnership for the last several years, maybe since 2010, I'm not sure. Having supportive partners like ICOS is essential to the development of Drupal Commerce and the Commerce Ecosystem. Of course, to Commerce Guys as a company. Really value you guys and appreciate what you've done, especially with flagship sites like Lush. Thank you very much. The first thing about Lush that was brilliant is that let's talk about it. You do so many of these sites and it has to be behind closed doors. You're not really allowed to talk about how you've gone about it. I'm sure everyone has experienced that. With Lush, they're a pretty open company and they're very happy for us to talk about the project. But if you've never heard of them, let me just check that first. Who's actually heard of Lush? Who's outside of the UK? I know Miles uses the lip scrab. Lush Digital would be working with. They're a high street store, a very big store in the UK. They're an ethical, natural handmade cosmetics company. In the UK, they're sort of known as the bath bomb people. That's their key product that everyone knows them for.  The combination of smells coming out of there. But is anyone we got involved that we understood a little bit more about this company and how much more there was to them than just this sort of bath bomb store? They're based out of the UK, but they do actually have, well, at the time I wrote this slide, 900 plus stores in 50 different countries around the world. And a massive turnover, which has far exceeded what we expected for what we perceived that company to be. So there's a more than $600 million turnover, and I'm sure that number's out of date as well. So we got involved with Lush in a joint pitch with Commerce Guys. And what they were trying to do, what they presented to us, what their vision was, what they were trying to achieve with their website. And it was very much about what they've called, is now an industry term, content driven commerce. And the idea of this, it's about mixing selling products with the stories that go behind them. So gone are the days where you build a brochure website and then strap a commerce site onto the side of it. This is now, what we're seeing in the market is all about merging these things together, making the stories that sell the products. So people don't just want to see lists of products anymore and press add to cart. They want to know a bit the background, they want to know a bit more about what's going on. Now with Lush, they're, as I say, they're a very ethical company. They do a lot of charity work. They have people out in the world looking for ingredients, ethically sourcing ingredients and stuff like that. And smoking charity pot. Yep. So they have got people out there and they've got good stories. They've got every ingredient that goes into these products, has a story that goes behind it about where it might have come from, maybe the farmers or the fair trade people that have been working with it. So this is a perfect brand to be able to do this storytelling kind of e-commerce. So what they were looking for was a way to merge together their website stories and their e-commerce. And that's how we were able to win the pitch really with Drupal and Drupal Commerce because they were looking at the time at the big name e-commerce branders. But what we were able to offer was the combination of content and commerce within one platform because Drupal Commerce being a set of modules that adds on to Drupal. Drupal has all the community, content management and everything else and the extensibility. So that gave us a real edge being able to look at it that way. The other thing was of course being open source, it appealed to their ethics and the way the company operates. So that was another big advantage for us. So this site in particular wasn't a one man show by any means. We were working with Commerce Guys from the beginning. We also were working with a design agency called Method who are a London based agency. So they did all of the visual design and interaction work. And then of course we were working with the lush digital team in-house, their own developers and their own design team. What I wanted to show you today, I want to break down this site because I have the opportunity to tell you a little bit more about what's under the hood. So we're going to do a bit of a deconstruction today. And I want to talk to you about the different elements of how we built the site. How we used a pattern guide or a style guide, depending on what the trendy term is at the moment. How we built some particularly complex page layouts and the techniques we used. How we did the search and catalogue pages using Apache Solar. And how we integrated lots of different third party systems to inter-Drupal to provide the best combination of features. And then finally, a little bit about performance. Because as you can imagine, e-commerce sites need to perform. They need to be fast. And this particular one is under very high demand. There's lots of traffic, lots of customers. So I want to talk a little bit about how we address those sorts of performance issues. And Ryan, if you want me to elaborate on anything. I'll ask the hard questions. We've got some time to do that. So it was really important on this site that the design was done in collaboration with us. There's a live, what we did in the end was we developed a live pattern guide. This site needed to handle six break points. So it's incredibly detailed, responsive work. It wasn't so much about mobile, tablet, desktop. It was very much the design will switch depending on the size of the browser that you're looking at. And we knew this was going to be a massive amount of work to do. And we also knew that we had a lot of work to do on the Drupal side. And we couldn't really wait to get the Drupal stuff done and then start working on the theme like maybe traditionally would do. So we came up with this, we'd seen around people like Starbucks and they've got their star guides out there and we were inspired by this. And we decided to build a star guide for Lush outside of Drupal. We ended up using Jekyll. And what we were able to build was the designs were coming to us in the traditional way in Photoshop. And we were able to prototype those designs in Jekyll, develop the concepts, test out the interaction stuff before we were anywhere near Drupal. And Jekyll is only a recently familiar term to me. So I don't know if you want to elaborate on exactly what that is. So I guess Jekyll feels a bit like going back to old school. It's a templating language which you can compile into HTML. So it's fast iterative development and it compiles up. So what we were able to do here is build all the individual modules as in design modules of the site in this Jekyll system. And it meant we could do the cross browser testing early. It meant we could trial things and see how it's going to work. And because the designers needed to see the stuff, the timings of things and that sort of stuff. But the key thing that we did differently was that the people building this pattern guide were actual Drupal developers, iCos developers who knew what the sort of templates and the sort of markup that Drupal was going to end up needing. So we tried, sometimes you get a pattern guide and it's delivered by an external agency and you've just got to work with it. So the idea here was that we produced this style guide with sort of Drupal markup, markup that we knew was achievable in Drupal. So lots of extra divs in our classes. Lot of divs everywhere. But all class driven. And it meant that what we could actually do is compile the whole style guide and then copy it straight over to the theme. And we also were then able to take the individual raw HTML elements and put those into the theme as well. So it gave us this portability of the system to allow us to do this. The other massive benefit to this is that it's a permanent reference. So even though the project is now live, obviously it's in continuous evolution, so everything is still trialled through this style guide approach. And I've got some, I can do a little demo of this in a minute. I've just taken some stills so that when we upload the slides there's actually something there. Because the style guide itself is not actually public yet. So this just shows some different elements of the site. So the way we're looking at it is you don't design an entire page. You design a product element. And this is what a product looks like in this scenario. And this is what it looks like on the wish list. This is what it looks like in the cart. So every single piece of content looks different in different places. And what we do is we design those individual cases on their own. And then we're able to join all those things together later to make a complete page layout, which I'll come on to a little bit later. So I'm just going to switch over, he says. This is where it gets fun because I can't actually see what I'm doing. I'll have to stand up here. So this is, if I can find my mouse pointer. This is the style guide. All of the elements that make up the site are all independently built outside here. And we also use this as a QA tool. So you'll see these green and red little Drupal icons, which are basically part of our QA process to say this piece is done, this part is being reviewed, and so on. So if we go into, let's have a look. Trying to find, sorry, here we go. The module guide here. I'll ask as it's supposed to be local. There we go. Okay. So what we're looking here is, this screen resolution is really rather large, but each, this is what a product looks like in its featured mode, then a normal mode here. And as we scroll down, and we can see what it looks like when there are reviews. Sorry, I just realised because I'm not actually online. There are images here. But on the resolution of that screen, the particular image is almost transparent, unfortunately. There we go. And then the same thing, how that's displayed in the wish list. So if I try and grab the bottom of the browser, I'm trying to be able to resize the browser here. So if we move a little bit further back up again, let's just take this one for example, around, we can just see the responsive nature of the site. I think that's a good example actually. Let's come up here a little bit. So I can't show you the super wide resolutions because this screen isn't wide enough, but you'll see that it changes as we go to the small sizes, ready for mobile tablet landscape, tablet portrait. And then as we go to the full desktops and things flip around. So we were able to trial this stuff out. And each individual element that we built, let's go back to this. And did you find a particular base theme in Drupal was more suited to porting the CSS and HTML from your style guide into the Drupal theme? Well, actually, yeah, we did use Omega 4. But by the time we've done, there's so much work done outside in the style guide that I'm not sure how much Omega 4 did for us at that point. It ended up being quite custom. But the way we used the theme here, we had these rather complex page layouts. So if you saw in the video at the beginning, I'll show you another one in a minute. When you go into a product page, there's a ton of information about that product. So you first of all got the e-commerce element. Then you've got information about the ingredients that might be in it, any related news, related products, reviews, all this sort of stuff. And it ends up with quite a massive amount of content to render into one page. Now, we had some internal debate between all of us as to what method to use, whether to use panels or contexts or whatever. And in the end, we decided to use Drupal's built-in functionality of view modes. So normally, when you're building a site, you will see you've got two view modes. At the box, you've got your default view mode, which is your full page. And you've normally got a teaser. So what we decided to do here, really for mostly ease of understanding more than anything else, was we defined additional view modes for each of the methods of displaying the content. So we might have had a view mode for wish list and a view mode for product detail, a view mode for e-commerce mode, or something like that. And that allowed us to transfer that data that we had in that style guide, those templates that were HTML. We were able to use template suggestions to tell Drupal which of those patterns to use for any particular scenario. And there are other ways of doing this, but we found this way the most portable and understandable because it meant that when someone was looking at the page, they could see immediately it's not a ton of panels to configure. That one piece there is an individual rendering of that particular piece of content. And did you use Display Suite to define those view modes or just custom? Yeah, Display Suite was absolutely the way we would go for it. And in the end, we did a lot of configuration of Display Suite and then turned off the UI at the end. Because we needed really strict control on the markup, to achieve what we were trying to do with the style guide, the markup had to be spot on, and that was the whole point. So using something like Display Suite allowed us to do that. So this is an example of one of those pages. So this is a product detail page, and I hope it doesn't make you feel sick now moving around. So you've got ingredients directly underneath, and then you've got a story, badly cut by me there, unfortunately. And then we've got reviews underneath that, and then related content underneath that. Now all of those are different renderings and different display modes of the same piece of content. So what we've done there is using context to stack them on top of each other. And to take this a little bit further, when you start looking at this site and we break down the individual elements, what you're seeing here is those modules. Sorry, we keep using the word modules. In Drupal World, that's obviously something different. In the design world, they're referred to as design modules. So the individual component design pieces of the site here, you can see them. We just lifted them out there just for visualization purposes. And this one here, so that's showing an ingredient in that particular mode. And the way this design works, we've got three ingredients, but the first one had to be slightly bigger than the other two, and it's all this sort of high-detail design stuff that we had to meet these requirements for, and this method allowed us to do that. And another one here, we've got the different spa treatment shops, different spas they've got around the UK at the moment. So allowing us to open up those individual elements as well. And then taking it a little bit further, this is the dashboard page of the site. So once the customer's logged in, and here what we're able to do again is not only view modes on content, but also view modes on orders and things like that. So when you're looking at your list of order history, you can see them in one mode. And if you're looking at them in the dashboard mode, you want to see your most recent order, and so we just render it slightly differently. And again, we were able to use these view modes to reflect that functionality. So you bought a British nanny? That's right, yeah. So that was how we achieved our page layouts? What if you don't mind me asking, I don't know how familiar everyone in the room is, but in Drupal commerce you have product data from your product display. And so in here, I'm not actually sure if you've been using a product display node type, if you're just pulling that all in directly via context. How did you actually build up a product page and then associate all of the different ingredients and reviews and whatnot with that product? So there is a product display. So the product entity itself is the part that you need to fulfil the order. So that's the SKU, the short description, the price. And everything else is actually in a product display content type. We actually had three, one for product, one for spa and one for gifts. They're just slightly different fields on each one. So yeah, it was exactly sort of the traditional model of Drupal commerce, how we would do that. But what we were also doing is using a lot of entity referencing to join all the other types of content together, whether it be ingredients, for example, is all entity referenced across. Right, so the next thing we had to think about was search. Everyone knows really on any site of any scale no one really uses core Drupal search because it's not really optimised for that sort of stuff. So we were using Apache Solar. Now that was an obvious thing to do for the main search. But what we also decided to do was use solar for the category pages and the catalogue. Now this was maybe slightly unusual but the aim was, even from the beginning, we were trying to ring out every ounce of performance that we could. And the way we were able to use solar was if you index your content in solar, you can actually pre-render using these view modes that I discussed earlier. And then what that meant was that when we do a search result page we don't have to do anything in Drupal additional. We don't have to re-render content as it's coming back. And that was absolutely the fastest way to put together a search results page. So we were able to use this for all of the catalogue pages. So when you go to a list view, like the top level bath or bath bombs or whatever, those are actually search results pages. Doing that allowed us various things that we could do. Allowed us to influence the order of products which is something that invariably comes up. You can of course do that with things like Node Queue. But what we were able to do was in waiting and rules within solar to influence how those results were coming back. And ultimately it was all about performance. If I'm not mistaken, it sounds like what you've done is you've used Drupal as the content data store. But then you're rendering the content and caching it in solar, and then you've built a custom front end, still using Drupal, but a custom front into all of this Drupal content with solar being the back end. Almost like a headless Drupal kind of scenarios. In a way, yeah. We certainly probably didn't think of it in those terms, but yeah, we are caching a great deal of stuff inside solar so that we don't have to re-render it. In terms of the custom presentation of that, there's a little bit of, it's standard using the Apache solar module you can define search pages. So there was some custom work, but a lot of it was actually already there. Yeah. Was anybody at DrupalCon second by any chance? Some folks. Do you remember Rasmus Laredor's talk? He's the creator of PHP and he did a profile of PHP to show what parts of Drupal are the slowest and the fastest and it's the rendering system that took up 70% of the page requests that he was profiling. So this is cutting out a tremendous performance hit to every page load of a user on your site. I'm impressed. Actually, the search is significantly more powerful. I mean, not for a category, a category is just a list. But for the main search on the site, you're expecting to be able to mistype terms. Their product names are quite creative. A lot of puns going on. So you want to be able to search for stuff and get results coming up. So you've got much more powerful, much more accurate search. We also are able to do faceted search very well which I'll show you in a second. And then the last piece that we used was geospatial search, which was something of course you can do in Drupal using lots of open layers and various other geo modules all bolted together. But actually Apache Solar has geospatial search capability anyway if you send it the right request. So we were able to say, right, Drupal doesn't need to do any of that stuff. We can do all of that over here and again take away say 10 modules that we don't need. So we were able to use accurate search for the category list pages, the main search and the shop finder. By using the geospatial search facility we were able to do the shop finder that way and we were able to pre-render the results in more than one format. As you've seen already there are different ways we can display stuff so what we were able to do is pre-render as many as we needed in that sort of solar cache layer. And that gives you a result like this. The category page they always have this feature caption at the top and then after that all of that is a solar generated return. So you can see obviously with the five star rating and that sort of stuff we have to refresh that solar index quite a lot but whenever a product is updated or reviewed or anything we just push another request up to solar refresh the layer there and then that works. Do any products have less than four stars? Well there may be some waiting but that's the interesting thing the community of customers that this particular brand has are quite enthusiastic should we say they even have a name, they're called Lushies and like you would with Apple you do get unboxing videos of Lush products going on so these guys are keen and let's just say if there's any problems they'll let us know. So this is an example of the main search so we're able to use a faceted search there at the top so basically showing different ingredients products, stories and shops because Bath is a place in the UK so not only is it a Bath bomb it's also a shop and we were able to use that view mode approach again to render what does this piece of content look like when it comes up in the search and one additional thing was what does this piece of content look like when it's number one in the search because it's bigger than all the others Do Lushies have to be convinced to bathe? it looks like maybe they're trying to get them to do it multiple times a day I don't know so that was search and our next challenge was thinking about all the other things that they decided to do they were pretty optimistic they were pretty ambitious about what they were trying to achieve with their new brand and what we found was that the temptation with Drupal is to grab a module here, build a custom module here you can do it all of course you can, we know that and that's what coming to DrupalCon is all about you can learn all these ways of doing stuff but that's not always the best way because sometimes there is someone out there doing a really good job of this particular thing it better just to integrate those in and I think through not just this project but many others we've learned that sometimes just because you can do it in Drupal doesn't necessarily mean it's the right thing to do so with this particular site we were able to use lots of additional services I'll just quickly run down them so you know Metapack is an external shipping system so you can do shipping in DrupalCon that's just fine because if you're shipping all around the world and your shipping rules are quite complicated that's a lot of work to set them all up Metapack is an external service where you send a bundled up version of the basket to an external API and it comes back and offers you what the shipping options are for that particular option so it basically takes that whole piece of work away and uses that they also handle the consignment shipping and that sort of thing Postcode Anywhere is a UK based postcode lookup system I think it's quite expected that you would have something like that Acreasearch we've already mentioned you'll see not necessarily through my slides but through looking at the site there's a lot of video work going on and that's all encoded offsite using Zencoder we use Statcler which is a social API service because we spent a lot of time with commerce guys working on integrating Twitter and Instagram and Facebook and it was a painful and anyone who's done that you just don't know when these guys are going to change the rules on you so in the end we decided to take that piece away and integrate a third party service to just handle the social feeds and sharing stuff we've got recommendation API which is actually Nosto Google Analytics of course New Relic I'll talk about shortly Molym we use for the reviews Anti-spam Registration Standard stuff like that we use Mandrill for outgoing mail one of the downsides of sending mail through Drupal sites is you're never quite sure if it ever went so Mandrill is an API part of MailChimp that allows you to have traceability with mail sent which is really important for e-commerce, all the confirmations that sort of stuff and then they had their own order management system which was a homespun system which we were able to once we finally get the orders done we send them out to there and on the other side we're using aqueer hosting in this case so there's varnish in there which is really important we also use a service called Cloudinary which is a CDN for images and it does pretty much what the Drupal image cache module does it sends a nice crafted URL and it brings back the optimized image for you on the right side we use this in particular because in our case it allows us to share that library of images across multiple properties and also it has some very clever additions like it can do face detection so if you want to do a customer upload it's their profile picture and we want to do that little circle then we can face detect where the person's face is in the image and we've got that nice little thing otherwise we get their shoulder or something depending on what they uploaded and then on the front of that we've got Cloudflare which I'll talk about next performance is everything with this site with any site like this this is you saw the length of those pages you saw the weight of stuff we're trying to deliver here so we've got a lot of caching going on e-commerce really needs to have fast delivery you need to keep an eye on it so that was the thing you've got to know where your bottlenecks are you've got to be able to trace things back so we use all the standard stuff that you would expect out of Drupal we use the Drupal's internal cache we use the entity cache module we use memcached all these things in varnish particularly having a reverse proxy cache at the front really essential because it reduces the amount of traffic actually hitting the Drupal stack altogether but the thing is really hard caching is hard and there are so many reasons that you can't cache so just looking at this example here this page it's just a normal product page and you would hope that you'd be able to cache that mostly in its entirety but every single piece of that where I've outlined in green I can't cache because it's personalised maybe the price is different for me maybe I'm a member of staff and I get a discount maybe the item is already on my wish list so I don't want that to wish list I want removed from wish list maybe the product is sold out so I can't do add to basket and up in the left hand that little speech bubble is actually the social feed so that's obviously not going to be cacheable either there's so much stuff and of course the basket on the right hand side I can't cache that because it's going to be different per customer so the additional problem you have with a commerce site as opposed to something else like maybe a news site is that there's so many conditions where you can't you can't get that performance enhancement you want because you can't cache everything so that's where we've been working with Cloudflare so Cloudflare was brought into the project as a CDN because for PCI compliance reasons Lush needed a thing called a web application firewall which is just something that tracks every single transaction that's going on just for compliance reasons but then we we started to get more involved with Cloudflare working with the team there and realised that actually there's a lot more stuff you can cache if you're smart about how you do it and we're pretty early in the journey here but we were able to cache Ajax requests for example which we didn't realise before we were also able to a lot of the time we were doing lazy loading of things like the cart so you pop the cart open and there's a short delay while it loads in so we're able to do stuff like that but we're investigating at the moment a mechanism in Cloudflare called cache everything which seems to my understanding of it that there are some Cloudflare people here it seems to ignore everything that Drupal says about caching and allow you to literally cache the entire thing and then we're looking into tricks like things like my profile picture maybe storing that reference to that image in local storage on the browser or in a cookie or something so that we don't have to hit Drupal the goal in the performance is not don't hit Drupal, you can make Drupal really fast but if you don't need to go near it then that's even better so it's a lot about Ajax, lazy loading and trying to you know, edge side includes is a technique but we've not, the trouble with edge side includes is you're just hitting Drupal twice so you've not really got any benefit so looking at these techniques these more advanced techniques of caching is something that's been very interesting but I guess the most important thing about all of that is it's still quite early days on that but you need to be able to see what's going on so the other thing that we've used very extensively is New Relic and I know there there's an exhibition hall somewhere so these guys it just comes with that we're hosting anyway so we managed to use that system but it traces down your every web transaction that's going on and you can dig right into the detail of what's going on so this particular graph shows the total response time for the site the green part of the top is stuff outside of Drupal like Facebook requests and stuff the blue is Memcash the orangey brown colour is database and then the rest is PHP so you can look at what your performance bottlenecks are right, do I need I'm not seeing too much database access what can I do about that is my PHP too much when I first looked at this I was actually talking to Lorna Jane she was saying if you upgrade to PHP 5.5 we can make that a little bit at the bottom shrink and she was a part it really did, we know the difference between PHP 5.3 and 5.5 is good but it was a massive performance uplift that we saw for no effort whatsoever so stuff like that being able to drill down so new relic allows us to get right in the middle of it and find out exactly what database queries are causing us pain or exactly which modules or hooks or whatever it is that's causing the trouble the additional part of course when you start caching you've got to think about purging it's the opposite of caching you need to be able to figure out what to do in certain scenarios like this one, that's really bad visibility there but that says currently unavailable on that product so I need to know that the moment that product goes out of stock or more importantly comes back into stock that the cache is going to be cleared on that so that the next customer that comes along can actually buy it so what we're using as a combination there's an expire module and there's another module for Acria hosting called Acria purge and what that's doing is poking a hole back through varnish saying invalidate that particular piece there so using these things in combination allows us to avoid that scenario where if you've got like a one hour or two hour cache going on you've got the customer on the phone saying no one can buy this product, no one can buy this product so you've got to think about those sorts of things as well the next bit Ryan talked about a little bit he doesn't remember what it is and that's about the back end so everything I've talked about so far is the front end of the site and the great customer facing stuff but also there's a whole other team of people who've got to process these orders and look after the site so what we've been working on with commerce guys most lately is a new back end system which oftentimes whenever you're building a new e-commerce site we talk about Drupal commerce as facilitating tailor made e-commerce and so you think very much about what it looks like whenever it's in the browser, on the front end to the customer but what you maybe think about last is what's it like as a merchant to actually use this interface on a day-to-day basis to administer orders, facilitate customer service fulfill products and what not and so often that's the last thing somebody touches or they just don't touch it at all commerce kickstart tried to be somewhat helpful using the commerce back office modules and implementing sort of a better practices back end for merchants to get out of the box with Drupal commerce but still every merchant has just some unique need that's slightly different from the last and so as part of all of our projects in commerce guys we do want to consider how can I tweak this view or change these rules in this business logic to directly support my merchant as another very important end user of the site and so I guess this is ongoing work still with Lush is the actual creation of a new nicely themed and relevant back end to Lush's customer service team I'm assuming this is also integrated with the order management service order management system that continues to be a back and forth thing I just had a okay yes at the end of my session yesterday I just had a scenario where somebody could actually use a custom back end to help their merchant because they were fulfilling products on an order on a line item by line item basis but wanted to have a field that was editable on the back end and visible on the front end so a customer could see which of the products in their order have been fulfilled so far and so within Drupal because this whole back end interface especially the line item list which is not present on the screen yet because the line item list is built using the views module within Drupal commerce I was able to say well you just need to add a new field to your line item type exposed to this view on the back end using editable fields so the merchant could come in and toggle the status of a product's delivery on a line item basis and then on the front end where the customer would view the order edit that view just to show the static representation of this field and he was able to then build a custom fulfillment workflow using Drupal commerce in about 10 clicks and so I know there's more to this work here and I'll let you take that back over Rich but this is just sort of a feature Rich targeted back end for Lush that ideally will be abstractable and then shareable out as a sort of new reference back end implementation I guess one of the biggest problems we were trying to solve here was well first of all multiple sites feeding into one common customer care interface so I won't go into that today but we've got a sort of a headless order management system but the other thing was that when you've got a really busy site the concept in Drupal commerce is that an order or a cart is an order just of a different status so when you start adding cart to your system it really starts to slow down so what we were trying to do here what we found was one of the pain points of the site being slow was actually the customer care team looking for an order and then what we'd find was that because the site had gone slow more customers would phone up to help with their order and the whole thing would start to snowball so our aim here was not only to provide more functionality for the customer care team but also we've managed to integrate Drupal commerce with search API so that when you're searching for orders you can pretty much search for anything that you've got from the customer whether it be their postcode their name their order number whatever because it's using solar you haven't got that additional weight on top of Drupal it sort of takes that piece outside so that's using search API and then we were able to I was doing that again isn't it add additional functionality like look customers need the customer care need like being able to do refunds reissues this is an example of the reissue page if an order never got there and the customer phones up they will often resend the order at no cost and so it's being able to manipulate those orders very very quickly and just do the tasks that they need to do to fulfill their job every day Did your UX team at ICOS design back in the interface? The UX ICOS worked with the customer care team and that was Nick extensively worked with them on-site just to make sure that they were really happy because these guys we need to make sure they're happy and customer care for lush is the most important thing and then we teamed up with commerce guys because we knew in this case there's a lot going on there's trying to make the commerce back in all in one page is really tough so we've been working very closely with commerce guys on this particular one and we still are we're not quite there yet so just finally before we go to questions maybe bringing out some of the lessons learned during this project so my first one was New Relic will save your life and I'm not sponsored by New Relic but I love this product and it really did help us when we had performance issues it helped us find them really quickly otherwise you know you can be with such a complex site there's so many interacting parts you're like I don't know what's causing this problem New Relic allowed us to pinpoint stuff really really quickly I think the next one was never underestimate the complexity of the migration part so what we were doing here was migrating previous sites from multiple countries into a new site migrating a bespoke was a slightly modified open cart system and it's a big job no matter what and also this sheer amount of data you've got to move and how long that really takes I think the full migration took about four days to actually run into it when you suddenly realise you're going live on Monday and it's Thursday you better start that thing running so that was really important to plan that thinking about the build versus buy building it is not always the best way I think I covered that earlier but knowing when is the right time to spend a bit of money even though you might feel not obliged to do so keep your partners close we worked really really closely with both commerce guys and with method we worked with a large team on this certainly with the design team it was really important we were pretty much embedded in their offices so that they could try that interactions and they understood what our pain points were and we understood how much they wanted their pixel perfection so it was really good to be able to work with them otherwise you know you have this thing where they finish their job they throw it over the fence and then no one's happy because you didn't really see the detail that they were looking for caching is hard just accept that it's hard and there's lots going on next one is maybe not so obvious think about your contrived modules and think about custom what we found was that sometimes there was a piece of functionality there's a contrived out there that would do that but that contrived might do 10 other things and we had to be really careful not to overload the site with stuff that we just didn't need so quite a lot of the time we were looking at a contrived saying like for example wishlist there was a wishlist contrived out there but it didn't do quite what we wanted so we ended up using flag and some custom work on that so we just found that just because there's a contrived it doesn't necessarily mean it's the right fit so it's basically spending time evaluating figuring out what's the right thing next one is remembering the legacy especially if you're an agency who's going to be picking this thing up who's going to look after it in the long term in our sort of situation we've got to remember the in-house team we've got to remember that these guys are going to be looking after it so we ideally want them involved and also obviously we want them to understand what we've done so we don't just arrive on launch day and say there you go have fun and then the next thing the last thing really try it when you're moving in a fast moving environment that launch day wasn't going to move we had to get this stuff out there but we had to think about what was going to come post launch there was a ton of features that we didn't quite get ready in time but we knew what they wanted to do so it's all about planning for that but if you spend all your time planning and figuring out well if we do it this way we've got to worry about that that's coming next and that's perfectly valid to do because you never launch so what we had to do was say we've got a plan we've got to think about tomorrow but we don't want to over engineer everything that it's okay to come back and change some stuff later in the next iteration so those are our lessons there's a lot going on here lots of stuff to talk about we love talking about this project and it's great to be able to talk about it with Ryan as well so any questions or anything we're open to the floor thank you very much okay I left you room for questions now otherwise Ryan would just keep talking hi do you want to come over to the mic because of the recording I'll repeat it this question is why are you making me walk with a stupid microphone sorry about that well first of all thank you very much it's really good to take a detailed look I was wondering if it's possible for us to have a deeper look maybe the actual forms for creating and editing the products on the site is that something you'd be able to do I can do that maybe not live but I can probably do that on our stand maybe later because I can definitely show you the back end how it's working for editing products I can't quite do that on a live demo but as you saw how much travel I was having earlier by your means we'll catch up how did you implement customer reviews and then it comes up fairly often customer reviews was just a custom content type using five star and flag so we used flag for the reporters inappropriate and the like and don't like part of the review five star for the stars obviously as you'd expect and then we used entity reference to refer them backwards to the product so pretty standard drupal components actually for that and probably a little bit of because of the way we had to do that the most popular theme the most popular review the most recent review and the top rated one for example we had to do some work in voting API to recalculate all those sums on Cron and stuff like that any others guess we've got one more hi really good talk looks like a really complicated e-commerce site so how difficult was it to define the requirements of a client given you had a fixed deadline to work towards so this was an agile project we were working to an MVP although that became a bit of an in-joke MVP meant everything so no but we were working on agile process so we were doing two week iterations demos at the end of each and although we weren't launching anything between those iterations it was very much keeping the client and the design team in touch with what was going on making sure that we were working on a critical path of e-commerce functionality first and then all the associated story stuff so yeah this is a pretty good agile agile based case study as well and highlighting the importance of co-location in that sort of scenario as well she's not something that I normally think is hugely important but in this case it was really good to have Drupal developers with the agency working on the interaction and making sure that everyone knew what everyone else was going through at that point so yeah hi yeah sorry go on yeah it was a great case study so thank you first I was wondering if you could talk a little bit about the mapping integration that you did and are you actually doing anything with the inventory going back to the actual stores where things are available ok so the mapping was open layers with a custom google maps overlay a custom style set as I said the actual content is delivered from solar and what we were doing is a custom no it wasn't custom there there is a way to present solar geospatial results in open layers it needed a little bit of a tweak but generally what we're doing there is bringing the results straight back and then we're displaying them like a normal open layers map so a lot of this is slightly tweaked but the fundamentals are Drupal the way it should be sorry there was another follow up sorry I'll come back to the other one in a sec I was just wondering the usual question but who were you competing with for Lush were they using Drupal already or did you fighting against Drupal? they weren't using Drupal yet we were considered the wild card I think I think it's fair to say we were competing against Miles Ciaran you remind me Dmarnweyr and Magento were the main competition in the pitch we were last in but I think because we were able to offer that unified vision of one system doing everything it was really something that they were looking for and they didn't realise they could do so yeah I think it certainly made them feel like it was worth taking the direction of Drupal I think there and now they're flipping all of their properties so it must have been okay sorry the other question was about inventory I didn't go into that that's a whole another story but they do have a thing called a kitchen which is limited around products and the way they work is that they do a limited batch out of an actual kitchen they make up 200 of something of products and they sell them out for that one day and as I mentioned the Lushies out there know what's coming this week they tweet out what's coming so what we've had to build for them is a stock reservation system so what it does we've had a couple of approaches but the one we've got currently it works a bit like a daily counter so you get a product, you take a ticket and you get half an hour to finish checkout and if you don't your ticket self destructs and then you might be able to get the product you might not, it depends whether it's got anything left so we started off building a stock module but we weren't able to get that working super reliably with that type of concept so we've ended up building a custom stock reservation system which maybe I'll speak to Ryan, maybe worthy of going into contraband so yeah but the actual physical stock is held by the external system so we're doing a lot of web services chat to figure out what's in stock at any one point and lots of caching of that and the last thing we've done is adaptive caching so when we're checking for stock levels if we know that there weren't many left we'll check more frequently whereas if we know there's 10,000 then we're probably not checked till tomorrow so again just a little performance things like that trying to figure out what we're doing now Do they have multiple warehouse system or just one in the UK and global warehouse? There is a single warehouse at the moment Can people buy and collect in stores as well? Not yet, it's on the map it's on the road map we're not doing that yet but at the moment we're in the process of launching the Dutch site and the other European sites so that's taking priority at the moment over new features so very soon we'll have pan-European sites that look like this one if you look at the Dutch, Spanish and other European sites at the moment they're using their old conceptual design I just found out actually Brazil launched this morning which is a great achievement for the team out there working with a good story that I went to the code sprint with Ryan back in a couple of years ago Drupal Promise and met a developer from Brazil I only really met him once but he seemed like a good guy and he seemed to know his stuff OK, do you know anyone in Brazil to help the launch so we phoned this guy up and he's been working there for the last six months and he's just finished launching so he was using following along behind us taking the features as we build them and doing a lot of Portuguese translation obviously so yeah, really nice little inner story there but worth going to Drupal camps and Drupal code sprints you never know what might happen Maybe the last one Is it a Drupal distribution and if it is a Drupal distribution is it free? OK, so this is not a distribution specifically there's a few bits of custom work that we've done work quite a lot I guess but most of it is off the shelf contrary modules so there's not a distribution that holds it all together but all the component parts are out there and all the component parts are free and we've been able to build where we've done a couple of new modules those have gone out into the community and we've got about three or four other modules that are probably candidates for going out like the one I just mentioned so although there's some custom work in here most of it the majority of it is out there for anyone Sorry guys I think our time is up now so thank you very much I'm around for the whole week anyway I'll come and chat any more about any of this and call my skies obviously here as well Thank you


Hey guys, welcome back to my YouTube channel. This is Daniel Rosal here, and I'm having a bad internet day I'm having a bad internet day today, which has actually been already very disruptive to my business despite my lovely fail-over internet setup The cellular is a little bit tricky to work with when there's a bunch of people at home Drone band with office, and I'm having this bad internet day because there is a nationwide internet problem today in Israel The partner internet service provider ISP is having its problem And why is partner having a problem partners having a problem because of a internet cable? It's the med nautilus internet cable which links between Israel and some other places in the Mediterranean actually goes over to Italy Now most people have never heard of this really fascinating World of the submarine internet cables and there's a fantastic website the one I'm currently on now It's called submarine cable map calm. I will put a link to the description But I'm also going to go low-tech here and just type it out for you submarine cable map calm It's a fantastic resource free and regularly updated resource by telegeography and on this web page You can literally see the cables now. What are the cables? Well, did you ever ask yourself when you connect to the internet and Tel Aviv or Jerusalem or a lot? How do you actually get data from a server in Los Angeles, right? How does that work exactly and the answer is that the internet backbone which is the main Part of the internet is actually connected mostly through Oceanic cables are literally cables running at the bottom of the ocean beds laid by special ships It's pretty freaking amazing for those interested in going down this rabbit hole further. There is an amazing YouTube video You'll actually see what these cables look like and the interview the guy who manages one of these landing points And these are these are what are called landing points where the cables hit onto land and you can see they're on the periphery of these Continent so the interview some one of these guys. I think he's in Denmark And these cable landing sites are naturally very very sensitive, right? I mean if you think about the potential for espionage or anything like that if you were determined to do that on a Big-scale well, you'd probably want to tap the top of the system, right? So these landing sites are actually super sensitive even though they just in reality look like a little house on the beach With some protection and the interview the guy in Denmark and he holds up with his hands The internet cable supplying Denmark and it's literally like an ethernet cable. It's absolutely incredible The amount of data that can actually be carried in a small fiber optic core is pretty mind-blowing So yeah, go down that rabbit hole on YouTube. You have my encouragement. Let's look at Israel's Links just to show you how the internet works in Israel. So here is Israel It's a small country and you can click on one of these cables and you can actually see So this is the reason if you are not having internet today like me Because of partner the problems here. It's the med nautilus Submarine cable system in green and it lands in Haifa And it also lands in Tel Aviv in Tel Aviv. I know it's on Gordon Beach. I have no idea where it lands on Haifa So these are the cables we have currently you can see there's the med nautilus submarine system now until fairly recently This was the only game in town They had a monopoly and if we trace the path of med nautilus and it's the green line on the right here If I'm not mistaken We should see it meandering its way up to Italy or if you follow one of these links, right? You can see this Gray line here originating from Italy goes down. It's a bit harder to keep track of these But this is Jonah and we can literally attempt to trace it. Let's try to do that again med nautilus med nautilus med nautilus Yeah, med nautilus then bifurcates and lands in Greece and Then there's another chain of med nautilus that feeds up in Bulgaria into something called the kafos cable So anyway, if you want all the details, you can find them out here There's actually some med nautilus used to be the only one it's operated by a irish company But they have italian headquarters or something like this Then bezek built their own cable called tamar is north and this as you can see connects up to cyprus And then from cyprus it feeds in so this is like a worldwide This is now it's not exactly true that if you connect to a website in Let's say you watch a youtube video that it's coming all the way from a server in wherever youtube hosts data. Let's say Let's just say last angeles How the internet works nowadays is a little more sophisticated It's something like youtube or assets that a lot of people are watching well It doesn't make sense that every single time there should be data going back and forth from Israel to the world So major data providers will cash Commonly viewed assets in edge locations. There might be like a youtube server physically in israel And that if you're watching or streaming a popular youtube video or a netflix show, it's actually coming locally But ultimately at some point that data might be propagated to that server From the us and how does it get from the us to israel? Well at the speed of light it literally travels along the ocean bed on one of these cables Maybe makes a switch here a switch here a switch here a switch here until We eventually get here and that's why when the men not tedious cable breaks down If you're sitting in a lat right well There's two ways you might use internet one might be that a digger outside your front door Rips through the internet cabling right that 500 meters from your door or If you're living in jerusalem, it could be the case that there was a Ocean vessel here off the coast of Crete that literally sliced through the cabling a thousand miles away So it's actually fascinating how interconnected the internet is and I just to finish off so we looked at the tamarace and the Mednautileus systems and then in Tel Aviv we have a few different branches actually there is lev submarine system another mednautileus jonah And uh blue and then in a lat we have a couple more as I can't zoom in any further in tab there's a landing point and in uh raman there is a landing point and uh You can get some details about it. You can see it's got its id Who is own who it's owned by in this case? It's a consortium of companies that can't be the one because it's not listing lots of landing point But if we go on to the mednautileus System this website's a little bit finicky mednautileus here And we can see it's a 7 000 kilometer cable operated by telecom italia And besides hypha it also lands in istanbul catania italy And as we hover it showing the landing points tel Aviv hypha chania in greece athens in greece pen taskinos in cyprus and uh you can find out about the cable by going on to the cable's website And they will give you even more info about that particular cable Final thing to point out here is that there is another cable coming Google has announced plans for an undersea cable connecting israel southern europe and it's going to be tying israel So this is actually a kind of crazy dynamic that we've been seeing in recent years Traditionally there were only a few cables operated by major major telecom consortia And in recent years we're seeing big tech like google and amazon aws Actually laying their own trans and trans oceana cables, which when you think about it, it's pretty extraordinary So this is an example of the development like this It's going to be called the blue submarine cable system and it's going to connect israel italy france and greece The other is the raman the submarine cable system will connect jordan I think we saw that on the map just there and according to the last report i read about this This is expected to become operational in 2024 And the more cables that are laid here we go Yeah, the company expects cables for use in 2024 the more cables that are laid and the newer cables can carry more data So the more bandwidth becomes available to domestic internet consumers it all flows down So when you're looking at your internet options in israel people tend to look at their local isp and There's a whole bigger picture going on in the background And that's the submarine cable system that actually forms the internet backbone And basically what connectivity is available to to israel at the level of the international switches here To the international internet system. That's kind of the choke point for what domestic isps can offer So I hope this this deep dive into the very random But I think fascinating subject of submarine cables was interesting And if you want to get more videos from me about this and lots of other very random tech topics Please subscribe to this youtube channel. Have a great day


What's up everybody? Jason here for jazbyzcasebrace.com. We did it guys. We sold out the museum collection baseball pickers number five RMB Which includes a lot of teams guys, I think it's more than half of the MLB I think it might be six seventeen eighteen teams It'll be the Yankees this time around at the rays rose Cardinals meds blue jays Tigers Pirates Padres Astros Orioles A's Giants Reds Brewers Marlins Guardians and Rockies So again, and then also we're giving away a full spot if you bought a Give me a free spot if you bought a full spot. So this guy's really here We're gonna wrap a roll it this will randomize the four cuz brains that bought straight up We'll paste in the name that wins at number one here And I'll happy ten spots and we use the same dice roller for the list of names and numbers for the RMB and Let's roll it you got ourselves a three to four lucky number seven customer name a number one gets a free full spot one two three four five six seven Boom Pizzle at the top. Wow. Look at that Three and a four seven times so congratulations You got a one and four shot and you just want a full free full spot Boom, so there you go seven times now on the list of names and numbers one two three four five six seven Boom Diego at the top down to Shawn at the bottom. I know for real is that when you're hot you hot It's true ride that ride that streak man All right seven times here zero one two three four five six seven eight nine one two three four five six seven Spot two at the top down to zero as a Diego you're spot to Joe with five Christianson that is Seven for Shawn as well as for Joe Pizzle a six eight nine and one any one and ones of course Shawn with three and of course any In all redemptions for you Shawn with zero I remember all the non numbered base and stuff like that will be randomized out to the group and one lot most likely and Like I said should be a fun break guys coming up next is to break it off