Felly, rydym yn cenderdiwyd. Rydyn ni'n gyd yn dŷnodigol a chwyfnol eisiau gydigol gyda'r sechydigau i ddiddorol o maen nhung yn ddiddorol. Fy enw i ddylch yn ddylch a ddylch yn ddylch i ddiddorol, ac yn ddiddorol wedi gwylliant i'r gallu ar y gallu, wrth gwrs, mae'r maen nhw'n gweldwch yn Ddiddorol i'r cwmfaith Norgwy â'r Cwmiwn Gwynffydd. Gwydig i ddiddorol i ddiddorol, Q1, Kezia Dugdale. I am sure that I speak for the whole chamber when I say that my thoughts are with the workers in the North Sea following the announcement of job losses today by Shell and Taka. I hope that the First Minister will use the full resources of the Government to make sure that any worker who loses their job gets the support that they need. What engagement she has planned for the rest of the day? The thoughts of this Government are always with anybody who faces losing their job and the full resources of the Government are always brought to bear to assist anybody facing redundancy, and they will be in the case of the job losses that have been announced affecting the North Sea this morning. Later today, Presiding Officer, I will have engagements to take forward the Government's programme for Scotland. Kezia Dugdale. Last week, at First Minister's Questions, Nicola Sturgeon twice denied that her central general election demand for full fiscal autonomy within the UK included the money from the Barnett formula. Can the First Minister confirm that that is still her position? My position is that I want this Parliament to have more fiscal and economic powers so that we can grow our economy faster and reduce the deficit that Scotland currently carries. Last week, I gave figures, certainly conceding that the projections for oil revenues over the period to 2019-20 show a £3 billion reduction, but over that same period we see onshore revenues predicted to rise by £15 billion, and that is without having extra powers to grow our economy faster. There is, I think, a straight disagreement between those of us in those benches and the Labour benches. We do not want to sit back and accept continued Tory and Labour cuts. We want to have responsibility in Scotland to have an alternative to that, to grow our economy, to get the benefits of economic growth that we can invest in our public services. It is really interesting, Presiding Officer, because last week, the First Minister twice said in this chamber that modelling does not simulate the continuation of the Barnett formula. She later said that the Barnett formula is not part of the modelling framework, but I am afraid to say that her own Government paper says that it is. The SNP Government paper published an analysis of what it would mean to lose the money that we get from Barnett, but that analysis still includes the benefits of Barnett. The SNP Government's analysis told Scots that although their general election policy for full fiscal autonomy within the UK means that we can spend in Scotland, we raise in Scotland, we can still benefit from the higher public spending that comes from Barnett and the block grant. That is not true. We know it and she knows it. I know that the First Minister would not have intentionally tried to mislead Parliament when she suggested that we can have full fiscal autonomy within the UK and keep Barnett money, so can I ask her again? Can she confirm, beyond all doubt, that the SNP's plans for full fiscal autonomy within the UK means the end of the block grant and the end of billions of pounds for our NHS and our schools? Can I repeat what I said last week in this chamber? The modelling does not simulate the continuation of the Barnett formula. My position, and the position of those of us in these benches, I know that as one Labour disagrees with they prefer to join the Tories and say that Scotland is not capable of standing on our own two feet, but I want us in this Parliament to have the ability to stand on our own two feet, to take our own decisions and to keep the benefits of the good decisions that we take. I want us to be able to grow our economy, reduce our deficit in that way, rather than have a situation where we continue to be at the mercy of Westminster cuts. Labour voted just a few weeks ago with the Tories for an additional £30 billion of cuts.  The SNP takes a different view. We think that there is a better future for Scotland. We put forward an alternative to austerity and, secondly, we put forward the notion that Scotland is no better than any other country, but we are just as capable of standing on our own two feet, taking good decisions, supporting our public services and stopping the attack on the vulnerable that characterises those two parties. Kezia Dugdale, Mr Dugdale. It's right to be, Presiding Officer. If you want a straight answer from the SNP, you need to take Alex Salmond out for lunch. Mr Dugdale. Artur. Presiding Officer, the block grant sounds like the piece of dry political theory, but it could not be more important to the future of Scotland, for the sake of our NHS and for our schools, for the sake of our pensioners in Scotland who have worked hard all their lives and deserve to enjoy their retirement and comfort. The SNP's economic credibility is in tatters. The Impartial Institute for Fiscal Studies said that the SNP's plans for full fiscal autonomy would cost Scotland £7.6 billion. The experts at the Scottish Parliament say that cutting public spending by billions would cost £138,000. Professor Brian Ashcroft said that the SNP Government's analysis is partial at best and dishonest at worst. Does the First Minister think that the IFS, Spice and Professor Ashcroft are all wrong? Interestingly, the IFS at the weekend said that they thought that a future Labour Government could sign up to the SNP's anti-austerity programme and still meet the fiscal targets, which begs the question why Labour prefer the ideological austerity of the Tories to joining with the SNP in alternative austerity. I know that Labour's position is that they think the best way to protect Scotland's finances is to continue to allow Westminster Governments, including Tory Governments, to run those finances. Do you know what the experience of that for Scotland over the past few years has not been a particularly good one? Westminster Government has cut the budget of the Scottish Government by 10 per cent in real terms. If that is what Kezia Dugdale and Labour want to defend and defend the additional £12 billion of cuts for Scotland that are coming down the track from Westminster, then let them do that. I suspect that their poll ratings will continue to plummet as a result. For my part, I will continue to argue a clear alternative to austerity and to argue for this Parliament to have the power that we need to grow our economy faster, protect the vulnerable and invest in our public services. I say to Kezia Dugdale that if she wants that to be the dividing line of the election campaign between Labour and the SNP over the next seven weeks, then I say, be my guest. I relish that. Kezia Dugdale, is this First Minister who is arguing for an additional £7.6 billion of cuts to Scottish public services? Is this First Minister that admitted last week that she had got it wrong on oil? Her numbers were out by billions, and today's announcement of job losses in the North Sea shows the impact of the plummeting oil prices on both workers and public spending. Last week, the First Minister said that she would publish a revised oil and gas bulletin as soon as possible, but in the letter to me this week, the First Minister failed to commit to publishing the facts before the general election. There we have it, an economic paper torn apart by the experts, a general election plan based on fiddled figures and oil numbers that she's hiding from the Scottish people. It's clear that when the numbers don't add up, this First Minister makes them up anyway. Is this really the SNP's economic strategy, or should I ask Alex Salmond, since he's clearly the one calling the shots? First Minister, let us hear the First Minister. This is increasingly. I think we're getting just a bit excited. It's a caravan down the road, it's in recess, not this one. I think, Presiding Officer, what we're seeing is that there's an inverse relationship between how low Labour's poll ratings go and how loud their noise in this chamber gets. It's desperate, desperate stuff from a dying Scottish Labour Party. This Government and the party that I lead will continue to argue an alternative to the Tory Labour austerity. We've got a Labour Party here that trumpets an anti-asterity motion that they put forward in the House of Commons a couple of weeks ago that actually calls for spending cuts. How can you be anti-asterity when you're calling for additional spending cuts? Here we have it, Presiding Officer. We have the clear choice that confronts people at the election in just a few weeks' time. The Convote for Labour and more Tory spending cuts to come or the Convote SNP for a clear, consistent and principled alternative to austerity. I suspect I know which way it's going to go. Question 2. Ruth Davidson. Ms Davidson, to ask the First Minister when she'll next meet the Prime Minister. First Minister. I am expecting to see the Prime Minister next week in the party leader's debate. I'm very much looking forward to it unless, of course, he takes cold feet again. Ruth Davidson. I can think in all of the debates, including the Scottish ones, the people that will be taking part are probably looking forward to it more than the audience and the voters, but there we go. We've just heard a rather fraught exchange. Well, I'm looking forward to it. We've just heard an interesting exchange and yet the First Minister is still no closer to admitting how much full fiscal autonomy would cost Scotland. We know how much it would have cost last year because the Scottish Government figures published two weeks ago that there would have been a £4 billion black hole, but we're now going into an election with the SNP arguing for fiscal autonomy as its stated aim without any official price tag having been put on their policy. The First Minister recently set up a Scottish Fiscal Commission of Eminent Economists advising the Scottish Government. Will she instruct them to look at the numbers and then tell the voters of Scotland before they cast their ballots in May how much fiscal autonomy would cost the country over the next five years? Of course John Swinney has just published today the consultation to put the Fiscal Commission on a statutory basis, because we want to make sure that as we move forward and hopefully take more responsibility in this Parliament, we've got the best advice available to us. In terms of the choice that people have to make, it is a very clear choice because we know what happens over the next Parliament if we continue to allow Westminster to run our finances. There is an additional £12 billion of cuts coming to Scotland. If we can take more control over our own finances and over our own fiscal decisions, I do not stand here and pretend that that solves all our issues overnight, but it puts into our hands the ability to grow our economy and to grow our revenues faster. As I said to Kezia Dugdale both last week and today, our onshore revenues as a country are projected by 2019-20 to be £15 billion higher than they are today. That is before we have additional powers to grow our economy faster. The dividing line between those of us on those benches and it seems all of the Westminster parties is clear. They want us to be at the mercy of Westminster cuts, unable to do anything about it, unable to defend ourselves. I want us to be able to defend ourselves against Westminster cuts by having more power in our own hands. Ruth Davidson. I just asked the First Minister a serious question. I'm disappointed that she chose to dodge it in the manner in which she did, because this is about how we fund every school, every hospital and every police officer. The people of Scotland have a right to know in fiscal autonomy what it is that they are being asked to vote for. We have the not First Minister, not in the chamber, swarming around the television studios of London, telling anyone who will listen how he will be running the whole of the UK, making statements over tax, statements over welfare, over defence and over spending, and yet the current First Minister standing here is unable even to say how she would fund Scotland's public services. When will the SNP branch office reign in its foreign office? First Minister. It's clear that my predecessor is First Minister is frightening the life out of the Tories and the Labour Party. Long, long may it continue. Order. Scotland's fiscal position was set out in the jazz figures that were published a couple of weeks ago. The UK is deeply indeficit and deeply indebt. The difference between Ruth Davidson, Kezia Dugdale and me is this. I don't think we should simply sit back and accept the inevitability of continued deficits and continued austerity cuts. I think we should take control to do something about that. I don't want to see the vulnerable, the public services, the poorest in our society continue to be affected by the cuts that David Cameron and George Osborne and indeed Ed Miliband and Ed Balls have planned for people in Scotland. I want to take control over more of our own finances in Scotland so that we can do something about that. In the meantime, I also want to argue for and prevail in this argument for an anti-austerity alternative. The SNP is the only party standing in this election on that clear platform. That is the question, Kevin Stewart. Thank you, Presiding Officer. The announcement that 100 jobs are to be lost at TACA and 250 at Shell is a great blow to the north-east of Scotland. My heart goes out to the people affected. Can the First Minister assure me that the energy jobs task force and PACE teams will do all that they can to find alternative employment for those affected? Will she and her ministers continue to lobby the UK Government to introduce an exploration credit to boost the oil industry? As I said earlier, all my thoughts are very much with the people affected by these announcements. This will be a difficult and worrying time for them and their families. I know that PACE and the energy jobs task force are working hard to mitigate the impacts of job losses. The energy jobs task force is overseeing significant activity, including a major PACE event that was held yesterday at Petodry and attended by over 850 people that met the jobs task force met for the third time on Monday of this week. While we welcomed the progress announced for the sector in last week's budget, it was disappointing that our proposal for an exploration credit was not taken forward, so we will continue to work with industry and press the UK Government to ensure that the fiscal regime adequately incentivises exploration. Of course, we will continue to work to support all those affected by job losses. Margaret McCulloch. The First Minister will be aware that yesterday NHS Lanarkshire agreed to renew contracts for the delivery of soft FM services, such as cleaning at Hermeyr's and Wishaw hospitals. Despite pressure from unions for a public sector-led bid, she will also be aware that the then Health Secretary Alex Neil initiated a deep-dive review of the Hermeyr's PFI contract last year following a disappointing HEI report, saying that he did not believe the contract represented... Can we get a question, Ms McCulloch? ...value for money? Do the Government now believe that the contract does represent value for money? Is that why an in-house bid has been ruled out and the interest of transparency will the findings of the review be published for all to see? First Minister. I think that that gives a whole new meaning to the term brassnake. I know that Margaret McCulloch was not in this Parliament in previous sessions of it, but the situation she has just outlined in terms of NHS Lanarkshire, because of the constraints of the PFI contracts for Hermeyr's and Wishaw that were signed by the last Labour Administration. For them to stand up now and complain about this is deeply, deeply hypocritical. Absolutely staggering in terms of the hypocrisy. I, as Health Secretary, made it clear that going forward soft facilities were not to be contracted out. The Health Secretary has written to NHS Lanarkshire, making clear that it should take every opportunity to look at bringing these services at these two hospitals back in-house. For Labour, who signed these dreadful contracts to stand up here and criticise the SNP for having to deal with the consequences of them, it is absolutely staggering and one of the many reasons that people have just lost patience with the Labour Party. To ask the First Minister what issues will be discussed at the next meeting of the Cabinet. Issues of importance to the people of Scotland. Under her Government's centralisation of the police, Fife's control room closed last week. Calls are now handled at Bilston Glen, but there are problems. Earlier this month more than 1,000 calls were dropped in just one day. A non-emergency calls took 40 minutes to get an answer. I have now been told that a dozen of the hugely pressurised staff have been off sick and it can take 58 minutes to answer a call. Did the First Minister know that this was happening? The change over PDT has been extended, but in terms of the particular issues and concerns that Willie Rennie raises, I will undertake to discuss them both with the justice secretary and with Police Scotland. People have a right to get a high-quality service from the police and where, for any reason, that is falling short, then we will ensure that action is taken to rectify that. In terms of the more general issue, I know that there is an in-principle disagreement between my Government and Willie Rennie over whether amalgamating Scotland's eight police forces was the right or wrong thing to do. We did it and we did it for great reasons because we wanted to see less resource taken up by chief constables and all of the things that go with that and invested instead in the front line. It is one of the reasons why we are maintaining 1,000 extra cops on the streets of Scotland, helping to keep crime low. Willie Rennie. The closure of Dumfries last year was described as shambolic. Stirling was closed but only weeks later had to reopen in an emergency and Aberdeen and Inverness are still to come. I am alarmed that the First Minister seems to be unaware of the problems because earlier this month there was almost a critical incident because staffing levels were so low. Will she today call a halt to further closures while she gets a grip at Bilston Glen? I have already said that the issues that Willie Rennie is raising deserve to be treated seriously. I am not denying that for a second and I will discuss them directly with both the secretary and Police Scotland. As I said earlier on, the changeover period is being extended. The police carry out user satisfaction surveys in order to make sure that, where there are failings in the service that they are providing to people, they can act upon that. Public satisfaction with our police remains very high but it is absolutely essential that we work with our police, support our police to make sure that they are providing the level of service that they are providing to the public right across Scotland. I, as First Minister and the Justice Secretary, will do everything that we can to support Police Scotland in doing just that. To ask the First Minister what the Scottish Government's position is on the final report of the Penrose inquiry. As First Minister of Scotland and on behalf of the Government of Scotland and the NHS, I want to take this opportunity to say a very sincere and heartfelt sorry to everyone who has had to deal with the devastating impact of infected NHS blood and blood products. I cannot begin to understand the difficulties and the many hardships that individuals and their families have had to contend with. It is important that we apologise to them openly and without reservation and I do so today on behalf of the Government of Scotland and the NHS. I established the Penrose inquiry because I felt that it was absolutely vital that we understand the series of events that led to such a devastating impact on so many people and I am determined now, as First Minister, that we do everything possible to give all of those affected the support that they deserve. The health secretary will be making a full statement this afternoon setting out this Government's response to the inquiry findings and I am sure that I speak for everyone across this chamber and indeed across Scotland in saying that we must do everything in our power to make sure that terrible events like these never ever happen again. Richard Lyle. I thank the First Minister for her answer and I know that, as she has said, the First Minister was responsible for commissioning her inquiry as the then health secretary. She will be aware that some of those impacted by the report have called it a whitewash. What steps will this Government take to supporting those families, to ensuring time for a debate in this chamber, to discuss those views and the inquiry in general? First Minister. I can obviously understand the feelings, the frustration and even the disappointment of all of those affected by these dreadful events. I was struck particularly by comments that Bill Wright of Hemophilia of Scotland made yesterday and I thought that he was correct in his assessment that, despite his disappointment and I am quoting here, there is a narrative setting out the case that cannot be avoided by the Government and its moral responsibility and I certainly accept on behalf of the Scottish Government that responsibility. Let me make it very clear that we regard the publication of the report as the start of a process of further engagement with those affected rather than an end to the investigations into these tragic events. Taking account of the wider report findings and in consultation with patients and families, we will act to implement the recommendation of the report and take forward the review of financial support as a matter of urgency. We recognise that direct payments are only part of the support package for those affected and will therefore implement pilots of increased psychological and social work support with a view to putting in place a national service and will also provide further funding to Hemophilia of Scotland and the Scottish Infected Blood Forum who provide a valuable peer support mentoring and advice function. I, in opposition, campaign for justice for all of those affected by Infected Blood and Blood products. As health secretary, I set up the Penrose inquiry. Now that I am First Minister, I am absolutely determined that we do everything we can to deliver justice and support to those who have suffered so much. To ask the First Minister what action the Scottish Government is taking to end the use of zero hours contracts. We condemn totally the inappropriate use of zero hours contracts, unfair work practices like this are unacceptable, they undermine our ambitions to grow our economy and tackle inequalities in our society. The Scottish Government and its agencies aim to set an example by not directly employing anyone on a zero hours contract. While the issue is reserved to Westminster, we will use all the levers at our disposal to tackle any abuse. Through public contracts Scotland guidelines, our programme for government commitments to establish a fair work convention and introduce a Scottish business pledge we are looking to encourage all employers across Scotland to adopt fair working practices. Neil Findlay.  They are used in their NHS, their universities, by councils and by companies engaged on public sector contracts across Scotland. These are all areas that are under this Government's controller where it has significant influence and if that influence was used properly it could change people's working lives for the better. The First Minister can take her responsibilities seriously and act on zero hours contracts here or she can shrug her shoulders and blame someone else, anyone else. Which is it to be? First Minister. I don't think anything I said in my opening answer was blaming anybody else. I made the factual point that these are matters reserved to Westminster but I also made it absolutely clear that we would use all of the levers under our control to tackle this practice. As First Minister, I have appointed a Cabinet Secretary in charge of fair work such as the importance that we attach to ensuring that people in work have fair employment conditions. That includes the payment of the living wage not having the inappropriate or abusive use of zero hours contracts. We will continue to use all efforts that we can to crack down on inappropriate use of zero hours contracts. Instead of trying to divide Labour and the SNP on this issue where I think that substantially we agree perhaps we should join forces and back the efforts that this Government is making and call on Westminster Governments, this one and whatever one is elected at the election to take even tougher action at Westminster level. To ask the First Minister what the Scottish Government's position is on the political and constitutional reform committees report, constitutional implications of the Government's draft Scotland clauses. The Scottish Government welcomes some of the political and constitutional reform committees' conclusions, especially the need for amendments to strengthen the clause concerning the sole convention. It's notable that this committee of the UK Parliament concludes that some of the draft clauses and I quote address matters of very significant constitutional importance in a less than satisfactory manner. I've previously set out this Government's concern over other clauses in particular the veto in clauses relating to removing the bedroom tax or changing welfare and I very much hope that the next UK Government will pay more attention to those concerns than the current one has. Margaret Campbell. I thank the First Minister for that answer. Smith, of course, is charged with implementing the vow. I'm sure that the First Minister agrees that any UK Government needs to deliver Smith both in law and in spirit. Smith, of course, recommended devolution of the work programme and work choice at the end of the current contracts. Those contracts have now been extended to 2017. Can she advise the chamber on whether the UK Government have agreed with requests to reverse that decision, which goes totally against the spirit of the vow? Well, the Scottish ministers have consistently and repeatedly called in the UK Government to cancel the renewed contracts for the work programme and work choice. Those programmes to support job seekers, including disabled people, into employment were specifically identified by the Smith commission as some of the employability support services that should be devolved to Scotland on expiry of the current contracts. The UK Government wrote to the Cabinet Secretary for Fair Work yesterday again refusing our request. I think that this willful and persistent continuing refusal calls into question their intention to deliver the vow. So today, in this chamber, I again repeat the call for the immediate transfer of powers and resources that will enable us as a Parliament to better support those unemployed in Scotland into work. Annabelle Golden. Presiding Officer, presumably the First Minister does agree with the committee that the UK Government has shown urgency in producing the draft clauses and the process of bringing more powers. Last week, she apologised for getting her oil figures wrong. Will she now apologise for administration's denigration of the further powers process and the accusations of insincerity made before the referendum last year? First Minister. I certainly accept two things. Firstly, the draft clauses were published on timetable, and I think I said that at the time. Secondly, I have welcomed both the Smith proposals and the draft legislative clauses insofar as they go, and I repeat that readily today. I don't think they go far enough. Indeed, in some respects, I don't believe the legislative clauses actually translate the intention of the Smith commission. What I've just said about the work programme is one way in which the current UK Government is going against the spirit, and I would argue the letter of the Smith commission proposals. Perhaps I could end by quoting again the report of the committee where it says that some of the draft clauses address matters of very significant constitutional importance in a less than satisfactory manner. I agree with that, but I hope that the next UK Government of whatever colour it might be can be persuaded to respond to some of those points in a more constructive and positive manner than the current one has. That ends First Minister's question time. We now move to members' business. Members who leave the chamber should do so quickly and quietly.


Hey everyone Hey I want to thank everybody for showing up for my presentation talking about Object-oriented CSS sass and how to do it better in my humble opinion So you're at Portland and we're gonna talk about sass. So just kind of a quick survey of the room How many people here are new to sass? Raise hands. Wow, that's epically awesome. Okay, totally cool How many people here use object-oriented CSS type methods? All right, you are my target audience. Okay, this is totally cool Okay, jump into this. That's me. My name is Dale Sandy I work up in Seattle at a place called substantial that's substantial. How many people here from Seattle? All right, we will all get together for coffee later So this is me on the Twitter's if you find anything I say to be interesting and want to hear more about it I tweet about this crap all the time I also That's recorded And for the people up in Seattle and for the people from Portland who want to drive up to Seattle if you're ever so inclined I do also run a sass meetup up in Seattle and again, you can follow me on the Twitter's I actually have more people following me on The Twitter's at sass meetup around the world that actually show up to the meetup. So that's pretty cool, I guess So I talk about a lot of stuff there, too And this is my daughter Zena today is her birthday. So everybody say happy birthday Zena. Thank you very much That is she's so cute So, yes, we're gonna talk about sass extends and a concept called silent placeholders, which is really cool when you understand What they're doing and how they can work for you Ninjas there's secret code in your in your in your code. Yeah Okay, so object oriented CSS frameworks Attempts at creating objects to streamline application. Okay So we all know that doing things to make things easier Usually means you end up writing a crap ton more code, which then makes your life more complicated So this is this is the precursor to what I'm gonna talk about here So object oriented CSS Nicole Sullivan teacher taught us some pretty great concepts, you know identify Reusable objects be semantic with your HTML minimize your selectors extend your classes style separate from content and content separate from container and This presentation I'm primarily gonna focus on these last three things here And of course style separate from content content separate container. Duh This where we need to go Object oriented CSS frameworks CSS frameworks They've been around for a long time even before object oriented CS came out I mean how many people in this room have used like jQuery UI, okay? So, yeah, you all know you put in one module you just inherited 20,000 lines of CSS. Yay. Thank you um Where they fail is That they're constantly trying to solve all of your problems even though you need to solve one problem and Where a lot of people will look at sass and go oh screw you sass people you're doing nothing But giving me a lot of code blow it. I was like have you looked at Twitter bootstrap lately Okay, 4,914 lines of code before you write line one to Make it what you want it to look like not to look like Twitter bootstrap I say I don't want that Okay, pretty simple Dry coding we all understand the concept of dry coding. Don't repeat yourself nine out of ten developers agree that this is a great way to Do it that one developer. We just don't talk to him Bootstrap buttons. Okay, so I'm gonna do right now. Let's just talk about buttons very simple concept, right? So let's look at some code for bootstrap buttons So, you know, how much CSS can it really be in bootstrap buttons when we're only just kind of talking about Two types of selectors with just you know and nav tabs and have pills I mean this goes on and on and on and on and on and on and on and on and on So that's a lot of code. That's 169 lines of code just for those two selectors right there That kind of code makes kittens cry. That's horrible. I don't even want to talk about that CSS vanilla CSS by itself is not a dry concept.  There's 10 references to white You know, it's just like it's not It's not something that a lot of people like to work with because it's very hard to manage and What always ends up happening is that you know every developer in this room who started working with CSS I mean you start out and you're like, this is gonna be awesome this time. I'm gonna write good CSS You know and then the project starts to evolve and then more things happen And then you get more design templates and then now the product is live And you have a maintenance team that are working on it and then they're looking at your CSS And they're like, I don't understand any of this bullshit that's happening on here So I'm just gonna wrap a div around it slap an ID on it, you know And I'm just gonna go right to the bottom of the CSS put my ID in there and I'm gonna redefine font families I'm gonna redefine colors and it's gonna look awesome and it sucks okay So objects or in a CSS tries to get us away from that And the interesting thing about OCSS is that they readily admit that one of the coolest best principles of CSS is to extend the design rules of CSS and in CSS Sucks, okay It's hard. It's hard to do because you have all these lines of CSS and you're like, oh, yeah I want to reuse this thing and so then I'm gonna go all the way up to line 200 something and Comma delimited put my next selector and then I'm gonna go all the way down to the line 4,000 something and extend on top of that It's it's very hard to to visualize that and understand that so nobody ever really does it so object on a CSS says Okay, fine.  I don't like it. So you end up with something like this I mean here's you know, you have you know this class and this class and this class and this class and this class and this class And this class and this class and so then as you keep building out templates and modules and stuff You're repeating this endlessly over and over again It just gets really complicated to manage from there, especially through the lifecycle cycle of a project You're always going to run into situations where the design is going to evolve and then you have these Presentational classes all over your DOM and people start doing evil things like rewriting what that Presentational class is actually doing which goes against the naming convention because everybody sucks at naming things the naming is hard So it's just it's a great idea to start out with but it totally lends itself to a lot of problems So then again picking on Twitter buttons you have all these all the CSS right here, right? And again, this goes on and on and on and then your designer comes in says I've designed all the buttons That's how I feel when you just said that. No, no, no, no, I'm gonna go away. I'm gonna go away Okay So developers we want our cake and we want to eat it too, right? CSS we want it to be Presentational it needs to convey design. That's what CSS is for no screw you CSS is to be semantic because I wanted to have meaning Right, so vanilla CSS by itself. This is really really hard to do vanilla CSS Conveying presentation and semantics is about as realistic as this cat getting another top-ten hit.  So then this is when I say object-oriented s CSS. Yeah So placeholder classes This is um, this is a pretty cool concept I watched the concept evolve with the SAS team for for quite a while as you know the the role of object or in a CSS started to Emerge and a lot more people were talking about it and the the principal developers Nathan Wiesenbaum Chris Epstein and a few others were You know on github talking about what if there was a way that we could embrace this? Without having to do it the way they want us to do it. We can actually embrace it more semantically inside of our CSS and then have all the control from there So this is this is where cool stuff starts to happen And this is where everything I just talked about the object or in CSS take it and just just set it on fire forget about it We're gonna learn something else So here's a simple problem to solve you have a simple module some box with drop shadow article content and button Object-oriented CSS would want us to do something along these lines where you have you know a main content a post-summary a post-border you know and this is when romantic and Presentational all starts living together and not happily You know you have a post header a post button a primary post button you know you just start putting these individual small classes all over your Dom and You write some CSS that looks like this. This is all pretty cool and it kind of tells you what you want to do But as I've been saying before you know extending CSS and Vindadilla CSS becomes increasingly complicated as you start adding thousands and thousands and more lines of code Yeah, especially when you hit that number and You know as I've been clearly saved before it's like extending in the Dom. I don't really like that and Especially when you're working in environments such as Drupal's you don't necessarily always have control over the Dom You know you're gonna have these these pre fabricated things inside of your development environment You can't just go over there and just start spackling new classes in there as you need So you end up coming up with like crazy CSS tricks to force things around So object-oriented SCSS basically says I'm gonna be more Semantic in my use of my CSS. I'm gonna use something like you know a main Content which conveys simple meaning about the block that I'm working with I'm gonna use semantic classes and use the power of that class to hinge All of my design patterns off of that You can start coming up with very common patterns and very common use cases with these naming conventions which then gives you the full strength of developing everything from your CSS perspective and You know as you're redesigning stuff and your designer comes in all the time and asks for new stuff You don't ever have to touch the markup. You do it on your CSS So One of the one of the first tricks that kind of came out of this was using mix ins How many people here know what mix ins are? Wow, okay So very simply put mix ins is a great tool inside of sass It was probably one of the the first major power tools I came out of sass that allows you to encapsulate a chunk of CSS and then Reuse it inside of the rest of the stuff that you're writing again and again and again, and this is all great and wonderful You know mix ins are never processed into CSS until you actually include them into another selector They are much easier to reuse than standard CSS and In this particular example here, you can basically see that we've combined All of these mix ins into a simple module which you know that module by itself looks pretty awesome And you know it's simple to maintain So but mix ins as we all know the robot will copy and paste what's happening They will duplicate endlessly with a every time that you use it. So this looks pretty clean This looks pretty awesome, you know, but for reuse it's gonna duplicate everything so here's a use case of Building out that module that I showed before using just mix ins, you know, this is great I'm really reusing some code. This is so dry I feel so awesome but then the sad thing is is that when we start to Duplicate things again, and then we look at our output CSS. We realize that we're living a lie Because this isn't dry. I mean we're just Our CSS is dry, but our CSS is endlessly duplicating things again and again and again So that makes me feel sad inside Yeah, poor kitty So then this this is where the conversation with object-oriented CSS and SAS started to bubble up in in the github's like I was talking about and there was a lot of really cool conversations going back and forth and You know the problem that they wanted to solve is say is like, you know, how can we very easily create something like a mix-in? But it doesn't perform like a mix-in and that's where the concept of this extends came in Now in this example here, I Replaced the mix-in with a period and made it a standard CSS and then down here is we're basically I'm combining all of those things into a nice module. It's all pretty cool but All of these classes will get processed into CSS So now you're kind of going against what the mix-ins were doing for the sake of lack of duplication So when you start working in an environment where you're building out Object-oriented CSS and you have all these very Presentational classes primary border padding left padding right yada yada Even though you're not actually using any of those classes with your final Widget that you're producing all that CSS gets produced and so in essence you're kind of creating unnecessary code bloat For the sake of trying to create something semantic So this is what our process CSS looks like, you know, here's an object class There's a semantic class object class semantic class object class semantic class So again, you look at your output CSS and you're like, I'm feeling a little dirty here because I'm telling everybody I'm doing cool shit, but I'm not really doing anything So baby steps we're walking towards it. Okay So then another conversation starts bubbling up on the github's and They're basically responding to the very quick feedback to extends that says, you know, I'm Producing classes even though I don't want to use the classes is there a better way to do this? And this is where Chris Epstein Everybody knows what Chris Epstein is. He's the one who created compass the magical compass. Yay Not so much So then Chris kind of started the conversation where he was like Wouldn't it be cool if there was a way that we could do this without producing all the extra CSS? So that's when they started coming up with silent placeholder placeholder selector such and so forth and number of names Kind of started floating around so The concept behind placeholder selectors is again going back to object or in a CSS Let's Understand the principles of our designs. Let's understand what these reusable widgets are What are let's understand what these reusable patterns are and let's create them and give them purely Presentational names So you're gonna, you know create something like default block and default border and post header And these are purely Presentational and they convey enough meaning to understand that when you're applying them to CSS This is the look that you're gonna get when they get applied So when I come down here to post summary again in this later example, so yeah, so the press to create a silent placeholder All you simply do is replace the dot for a class with a percent symbol and then it becomes silent None of these classes are actually Produced in your output CSS until you actually invoke them within another selector that is actually gonna produce CSS So I got my post summary example down here. I combine these all into a nice little module and At the end of it Here's my CSS. Here's my output CSS and this is this is very clean and this is exactly what we are looking for And this is exactly what we are hoping for, you know It looks much like the mix and solution, but no styles are gonna be duplicated or harmed in this process styles are reused and now Going back to what I was saying before about extending CSS Inside of the CSS is a ridiculously complicated Process of doing things because you have to understand and remember where all these things are that you want to extend Placeholders completely take that away from you I mean just just imagine having a library of all these reusable things and then as you're creating a new selector You want to use those new use those new things you basically just say add extend standard border at extend standard title And extend border right or whatever it is that you want to use and then sass knows where that code lives What it's associated with and it's gonna output the the best possible CSS extending that series of CSS rules So, you know, no unsightly presentational classes. You have a good semantic meaning and It's an elegant solution from which, you know, you're extending in the CSS and out of the markup So this time the robots gonna make us happy because I'm doing the post summary and I'm doing the main article and Then I'm extending all those silent placeholders that I showed in the previous slide. So again, we're saying this is great We're really reusing some code. This is so dry and we are so right this time Okay, because now I have post summary and main article are extending the same CSS rules post summary and main article and just throughout the entire thing and reuse without duplication and Free bird Sweet everybody rejoices. This is great stuff but Extending selectors is Dangerous Okay, there's things that you can do that can really screw up your CSS output And I'm gonna talk about a couple of do's and don'ts kind of real quickly here so As a rule of thumb, I don't intermingle selector types. I like, you know, Presentational and functional is how I like to refer to them and I typically try to keep them very separate from each other and But why? It reduces readability Because as you're scanning through a document of all of these CSS rules is like, oh, that's a placeholder and that's a real CSS And that's a placeholder It just gets confusing You wait, we have we have the ability to make things less confusing. So don't make them confusing because you're want to Reduces findability again, you know, it's like when you're digging around for a certain piece of code If you find yourself using the find option in your entire application build just to find out where a selector is then You know, that's a good smell that you're probably doing something wrong and everything's all just mushed together And another thing is that it reduces import ability by import ability, I mean this rule also very much applies to the use of Mixons If you have a chunk of SAS code where its purpose is to be functional versus Presentational Depending on how your architecture set up from SAS. Everybody understands that there's the at import feature for SAS, okay? If you have a document over here that's importing this document over here And it has functional and Presentational inside of it and the reason you're importing it is because you want the functional chunk of that code SAS isn't necessarily smart enough to say oh, I've already processed those other CSS classes And so I shouldn't do it again. What it's actually going to do is it's going to keep importing it again so if you Happen to be in a scenario where you have a series of style sheets and then one style sheet imports another style sheet Which imports another style sheet just so you can get that chain going together And then you import that into something else and you have this endless loop of hell going on and you look at your output CSS you'd be like why is default container represented in my output CSS 36 times? That's why okay, so you want to you want to keep a separation of concerns when you're doing these things I'm an advocate for this type of folder structure Where I look at my my SAS Architecture in a very modular perspective I'll look at something like buttons on a root level of the file structure and say that this is going to be my Presentational output. Okay, so this is this is where I'm actually going to put CSS classes That's going to get turned into actual CSS is going to be using the application And then I'll have a folder sitting in there in the folder is what's going to contain all of the functional and inside of there I'll keep mix ins even separate from placeholder classes So keeping a good functional a good separation between functional and Presentational is definitely going to save your bacon in the long run because you'll know where things are you'll come up with a Consistent pattern on how to find things and then whenever you're creating a new selector You never have to sit there and look at yourself and go is like, oh, where's a good place to put this other than line? 5,000 you know, so it's it's a good way to keep things very structurally organized, you know, presentational functional awesome, so The next thing that's really going to get you in trouble is extending native selectors, okay The way Extends work is pretty awesome, but pretty dangerous all at the same time So this is this is an actual definition that comes from the SAS website That extends works by inserting the in the extending selector ergo H1 in this example Anywhere in the style sheet that the extended selector appears Okay, so even like in this example if I'm extending the H1 nested inside of episode header What SAS is going to do is all you want to extend H1 awesome I'm going to find all of the possible instances of H1 And I'm going to extend them in all the possible ways that I can't I possibly can and I'm going to create a whole shit Ton of selectors even though the one that you want is in there But it's surrounded by 17,000 other selectors and you will end up with this This actually exists in a project that's out in the world that I can't touch anymore So I kind of refer this is that the unicorn basically came and just puked all over your code Agical so do Extend placeholder selector so even though you can engineer a block of SAS And you're going to say like oh, I just want to simply reuse this thing and you can do that More and more often I find myself with the unicorn puking all over my code and then I go look an inspector and then I hate myself So what I'll typically do is that if I find myself in a situation like it's really great idea for me to extend these series of rules I will actually extrapolate them from the from the one thing that I want to extend from I will create a silent placeholder I will put that in the extends folder in my magical folder structure And then I will then extend that into the two plus use cases that I want to use it and the benefit that you're going to get from that is Now you have control over the output you have control over where these classes are going to be extended You have control on how they're going to be extended and you're not so susceptible to that insane loop of finding every selector possible Because what you're only selecting is that one silent placeholder, right? So it's it's the The the use case of a going totally wonky on you is going to be greatly reduced And it makes your life a lot easier to deal with so by simply just changing You know instead of select, you know extending that h1 what I'm actually doing is Extending the principles of what made that h1 and h1 into the different use cases And then I get a much more concise list of selectors that's going to be using that principle that makes more sounds awesome so now those are some basic uses of Using silent placeholders Silent placeholders also can be used very very interestingly to almost create a metaprogramming type experience inside of your CSS So in this example here, this is a pretty advanced chunk of Of SAS that's written here the first part that we're looking at here is a function. Everybody here know what a function is?  This is very javascript as javascript ish in a sort of way So in this example here this function right here It's going to take two arguments, you know the variable n and the variable d and the concept of this function is to be the greatest common Denominator and what it's going to do is that as this thing goes through it constantly cycles through and it keeps spitting out numbers Are the greatest common denominator until it gets to zero, okay? Then below that is a mix-in which basically takes advantage of the value That's output from that greatest common greatest common denominator function And then it again starts spinning it through magical things in sask is sask can now use for loops some people Real hardcore like javascript people hate this when they see things like a for loop inside of a for loop But in sass world, we don't care we can do it And it doesn't cause evil things like javascript will do so What this mix-in is then doing is that it's using that value like I talked before and See loop through so the return value from that function is now going inside those for loops And it's working its way through I get the the Then what it feeds it into You'll notice that that is a The primary placeholder selector and it's a selector that's being written on the fly Based on the values that it's collected so far out of that function and then it's creating it as a silent placeholder okay Then the next thing that it's doing is that it's also taking those same values that it's cycling through and it's Extending another silent placeholder. So it's a silent placeholders extending another silent placeholder and what this allows us to do is Once I include this mix-in into my my styles It's actually going to generate this exact example is going to generate a whole series of Every grid type possible in that you set up to grid to be a max of like so if you set up a if you Said the max grid type in this particular example is 12 It's going to go through and it's actually going to create every possible grid Space within a 12 column grid, you know one of one of two one of 12 six of eight You know on and on and on but it's all going to create it all silently. It doesn't exist So then I can come down here and then I have foo, which is my semantic class, you know, whatever you want to call it And then I'm extending grid five of five and then bars extending grid of one of eight Baz is extending grid two of nine and crypto is extending two of nine And then what you see the output there below you is Exactly what you would want to see is like the the semantic classes that I created SAS pulled all those silent placeholders out of that magical function and mix-in that created all these things in basically Meta space and then it's applying the values to the actual classes that I want to use in my CSS So if you were to go all the way back to the beginning of this presentation and you wanted to do something like this You would actually have to have like 500 lines of CSS with all these wonderful things called grid one of two grid five of six grid seven of eight You know, it's a bunch of crap and I want to look at that anymore You know, and I don't I don't want to send that over the wire and I don't want to I just want to deal with it This makes it so I don't have to deal with it So that's advanced placeholders And this this target code is actually inspired By a guy named Lou Nelson out of Berlin. He's He's a super smart cat. He's way smarter than I am And you can find him out on the Github's and if you're interested and you know A lot of these types of crazy loops and things like that, you know He's got a great series of gists out in Github that you can learn from so Insummary getting at the end of this whole thing here. The things that we have learned is that object-oriented CSS and UI frameworks can And basically will give you a lot of CSS bloat because they're trying to solve all your problems before you even write any code So we don't want to deal with that Managing presentational CSS and extending in the DOM is difficult complicated and it has its issues Extending classes with 4914 lines of code makes my brain hurt a lot. I it's hard. I just can't do it. I can't Object-oriented CSS is using a CSS and using a CSS processor will change your life But I'm sitting in the choir and everybody loves sass. So awesome Mixons was a great start. Mixon still has a Very specific role to play in your CSS. I'm not discounting Mixons But one of the other rules of thumb that you would definitely want to stick with is that if you're creating a chunk of code To be reused and it's not accepting arguments You know, then that's an opportunity to say that I should be using a silent placeholder Extends are awesome, but we can do better take everything you know about it set on fire Foo is the way to go questions Anybody have questions, sir Okay, so like like I just said you're He okay, sorry. He basically said, you know, what's what's a good use case of using a Mixon over a silent placeholder and vice versa basically When you're when you're going through and you're engineering the CSS for a particular widget and You see that there's an opportunity there to you know abstract some of the stuff out of there because you want to reuse it Then you know, that's where you look at yourself and go I'm gonna make a placeholder I'm gonna make a mixing if You're following a more of an object-oriented CSS principle And you want to start to abstract things that are just purely Presentational, but the output is going to be static Then that's when you would want to use a placeholder if you're starting to extract things that Aren't so Presentational and then the use case of using them again You're actually gonna want to change variables on the fly Then that's when you want to use a mixing because a mix can accept arguments And it'll allow you to reuse that thing, but you're not generating the exact same CSS again You're generating differences as based on the arguments you passed into the variables. Does that make sense? Yes Hey How do you are you using silent extends with in each other like in a project I'm doing right now I have one for just border for example And then the next one under it is if I want to have border and background and then kind of creating a silent extend built system on top of each other So you're you're basically saying like you have your your parent selector that you're outputting the CSS And then you have extend extend extend extend no like I have an like a really simple extend like just a border Okay, and then I have the next extend uses that border extend with a background maybe so like I have BG background so like it's an extend using an extent you're nesting extends. Okay Every use case is a little bit differently You want to pay attention To exactly what it is that you're extending and how that nesting is working I mean if you're using silent placeholders Yeah, they're all silent if they're all silent there's there's a good chance that it'll probably work But as you start nesting things like I said the rule of the extends is that it's going to go Loop through every possible combination to give you your output So it will work it can't do that But you just have to be mindful of the output that it's putting out is another rule of thumb I never use extends inside of a mixin Because what can very easily happen there is that as you apply that mixin again to another selector Then you're also injecting all of the code that comes with that It's with that extended placeholder and then it's gonna loop through all those different scenarios again And then you just end up, you know, just all you get to do is do it and then open inspector in Chrome and then look and see if you made good choices or bad choices Thanks. I have Two questions, but I'll go to the back for the second one The the question I have for you immediately is how do you extend across media queries? I know that that makes things kind of blow up right now. Okay. That's a trick I don't mean it to be a trick I mean no no no no it's it's a it's a very interesting question the the trick behind it is That you need to have So basically how extent how extends work in relationship to media queries is that the extended selector is scoped by the media query So if you are you you create a media query and then you create another selector And then you want to extend something that is outside of the media query sass is basically make a puke on you Okay, right now. They have a silent fail, which says it's not gonna work But in the next version it's gonna crash on you. So the way to get around that is What I'll typically do is I will create Placeholders that are to be used within that media query underneath another media query. So it doesn't have to all live Because the cool thing about sass is that you can write your selector, right? And then you can nest a media query with the via the bubble up method and then you can write all your media query specific sass based on that Based on that one particular selector So if you have Somewhere else in your hierarchy of sass you basically have a series of place holders That are also written underneath the media query that will work Does that make sense? I mean, it's a little ambiguous to me. What do you mean like underneath the media query? So Um, just nested in inside of the media query The internet still work Not really I Kind of have any No, no the internet doesn't work. No, no, I'm getting something. So it's it's basically not like a really good example is Nathan Smith wrote a unsomantic grid system And then one of the things that he did was that he created a whole bunch of placeholder code and then He has a master import file that he defines and media query and then he imports all of that Placeholder code inside of that media query So then now all of those placeholders Honestly live inside of the media query and then anytime you create a selector to find the media query sass is going Oh, yeah, it actually lives under the media query So it's sculptor properly and I will apply it to this particular use case. Okay, that that makes sense. Does that make sense? Okay That was pretty much my question But I have a one more question to add now. We said like so Should we have to define twice like for example if we create extents call us Border Borders and we have a width of two pixels should we extend should we define it twice in under two different media queries? Um, I mean again, it totally depends on the use case of how you're trying to build those things I mean you could it doesn't make you feel right Um, so we are repeating again, right? Like yeah, I mean there's and I think Yeah, that that was my thing actually like okay started with this but when it came to media queries We found that we are repeating ourselves again again because like once for let's say 720 and we have to define the same styles once again for one zero two four if you're gonna use Silent placeholders sure kind of silent placeholders also fails in this case, right? But what we what we are doing, I know if there are better ways to do it But this is something which I which we do I just want to verify if that's fine Sure, what we do is we have a mix in uh-huh and then Also, we extend that mix in in us in an extent like we have a mix in let's say for example Well, yeah, yeah, you can yeah. Yeah, that makes sense I mean you so that you define it really once and then for each of the media query we just go ahead and say Include this mix and so is that I mean if this if this okay Where's how did I do this? Yeah, I mean if if you guys and people wanted if you guys want to talk about this a little bit more about the session I will I can show you some examples I Know you briefly touched on the fact that you like to use modular file structure. Mm-hmm, but I guess what I missed was Does that have a special place with OO's SCSS? No, that's why I didn't really talk about it that much in this presentation. I have I have a whole other presentation that you can get from Speaker deck, okay It's basically called you just Google it.  It's very cool. Thank you. All right, cool so I went to Snook's presentation on smacks. Yeah, you did and I've read up on it online, but my approach was some of yours well No, not quite as clean and different training between the functional and the presentational and it seems like What you're saying here is a lot more appealing to me rather than nesting a bunch of classes Even there's a bit more in a certain sense. There's a You know, there's a certain sense of redundancy. I think you could kind of take smacks Principles for naming your placeholders Yeah, but I mean it's there. Yeah, there's nothing I'm saying here today is gonna say that you know What you know the principles of smacks the principles of object-oriented CSS and the principles of smacks are good principles I I'm totally cool with that and having having a consistent naming convention that works within your right I mean the funny thing is is that when we you know, we as developers and Presentational developers start saying is like, you know, I want my stuff to be more semantic Everybody remembers, you know, when you get into an argument with somebody and the argument ends with you know Now we're just arguing over semantics This argument begins with semantics because now you know, this is not gonna go anywhere, right? So you're you're fighting over something that is just purely you know, it's just totally argumentative and so if if if the smacks naming convention works for you and that's great but what I'm advocating for and what how I see silent placeholders being used is Not creating a bunch of things written in your CSS just for the sake of writing that but be use the silent placeholders To write them and then use them appropriately with the markup that exists in your in your down yeah, I mean I would see this as more of The primary means of development and then taking maybe some of the like the naming convention ideas from smacks A lot of people do that. Yeah, I mean his approach seems much more like the classic. Oh CSS sure Well, I mean, yeah, his approach is totally talking about like, you know You're just gonna use vanilla sat vanilla CSS and here's and here's a way to manhandle that and I Even if even if like my manager came up to me and said I need you just to output some CSS So I can plug it in somewhere. I'm gonna write it as sass now. I'll just give them the output I don't write CSS anymore. I actually hate the language. Yeah That's okay. Yeah, I have a brief discussion. Then he says like he does use extents and imports, but much more judiciously sure and so I mean, I personally Appreciate your approach better. Well, thank you. I appreciate that Thanks for presenting Two quick questions. One is the sass file. Are there any unknown issues with like browsers? No, because I mean sass The browser never sees sass.  So If you do anything that breaks in a browser, I mean you're You're just writing broken code You know, I mean, it's like it's sass is not gonna do anything that creates browser incompatibilities Actually out of all the preprocessors out on the market sass is the one where Nathan Weisenbaum is very specific about honoring the real principles of CSS honoring the cascade he understands how CSS works and he Continues to build sass in that fashion Whereas like the guy from stylus. He's just like I'm writing a preprocessor, man I'm just gonna break all the rules. I don't care and you know So like there's developers on the note side who love that because that's all they want to do is break rules Cool.  Yes Yes, there is I'll just go my local version sassmeister.com. Yay Okay, so this is this is a project that a friend of mine and I build and the whole purpose of this project is to show people how to use sass and One of the cool things that it does is you can choose between the two syntaxes sass and s CSS and What is also in this list is all of the popular compass plug-ins that you hear about on the news in the Twitter feeds And so you're like wow, I want to learn how to use Singularity, okay, so you don't understand how to use singularity and you don't want to set up an environment to play with Singularity so come to sassmeister put in singularity code You write code and then it spits out CSS and everybody knows what CSS also look like so you draw one-to-one and then you learn school Awesome. Thank you. All right. I just have a real quick question. I have a really long answer. Okay, awesome Are you at all concerned about the level of specificity with silent extends and silent placeholders the level of specific specificity like you're not you're not changing your markup. You're just extending your Placeholder and in one of your example slides that was the good example you had a block with maybe 20 different selectors all Associated with four lines of CSS and I just have concerns that you know if you're extending maybe four different Silent placeholders that you're then going to have Yes, there is specificity that is then really challenging to change later. Sure That is a development principle on how you and your team are basically developing the widgets I mean a lot of the scenarios that I find myself in where you know, we're we're writing We're writing a module that has a specific name Okay, but just by the the the pure nature of how we're developing things in this thing is gonna have a specific name But then there's a lot of reused design Presentational things that are gonna get appended to that So then that's where I make good use of it But if you come up if there are things that are you know more generically named like you know This is a primary article or a primary subheader There's no reason in the rest of your code to change that name Sure, you know So then that would actually be the class and you don't actually even need a silent placeholder in that scenario So it all kind of depends on the use case, you know I'm not advocating to say that you know Every design principle should be a silent placeholder and then change every class in your DOM and because you can extend everything That's pretty badass What you're gonna end up with is a whole bunch of really crappy CSS and then you just feel bad about yourself So it's a balance. Yeah, it's only a balance between smacks and this, you know, it's not neither or thing, right? I mean, it's I'm a tool is a hammer and I try to make small holes in the wall not big ones Awesome. So thanks a lot. Thank you Going once Going twice. Thank you everybody for showing up Whoo triple camp sassmeister use it love it. It's great.


Finally, what's up money geeks Mr. V here welcome to another video guys. So into this video I want to talk about ticket symbol and n o x nano x imaging So this is a company that we have actually profile here on the channel several times because of the technology So if you haven't watched any of the videos, I'm gonna hook it up here so you can definitely go check it out so this company has been developing this technology and I mean making some hype about changing how we do x-ray systems and So far they were getting a lot of flags because people said they were talking about a concept and not an actual technology So it was now up to nano x imaging to kind of prove to people that they're not just talking concept But they're talking technology. So that's what we're gonna talk about today But before we get started guys feel new to the channel We took about how to earn money how to save money how to invest and build wealth So if that's something that interests you go ahead and hit that subscribe button any notification bell So you don't miss out on new content. So if you guys know very well I have covered this particular stock here on the channel a lot And I've gotten comments from some of you guys telling me that you work in the field And what these guys are claiming doesn't work doesn't exist It's not possible. And so I'm like I'm just investing in technology that Hopefully should work. But if you guys are telling me doesn't work, then we would see so the challenge This company to actually come out and do a live demo where people can actually see it So yesterday was the day where they actually came out and planned and did the live demo It was interesting because I was sitting here panicking because I bought this stock when they were really really down And the thing has dried all the way to about $60 a share So I set a stop last just waiting thinking I have if things go south and then I can kick me out So yesterday they proved everybody wrong because they did it live Everybody watching it this streaming live on the YouTube channel and people watching it So they showed images of the current x-ray system and what the nano x imaging does and it was so clear that Even I think that was the CEO and he started tearing up just talking about the technology in how good it is So I'm like wow, this is this is awesome So here's what I'm thinking about is stuck right now because the fact that they have come out and actually Proven to people that this technology doesn't just exist, but it works I think they're gonna get a lot more attention And so the fact that they are making a compact compared to the current systems where if you go to a hospital There's a big room massive room dedicated to this to an extra machine These guys are trying to make it a little bit compact So you don't need that much space for it and then their business model too is just the fact that they're providing the machines for free And then you just pay pair pair scans, which is I think it's a brilliant way of doing it So Imaging as a service. I think that that's what they're building after this presentation the price fluctuated a lot So it went up came down But stayed somewhere around 50 and $60 range which to me that was a win because I was I was thinking that if this thing had flopped The stock would have tanked would have gone down to like 20 bucks So it stayed up there so that to me that was a win. So from here moving forward As they start to get more press and you know talk to more people You'd probably see them on like Jim Kramer or CNBC talking about their technology People are gonna start flogging into the stock and I see the price from here Now moving price to get to maybe about 80 or 90 bucks Early next year my personal projection So I I'm still gonna I'm gonna add again to my position because I feel strongly about the technology But again, I'm adding being smart I mean, I'm gonna always set my stop loss kids You never know if if anything, you know the CEO can go say something stupid that can tank the stock or Somebody can say all that was that presentation was fake It was actually maybe made up and so the price is gonna drop again if you hear any bad news so Right now, would you say nano technology is a buy? I would say wait a little bit and see if there's another pullback But maybe from $50 and up between 50 and 55 out I'll buy it and hold it and see what happens because again, these guys haven't gotten a ton of price Once this like in a ton of press because of the technology You're gonna see this price is gonna start moving because Institution or traders are gonna start putting it in ETFs And you're gonna see a lot of big names buying the stock and that's gonna drive the price up So that's what I think again yesterday for nano X imaging. It was a success I was so scared and I was sweating when I was watching it because I didn't know what it was gonna turn out to be I mean you talking about technology here that can either work or fail. You've seen companies like Terranos know come out and say they have crazy technology that's gonna change the way we do things and then what happens? Turns out it doesn't really work So I was worried that this might be the case but the fact that they were able to do it live and actually show the images for people to see and Prove that this technology doesn't exist to me. That's great That is just the things I wanted to see it might take some time for them to actually Go to production but based on what they're saying they want a prover from the FDA And the CEO specifically said in a few weeks. They're probably gonna get a prover from the FDA So that's another catalyst that I'm looking at if the FDA approves Boy, we're going to the moon. But if they reject man, we're going south So stop loss are gonna come in handy and that's gonna help you protect some profit if you do have any profit Let me know what you think about it. I'm gonna put the link to the presentation below So you guys can definitely go listen to it and see for yourself again if you're new to the channel We took about how to earn money how to save money how to invest and build what so if that's something that interests you Go ahead and smash that like button any notification bell to you don't miss out on new content And as always guys always do your own research and don't be a greedy savage and stay motivated


I am Dr. Patil Smilkumar-Has, Professor and Head Swinging Department, Vulture Institute of Technology, Swannapur. So the today's topic of discussion is a numerical example on analysis and design of Hill's slab under cantilever rating, for a cantilever retaining wall, learning outcomes. At the end of this session, learners will be able to analyze and design Hill's slab of a cantilever retaining wall. Example, design Hill's slab of a cantilever retaining wall to retain an earth embankment with a horizontal top 3.5 meter above the ground level. Density of earth 18 kilonewton per cubic meter. Angle of internal friction 30 degree. SBC's safe bearing capacity of soil is 200 kilonewton per meter square. Take coefficient of friction between the soil and concrete as 0.5. Adopt M20 grade of concrete and 415 grade of steel. The preliminary dimensions of the retaining wall are as shown in figure 1. Now this is the figure showing the preliminary dimensions. So this is vertically is a stem and this portion of a base slab which is to slab and this portion is Hill's slab. Now here we find we have assumed the 200 mm thickness or 0.2 meter thickness at the top and we have assumed 400 mm or 0.4 meter at the bottom thickness of this particular stem slab. Now similarly, to as well as Hill's slab thickness, we have assumed it as 0.4. So the distance, the difference in level between these two heights that is ground level at downstream and up other side of the retaining wall it is 3.5 meter below the earth retained. So now first of all we are supposed to calculate the minimum depth of foundation that is D minimum which is determined by using SBC of soil divided by the density of soil multiplied by K square where K is the coefficient of active earth pressure. So that has worked out to be 1.25 meter. So now the total height from the base to the top it is 4.35 there are other 3.5 plus D minimum therefore it works out to be 4.75 meter. Now analysis of Hill's slab. Hill's slab act as a cantilever slab having a length L2 this is length L2 this is Hill's slab so this is stem slab and this is to slab of a cantilever retaining wall length L2 as shown in figure 2. So here in figure 2 we will find this particular Hill's slab. Now this is subjected to a downward pressure that is earth pressure which is weight of the earth which is retaining on Hill's slab or which is above Hill's slab and due to the horizontal pressure retaining pressure of earth and the weight of all these stem slab to slab and Hill's slab there will be a reaction P1, P2, P3, P4 so this is a reaction under the base slab. Now can you just imagine where will be the maximum bending moment produced in case of Hill's slab. Now Hill's slab is a cantilever so therefore can you guess where will be the maximum bending moment? The maximum bending moment in the Hill's slab will be at the inner face of the stem slab. If you just see the figure here you will find at this particular location you will get maximum bending moment. So this is a cantilever slab subjected to 88.3 kilo Newton per meter that is the weight of the earth then here it is subjected to a pressure bottom pressure 12.8 Newton per kilo Newton per meter and here the other value. So here we find that all these things it is subjected to a net downward force acting on this particular Hill's slab. So therefore this cantilever which will have a bending maximum at this inner face of stem slab. Now it's width is rather its length is 1.35 meter then weight of backfill it is gamma into H1 that is what's out to be 78.3 kilo Newton per meter. The self weight it is 0.4 into 1 into 25 that is 10 kilo Newton per meter self weight of the Hill's slab. So total downward load was out to be 88.3 which is as shown in figure 2. Now we will calculate maximum bending moment. So maximum bending moment is calculated. So first of all for calculation I will just show it on the figure. So this is the total downward load 88.3 so the length of cantilever it is 1.35 meter therefore 88.3 into 1.35 square divided by 2 that is the bending moment due to downward pressure. So that is the first one which we have taken 88.3 into 1.35 by 2 minus so 12.8 that means further what we have done we have divided this particular trapezoidal loading into a rectangular load and a triangular load. So P2 is a rectangular load throughout up to here. So therefore we have taken again it will be 12.8 into L2 square divided by 2 that will be the next bending moment it is upward therefore it is negative. So first one is downward therefore positive or it is clockwise positive this is anticlockwise negative ok. Then next further the triangular portion remaining. So it is one half 69.53 is the extreme pressure and minus 12.8 that is the balance the ordinate of the pressure into 1.35 this will give you the load. So again it acts at CG that is one third. The one third the ordinate therefore one third 1.35. So therefore we get 51.57 kilo Newton meter. So that is Mu will be 1.5 times M. So that was sort to be 77.35 kilo Newton meter. Now this is that's all we call it as analysis of field slab. Now we are supposed to do the design of field slab. So for design of field slab we always equate Mu with Mu limit to find out the effective depth of the slab. So required to determine and compared with the provided depth which shall be equal to or more than the day required. So here you find 77.35 into 10 to the power of 6 this is Mu it is the 0.138 fck fck is 20 b is 1001 meter d square. So we calculate d it was sort to be 167.4 which is mm so which is less than 350 mm which is provided therefore hence it is safe. Therefore it is under infor section and the area of steel is determined by using equation g point 1.1 b of is 456 2000. Now as per 1 point g point g point 1.1 b we find Mu that is 77.35 into 10 to the power of 6 is equal to 0.87 fy Astd into 1 minus Ast fy upon bdfck. So by equating we calculate the area of steel it is 636 mm square. So Ast minimum is 0.12 percent of b into d 1000 into b that is 480 mm square. Since Ast required is to be provided on the top face of the base slab and Ast minimum is to be provided perpendicular to it. So using 12 mm bars the spacing will be area of 1 bar into 1000 divided by Ast required so that was sort to be 177.82 hence provide main reinforcement 12 mm bars at 150 mm center to center. The reinforcement perpendicular to it is minimum reinforcement it is 12 mm bars spacing will be steel it is given by area of 1 bar divided by 480 that will be 235.61 say provide 12 mm distribution steel as the 12 mm bars 225 mm center to center. Now here it shows the reinforcement here you will find this is the main steel 12 mm Tor 150 mm center to center and perpendicular to that we have the distribution steel 12 mm Tor 225 mm center to center. So since this is a cantilever which is having subjected to sagging bending moment therefore steel we have provided top and here the distribution steel perpendicular to it. If we want we can even provide this particular distribution steel on both the face also so here I have provided on only one face so this is how we can design the heel slab of the cantilever retaining wall. Now these are the references used and thank you and and all for your patience link. Thank you.


I would like to turn to the audience. I have two voices here. First, the lady in the second row, then the lady in the first row, and then you. Please, Marie. And if you would briefly introduce yourself, please. Okay. I'm Marie Rogé-Bilois. I'm a producer from Cameroon. Thank you for your very inspiring and fascinating panel. After having listened to you, one of the major issues here is still environmental problems. And you alluded to that, and I'm sure you are aware of the controversy about the electric battery, and that is not that clean. You know, all the kind of problems it's posing to environmental carbon footprint, you know, when you compare it to the traditional batteries, et cetera, et cetera. So, how come that, I would say, the electric battery has been developed full-speed despite of that. Everyone is in that front. France has allowed for billions, developed, et cetera, et cetera. How come? And how do you intend to solve all those problems? So that is one of the first questions. The second one is how can you enforce the need to have a fair share in the value chain for the producing countries like DRC, African countries, whoever they are? Because everybody knows that there's a huge problem. I like the reference to the Ogoni. But who can enforce that? That should we rely on the goodwill of the actors of the chain? Or should we think of a governing body to enforce a better reputation? Thank you. I suggest that we collect a few voices and then turn back to the panel. Lady in the first row, please. Thank you very much. I appreciated the word of Mr. Corbero. These cell phones and all these very high-tech industries are happening because the mines and minerals are coming from southern countries, African in particular. And when I hear you, I mean, you're saying the right thing, but why it is not happening in the field? Why it's a completely different story? Environment, she said about it, but the worth is, and there is a responsibility from the African states, who are overwhelmed by so many problems, and sometimes it's difficult for them to enforce their own legislation. But it doesn't even make sense for me from an economical point of view. You operate, mining companies you rely on, are operating in low-less environment, child work, of course, polluting the lakes, and no investment whatsoever within the community they are surrounded by. So it doesn't make much logic for me because the next step is they're going to be sort of kicked out of many places with the new generation of leaders coming in, in Africa, because this is not going to last. So I think you guys who are at the end of the spectrum should talk to those companies, that are your providers, because you might be running out very quick. Because this is not going to end, and this is the major, major outcry of the young generation of African. Being looted, because that's the word, and nothing is being done, but when we are in for us, the right things are said, but never done. So what are your takes on that? Because what you see is what is going to happen in Niger. Unfortunately, a company invested there, and now it's going to be a lot of problems because the new military regime is focusing on them, but they should have prevented that. Had they done the right things, I don't think it would have happened. But this is going to be a general trend in Africa. So your industries might quickly be at risk because you will not be having, at the same cost, in the same condition, the product you need to develop your industries. So what's your take on that? Because the talk is there, that's what Marie-Rosie was saying, but it doesn't change over six decades, but it's going to stop because now it's really, really the hot topic. And if somebody like me is in power, I can tell you that it's going to be one of my priorities, because it cannot last. It's impossible. Thank you. Well, thank you. Thank both of you for your comments, and when I said we carefully balanced the panel, we did, well, at least one mistake. We should have had someone from the global south here on the panel on these issues, and therefore I'm particularly grateful. The microphone goes to this gentleman there. I'm particularly grateful that you raised your voice and that you did so quite forcefully. I take two more voices and then turn to the panel for a final word. It's the gentleman here and the gentleman in the fourth row over there. Okay. I'm Daniel Landler from Paris, and I have a question which is a real question, an honest question, not an implicit reproach. Whenever everyone on the panel seemed to take for granted that demand was inelastic so that by 2030, 2080, there would be the need of so many billions of tons of this and that. As if it were a law of nature, it's not a law of nature. It's at most a law of statistics with a little bit of implicit sociology. How are you going to take into account the fact that maybe by 2030 or 2050, people will decide not to have an EV and have a bicycle instead? And again, I'm not being ethical or anything normative. I just want to know, how come you don't seem to want to take into account the fact that the demand is not rigid? Thank you so much. Please hear Arash. Thank you very much. Arash Duro here from Dubai. I think it was very clear from the discussions how critical these materials are for strategic industries like energy, renewables, et cetera, AI, robotics, you name it. What I was kind of missing is the financial aspect of it all. So you mentioned Dr. Copper, one of the most critical materials and so on. But when you look at geopolitics, to me the most significant, most critical metal that's not even on the EU list of critical materials was gold. When Russia invaded Ukraine in March, the ruble dropped almost historic lows. Immediately following that, Putin came out and said he's going to pay 5,000 rubles per ounce of gold. Now, from March 2022 to June 2023, the ruble appreciated 158%. So there was an effective temporary gold standard for three months where he stabilized the currency and essentially negated the sanctions for a while. Now that sent a message to China, especially after the freezing of the Russian funds, where China has gotten a message that they cannot rely on the US dollar as a reserve currency going forward if they have intentions of doing whatever they want to do. The BRICS recently came out and said they want to come out with their currency perhaps backed by gold. There's been record buying by central banks, especially in Russia and China of gold. I haven't heard gold mentioned anywhere. I don't hear it mentioned anywhere in the EU. It's always about renewables, et cetera. If you don't have the financial bedrock to finance all of these industries, let's be honest, the energy industry in Europe is highly subsidized and it relies on the primacy of Western financial institutions almost finished to actually finance these industries. So what about gold? Where do you see that? Great questions, great statements. You have now the difficult task to answer in everyone has 30 seconds. So just take one question which you think is there were many statements also. So go ahead, we start with Jonathan. Let me maybe tackle a few topics that the ladies in the front mentioned and I think it's a very important topic that requires a lot more discussion and a lot more engagement. And it's a very complex topic. So I'll just pick a few of the things that you mentioned.  There's very rigid global standards that need to be followed and there's a whole ton of experts that go into the nitty gritty of doing this. Now, whether this is done and followed, that's a different topic. And here I totally agree. It must be enforced and must be leveled and we need to have more balancing and more audits. But you need to differentiate between industrial scale mines, semi-industrial artisanal mines. And the second topic of yours was with regards to a more fair value distribution along the supply chain. This is what I mentioned as well in my brief speech. I fully agree. The answer to that is not a simple one. We see tendencies of politics to enforce more resource nationalism, increase taxes and tariffs, usually with quite the opposite effect. I think what we need to do is, and it's both the individual companies as well as industry organizations to invest heavily in the communities itself. It's about the creation of jobs. It's also the creation of alternative livelihoods. Just to mention a few things. Thank you. Philippe. Excuse me. Just about what Mr. Anders said, how do we forecast demand? I do perfectly agree with you. Elior said that you shouldn't look at past with today's eyes. It's wrong to look at the futures with today's technologies. It's clear that we don't know. And I'm a bit, I take what is on the market as far as forecasts for 2040-2050 are concerned. I don't know if my grandchildren will have cars. Maybe cars will disappear. You're right. We'll be all cycling or we'll try to walk and so on. And well, the only thing I'm pretty sure of, there might be some batteries. Will there be lithium or nickel or cobalt or anything else? I don't know. I'm pretty sure that copper will be extremely important Don't imagine a world without electricity. And for the moment, well, you're more scientific than I am. It seems to me that copper, you can't escape it. By the way, gold, we can get rid of it. It's Keynes who said it was a barbaric relic. Gold isn't, it's a nonsense. You know what Warren Buffett said.   Right now it's verging $2,000 an ounce because there are some troubles in the world. So it's a good indicator.  Money has to circulate. Money has to be invested. Money has to create wealth. Gold destroys wealth. So by the way, we'll have private talk with my African friends about the share. Thank you, Christophe. Yeah, thank you very much. So maybe I'm going to be back on the environmental issues and social issues with regards to mining activity. So I fully agree with what you both mentioned and thank you very much for your comment, which was very fruitful. I want to say that first, we aim to develop any new man at the highest environmental standard as possible. And it's not only a claim. I mean we are developing the regulations and the regulation will apply not only for mines in Europe but for any material entering in Europe. It's what we call, for instance, the battery passport in which we will be described the environmental footprint of the material which are used. And they will have to be at the highest standards otherwise they will not be able to enter on the European market. So it's a way, it's not the only one, but it's one of the ways to try to develop the highest possible standards. And regarding the fair share, which is also very important, any project that we are developing in the country, it's not only a mine, it's a mine with all the transformation industry around in order to relocate the highest part of the added value in the country. And for instance, the agreement which has been signed in DRC some years ago is within this framework. So we will build some plans in DRC, not only mining. Thank you. Nicolas. Maybe to Daniel's point, I fully agree. I think that's what I was trying to say on strandedness of assets as we go forward because both innovation and your right social behaviors. So I agree. This is one of our concern as energy players. Not much we can do now, but you're absolutely right that we should be very careful to not lock in too much position in this. I fully agree. To the point of fairness, I will use Jerry Myron's comment in margin call. We'll have to pay and I genuinely think so. I think yesterday and when we talked about transfer from no rich economies to developing economies, we need to pay the real price of this energy transition that we are fueling. And for that, I think it needs it means higher royalties potentially that stays local locally. It means that we need to probably subsidize so that also local populations, it has an impact on electricity prices or anything. It needs to be subsidized by the richer economies. People will say that this is not acceptable from the Western point of view. But this is absolutely acceptable because this is exactly what we need in terms of international cooperation in my view rather than just giving money. It's better that we invest that money locally on by remunerating the real price of what we are asking as a material. Thank you. I think this was a great panel, great speakers. One disadvantage which you pointed out very clearly with your remarks here from the first and second row. We are still too Eurocentric in what we are doing. We have less and less people, relatively less and less power in the world, but we believe that we are still the core of the world and that is wrong. And therefore, it is I think one message that we take. Well, if we do this again, I would definitely ask for an African or an Asian voice here, perhaps not only one but two. And that is what we learn. Thank you very much for your attendance and your interest.