So I'm Sean, I'm going to talk to you about Mallard and a whole pile of tools that have evolved around Mallard. So Mallard is a documentation format. It is a topic-oriented format, it is a radically topic-oriented format. It grew out of the GNOME project when about 10, 15 years ago we decided we wanted to throw away all of our books and go topic-oriented in all of our help. So it's quite different than how other topic-oriented formats work or other systems work. Usually you write some topics but then you write some sort of assembly or map that still puts them into a linear book-like structure and Mallard doesn't work anything like that. It happens to be XML, but I'm going to talk about that in a minute. And it's a semantic format, but it's not too semantic. It tries to strike a nice balance with simplicity. In some formats like DocBook or DDA, they might give you this whole pile of options for, this is a function name or a variable name and Mallard just gives you the code element or a UI button versus a UI menu item. I never need this distinction, so we just have a GUI element. So you still have those semantics, you're not just saying bold or monospace, but it's a fairly simple set of semantics. So I'm going to mostly do live demos, so I might sit a little bit. This is a Mallard page. The top unit of information is a page in Mallard. We have some metadata here. Some of the stuff like these links, those are super important and we're going to talk about it. Some of it's just some nice bookkeeping. You can track some extra information. There's a title, there's a paragraph, there's a section. It's all the kind of stuff you would expect from a format. Here's some of our inline markup. I said we had the GUI element. There's our semantic element for that. And we have the semantic elements for block things. So here's a note. And here's a funny if test thing that I'm going to talk about in about two minutes. So we have a fairly simple semantic XML vocabulary. What kind of stuff can we actually do with it? So one of the things that we have is a tool called Yelp Check.  You can validate your pages or check for broken links or broken image references. You can get a report of the status of each page so you know if it's release ready. So that's one of the cool tools we have. Usually though you just want to publish, right? So we have Yelp build and we can take that. I'm going to output to a directory I've already made. Create some HTML. That just takes a couple of seconds. I'll throw balls while it takes a couple of seconds. And, okay, here it is. It was generated. We can go to some actual page here. You see that note. This is the page we were just looking at the source for. So sections and links and all of that stuff. And then, actually within GNOME though, we don't actually build out DHTML. We actually just install the mallard stuff. And we run a tool called Yelp. This is the built-in help viewer in GNOME. If you ever pull up the help for any application, this is what you're going to see. And you can see it shows you the exact same stuff, right? So this is how we do this. And Yelp is actually reading the mallard stuff, rendering it on the fly. This is very powerful because it allows us to do things like runtime conditional processing, which I will talk about very, very soon. So, all right, that was Yelp check and Yelp build and Yelp. So how do, how does this work? How do we do all of our linking? You'll notice that, right, I clicked down from the index page, down into that the logout page. And we had links going back the other direction. Hang on. I'm going to delete a page because I'm going to make it later. So, we clicked into this page. We have a link down here into the logout. This has a link in turn back up to the top-level index page here. It also has up at the link trail at the top. There's a link to it as well. And so, how does all that linking work? So, if we look in the shell exit page here, we've got these links here in the info. They're metadata links. And we're saying we have a guide link that's going to the index page and some advanced stuff you don't have to worry about. If we actually look at index.page, that's that front page. Front page in mallard is always called index. It has, this is not a trivial guide page. It has some stuff going on. But of all the stuff it has going on, at no point does it have a link to shell exit.page, which is the page we actually linked down to. In fact, it doesn't have any links at all. And this is the really critical feature of mallard that differentiates it from everything else, is that it has this automatic linking structure. So, you create your navigational structure with these guide and topic links. It's kind of your up and down through the navigational structure rather than writing any sort of assembly or a map that gives you a tree. And these links, whenever you define them, they always work in both directions. It's always automatic. And there are other types of links like see also links that move kind of horizontally across the document. Those also work in both directions. So this, first of all, it really changes the way you assemble your documentation, the way you think about it. When you work with mallard, you tend to write topics for things that people want to do. You write those topics first and then you kind of assemble them from the bottom up rather than starting with this top-down hierarchy and filling things in. It also enables some really neat features that you don't find other places. So if you have an application that has a plugin architecture, your plugins can ship help pages that plug into your help just like the plugin plugs into your application. So you can see your plugin help right there alongside your application help. It's also nice if you have distributions or other downstreams that are redistributing your code and maybe they're adding some features. They can drop in help for those features without having to actually patch anything. They can just add pages to the doc set. So that's how the links work. I'm going to actually, I'm going to prove they work. So I'm going to go back to the shellexit.page. I'm going to make a new page. I'm going to do it just by copying this one, pasting it here. I need to have a unique ID. So I'll say shellexit again. Just make it easy to identify, log out, power off or switch users again. And then I'm going to save this. shellexit again.page. So I've created a new page. It happens to have those same links because I just copied and pasted. But I didn't modify index.page at all. And if I pull this up and yelp, I notice right here, there's the page that I just added. So all of the linking structure works automatically. Okay, so I mentioned the conditionals. I don't want to talk about those. So you notice these are in a different namespace. If you know XML syntax, that would be familiar. So mallet is extensible. We can create extensions to it. And the conditional processing is done as an extension, but it's a core extension and it's supported and everything. And what we're doing here, GNOME ships with a different mode called GNOME Classic. It's built on GNOME 3 technology, but it looks more like GNOME 2. Sometimes we have to write different docs for that, right? Because it looks different. So what we're saying here is, if the platform is GNOME Classic, well, then we want to do this. If it's not GNOME Classic, we've got this little negation here, then we want to do this other thing. And so the conditional processing can actually do negations. It can do ands and ors, full logical expressions. It's extremely powerful. So going with all the extensions, I'm going to get incredibly way more complicated in just a 20-minute talk because why not? I'm going to go over to the Getting Started page. Let me load that up again. So this page has some videos on it. These are thumbnails. You click on them. It brings up the video. It's kind of cool. We've got these subtitles running down here. And the subtitles are not inside the video. They're actually inside the page, which is kind of cool because it means we can translate them along with all the rest of our content that's in our documentation instead of them being locked up in a video, which is much more difficult to translate. And so what does that look like? There's too many pages here. So this gets a little more complicated in the markup, of course. We've got the conditional processing happening again. But this time there's this choose and when. There's a whole branching structure you can use if you want to get very advanced. The overlay thing that gave us the thumbnail and the pop-up thing, that's in an extension. So that's why it has the UI. But the video, that's in Core Mallard. So video is supported out of the box. There's a thumbnail going on. And then there's all this TTML. And you notice here the namespace on that is on w3.org. So we didn't make a subtitle format. The W3C made a standard subtitle format. And we're able to take an existing standard XML vocabulary, drop it directly into our XML. And in fact, we then mix Mallard into the TTML that's sitting in our Mallard. So you see we have our Mallard GUI element sitting inside of our TTML. So that's all cool. We can embed TTML. We can embed SVG. It's very neat. There's also here this ITS translate. ITS is the Internationalization Tag Set. It's also a W3C standard for providing information about how to translate a document. And so we translate all of our documentation using a tool called ITS tool. It allows you to do XML to PO and back again. And everything it knows about a particular XML vocabulary, it knows from this W3C standard format there's rules that define how things work. And so we're able to work with that. And ITS tool, by the way, if you're doing XML translations, you should be using it. It's not just a Mallard tool. It'll do DocBook or DDA or XHTML or TTML or SVG or any other XML that you can write ITS rules for. All right. So that's a whole bunch of XML. I've shown you the linking structure. I've shown you how we can actually embed. I've gone straight up to the most complicated example of embedding other vocabularies into it. So it's very powerful in its ability to do that. And a lot of that power comes from the fact that it's XML. One of the nice things about XML is that it provides you kind of a data model for how things are fit together instead of just being a syntax for telling you to format this one way or another, right? You get sort of a tree of your content and so you can do these kinds of things. The problem with XML is that it's XML and it's extremely verbose, right? Every time you do an element, you have to write the name of the element twice because you have to open it and close it. And so can we have a compact syntax, a lightweight syntax that gives us all the power of what we can do with Mallard and with XML. And the answer is yes. So I'm going to switch over to a fairly straightforward XML file. Here's a page. It has a title. It has a paragraph. It has steps. That's just a list of things that you should be doing. It has items in it. This item has a paragraph and also a note, right? So it's not just one paragraph in there. We have some examples. We have down here terms. That's like a DL in HTML or a variable list in DocBook. These items have multiple paragraphs and examples and then more paragraphs. So what does that look like? Here it is. Here's those steps. Here's that list inside of the steps, examples. Here's our terms list with multiple paragraphs and examples, all of that stuff. So DuckType is a syntax that is designed to do Mallard and do literally everything that Mallard can do with a compact syntax that will be familiar to you. I mean, it's not going to be exactly Markdown, of course, but if you've used Markdown or ASCII Doc or restructured text or textile or wikis or other sorts of compact syntax, it's going to have that kind of familiar structure. So here's that exact page converted into DuckType. Here's the title. That's a pretty familiar syntax. All that stuff in the info is with this at syntax. So we can do all of the metadata, which is really important because, remember, those linked metadata elements are just critical to how Mallard works. We come down here. Our paragraphs are delineated with a blank line, which is, I would say, the defining feature of a compact syntax, right? And then we're able to do these semantic block elements. Here's that steps. We do it with this kind of square bracket syntax and it introduces the block thing. We've got the items. And now here we have, this is important, we have that note sitting inside of the item. And a lot of compact syntaxes don't allow you to nest or nest very deeply. And so DuckType works completely by indentation. If you want to put some paragraphs inside of an item, you just keep them indented. If you want to put a note inside of there, you just indent it further.  You just keep working with the indentation. Here's a section, same kind of familiar syntax. And here, again, showing that indentation. Here's that item inside of the terms, multiple paragraphs, the example, so we can actually do all of that nesting. But I said that I wanted to do literally everything that Mallard can do. So remember the crazy example that had, you know, all the different extension stuffs, the UI and the ITS and the conditionals and the TTML. Can we do that? And the answer is yes. So this one gets more complicated. We have to declare those namespaces. There's our title. But then we're getting into, here's our conditional processing stuff. Here's the UI thing. There's our media. And there's all of our TTML. Now, is this as pleasant as something that is much more oriented towards, you know, just kind of pages and lists and your kind of core set of block elements? Obviously not. It doesn't look as good as the page we looked at before. But that's just kind of the nature of the material that we're putting in here. It's still more pleasant to read and to write than the XML. I still don't have to put the element name on it again to close everything off, all right? So it's more pleasant than XML at least. And the point is that we can actually do it. So we can take an existing XML vocabulary like TTML or like SVG, and we can still encode it in this compact syntax. And in fact, you can use duct type to write literally any XML syntax you want in a, or any XML vocabulary you want in a non-XML syntax. So I'm going to switch gears again. That was duct type. Now how do you build all of this stuff? I showed you Yelp and Yelp build. Yelp build is a, it's kind of a fire and forget tool, right? You take one document, one version, one translation of one document, you hand it to it, you get some HTML, you can throw that on your web server. But if you're publishing documentation, right, you're publishing a whole documentation site, you probably have multiple documents, multiple versions of documents, multiple translations of documents, you want to have search. So we kind of have all of those tools piecemeal, but it's a lot of work to glue it all together. So the latest tool in this kind of mallard ecosystem is called Pentail. And Pentail is a documentation site generator. It is a static site generator that is geared towards making documentation sites with kind of a mallard first approach to it, but it also supports DocBook and ASCII Doc right now, and it's easy to add other formats. It has a nice plug-in architecture. I'll also mention the Yelp build and Yelp and Yelp check, all of those tools still continue to support DocBook, and so if you're doing DocBook, you should check them out as well because we continue to support DocBook as a documentation format in GNOME. So Pentail, I'll pull up a site. This is Yelp.io, except it's not. It's localhost slash index.html. It's running on my local machine, but it's the same site that's on Yelp.io, except it's got this search box on it that could use a lot of styling work, but I just threw it in there for demo purposes today. And this is the site that kind of gives you some documentation about a lot of the tools that I've been talking about here. So how it's built, let's first look at... There's that front page we were just looking at in DuckType. There's a title, there's that screenshot, a couple of paragraphs, pretty straightforward. And we have a configuration file that tells Pentail how to build it. And this is a short configuration file, but it's actually doing quite a bit. So I tell it, here's some custom XSL that gives me the header and the footer and my CSS and all that stuff. I've got this git plugin that I'm loading in for some reason. And if I go down here, I can provide options on a per directory basis. So in the root directory, I'm saying, copy these extra files. You don't have to specify files that are referenced as images or videos inside your pages. Pentail picks those up automatically. These are kind of in the site white header stuff. So we have to tell Pentail to copy those in. And then these tools and XSL directories, what are these doing? Well, the documentation for Yelp tools, that's Yelp Check, Yelp Build, and a couple of other things, that's actually maintained in the Yelp tools Git repository alongside the code. And similarly, the documentation for the Yelp XSL style sheets is maintained in that repository. I actually document my XSLT shockingly. So we are actually able to tell Pentail that for these directories, I want you to go out to this other Git repository, look in this other directory. We could tell it a branch and get your content from there. And in fact, the stuff that's in the directory right here that we're looking at, the repository we're looking at right here, those are a couple of duct type files. The stuff that's in the Yelp XSL repository, those are actually in XML. So you can mix and match. You can have some of your stuff in duct type, some of it in XML, some of it in doc book or in ASCII doc if you want. Okay. And then one other thing we've got, we've got this stuff about a search provider. So I said the search provider is Elasticsearch. It's running on my machine. And oh my God, there's my username and password. And then down here under XSL, we've got this thing called a search domain. The problem you have with search in a lot of documentation sites, it has no concept of context. If you're on the GNOME developer website and you're on the GTK documentation, if you search for something while you're looking at the GTK API reference, you probably want results from the GTK API reference, not from Glib or Gstreamer or WebKit or something else. You're looking at GTK. Maybe you want to go elsewhere, but that's a good first place to restrict you to. Also, if you have multiple versions of your documentation published, you really don't want to search for button and see the reference for button in the 320 documentation and the 318 documentation and the 316 documentation and probably sort it in a way that doesn't even give you the current first. And this is a problem that you get if you just plug in a generic site search into a documentation site, you just don't get this concept of context. And so the way Pintail deals with this is it allows you to specify a search domain for particular directories. And so you can give it a simple search domain. You can put a directory in multiple search domains. You can put multiple directories into one. You can actually put individual pages into things. But in this case, we're doing something very simple. We're just saying, hey, that XSLT reference, it has its own search domain. Search domain is self. So it has a separate domain from everything else. And I'm going to build this. I'm going to say Pintail build. I'm going to make it verbose. I'm going to say no update. I already have clones of the get repositories it needs to get.  And I'm going to go ahead and output directly into the Apache directory. That's not a good deployment strategy, but this is not production.  So it's building HTML. These are actually the slash XSL. Those are from the other get repository we told it to go out to. Hey, it takes a little bit of time. So it's building more. Look, it actually found a media file. That's reference. That's that screenshot on the front page. It found that automatically. Here's those other two files we told it that it needed to put in there. And then this is putting the stuff into the index. It's taking all of these pages. It's parsing them. It's looking at what's in them and it's handing them off to Elasticsearch. It made some CSS and JavaScript. So I'll go into the XSLT. Look at the parameters. mel.f.custom if you want to override the conditional processing. That's the parameter you want. And I'm going to search for TTML because we talked about that. And I get some results. And again, I'm getting search results on a statically generated site. And these here, because I'm in the XSLT reference, here are parameters, style sheets, templates that support TTML that allow TTML to work in all of these tools. So if you're hacking on the style sheets or trying to extend them, this is probably what you want. But if you're not, right, my search results right now are restricted to the API reference for the Yelp XSLT style sheets. If you're just looking for information on how to use TTML, that's not what you want. So go ahead and we'll change the search domain and we'll go look at the entire site instead. Our search results change. And here the very first hit is a page that gives you some information on how to use TTML inside of Mallard with all of the Yelp tools. So, Mallard, YelpCheck, YelpBuild, Yelp, ITSTool, DuckType, Pintail, and I am, wow, I did better on time than I expected. That was everything I was going to show. If you want more information on any of this stuff, I have literally been throwing the URL at you for the last 20 minutes. And that's all I've got. I think we have time for one short question. If anyone's got one, we can take it outside. Is there any sort of validation for DuckType or does it validate if there is any sort of validation for DuckType or does it validate by... So the approach that I've taken with DuckType is mostly take advantage of all of the tooling that we have around XML. And so if you want to do validation in the way that an XML person would talk about it, which I think you and I are there, then you're going to push it out to the XML and you're going to validate against the relax-and-gee schemas. Now, there are, you know, syntax checking, there is that, but making sure that you have the right kind of document structure, I would go out to the XML. And the same is my approach for translations. We already have an extremely powerful XML translation tool. And so the translation strategy is put the stuff to XML first and then do your translations there. That could change in the future, but because there's such a wealth of XML tools, it's nice to build on those. Any other questions? We'll take them outside because we've got to set up for the last four. Thank you. And I have a bag of balls. Thank you.


Bitcoin has been showing some signs of stability in the past 24 hours after a period of really intense volatility. So how do you interpret this? And do you think this current stability is a positive sign for Bitcoin? Yes, generally speaking, I mean, we've been talking about this for a long time already. The more we see stability and price, the better it leads, the more it leads to adoption. People can use it as a store of value better if they're more certain that it's going to hold its value over the timeframe that they're looking to hold it. So yes, flat prices are good. What we'd like to see is some sort of a steady incline rather than extreme volatility. However, because of the limited supply of Bitcoin, volatility is inherent in the price. What's interesting to note that over the last week, we've seen volumes coming down. So this is the Misari website who tracks the real 10 or the top 10 brokerages showing less than a billion dollars traded on Bitcoin. The CME group is showing something similar. As is the Bitcoin blockchain itself, we can see that daily transaction is estimated to be below $1.4 billion per day, which is definitely a downtick from where we were trading a few weeks ago, as well the transactions per second, a little plunge over there now tracking about 3.65 transactions per second. So all in all, we're looking at reduced volumes, which is not necessarily a bad thing, but it does show that the excitement has come off. For those of you who are concerned about the security of the network, however, as soon as blockchain's website is updating, there we go, hash rate is at pretty much the all-time highs over there, definitely much higher than it was during the height of the crypto excitement in 2017. We can see December 2017 levels over here. We are way above that at the moment. So moving off of Bitcoin now on to altcoins, have you seen any interesting altcoin patterns happening? Overall, I mean, there are two altcoins that have been outperforming so far. This is, we're looking at some of the most, some of the best performing cryptos since the lows of mid-December. Top one, BNB coin by far 569% gains, Litecoin with 300% gains, beating Bitcoin, but 220% in seven months. It's not really all that bad, to say the least. For those who have been calling for an altcoin season, I don't think we're there yet. Yes, altcoins are outperforming a little bit today. They outperformed a little bit yesterday, but I think that in order to call something a season, it needs to be done over more time. The other thing that I've been seeing people say, which is absolutely not true lately, is that XRP is now negatively correlated with Bitcoin. It's completely false. This shows the correlations between Bitcoin and some of the top altcoins. So XRP is actually this green line over here, and we can see that it shares a 0.8 correlation with Bitcoin. The entire crypto market right now is very correlated. Now, some people have this feeling that, yes, as the market matures, we're going to see less correlation, where Bitcoin can go one direction, and an altcoin can go a different direction, and we have markets going all different ways. Rather, I would argue the opposite. As the market matures, it will be more correlated and not less. It's something that we can see in the stock market, traditional markets. Something that's within the same asset class is more likely to be moving in the same direction. For example, Apple stock in 10 cent, they're on different ends of the world and have different business models and different customers. They're completely different companies, yet their price tends to move in the same direction at the same time. That's because of the macroeconomic forces at play. So, yes, the crypto market is extremely correlated at the moment, much more so than it was in 2016 when the market was less mature. Interesting. Talking a little bit now, I guess, about the more traditional side, traditional financial side of cryptocurrencies, I'm going to mention Libra and their interaction with regulators last week on Capitol Hill when a lawyer named Margo Santori sent up the problem facing Libra just in one tweet, which I'm going to read here, where he said, at these hearings, Libra is in an impossible position. It must be centralized enough to prevent illicit activity by freezing funds, but decentralized enough not to discriminate against participants based on the use of the funds. So, do you agree with his analysis and sentiment here? It's an interesting call, and I think that that actually might apply to a lot of altcoins, actually. And what we see the stance from Facebook is that they want to be kind of less decentralized at the beginning and then as they go move into a more decentralized fashion. And this is what a lot of altcoins are doing well. We saw the same from the likes of IOTA, the same from the likes of NEO. NEO came out and said, we're a centralized platform to begin with, and we actually want to move into a more decentralized way. So, we need to look at decentralization not as a binary factor, but as a slider. There are things that are less decentralized and more decentralized, and that slider can move over time. So, the Etoro CEO was invited by Justin Sun to be joined during this week's upcoming Warren Buffett lunch, the Justin Sun bid an ungodly amount of money to win. $4.57 million. Yeah, for lunch. Yes, well, not including the three Michelin star restaurant bill that he's going to have to pick up afterward. Yeah, we spoke to him about that actually, and I hope we'll speak to him again after the lunch and see if he thinks the expense was worth it. But one of the participants of the lunch is going to be the CEO of Etoro as of this week, and he said that it's going to be an important step connecting the traditional financial world with the new financial world. So, do you think this event can bring anything to the crypto space, like any benefits apart from the big media hype around it right now? Yes, I think that this is a lot about the media hype, but it's, I think, more about Warren Buffett himself as kind of the leader of traditional finance, the Oracle of Omaha, just about every investor on the planet looks up to him, and that includes a lot of the people that are going to be at that lunch, right? So, it was a bit of a stab in the heart for them to hear Warren Buffett coming out so against Bitcoin right off the beginning, and as we've found, a lot of people don't necessarily know exactly what Bitcoin is about. So, what we need to think about this as a business lunch, but also as a sales pitch, and our friends from the crypto community really have their work cut out for them is going to be probably the toughest sale of their lives, but I think that the answer to your question is going to be contingent on if they are successful or not. I think that Warren Buffett, as a wise man, is going to come into this with an open mind. The question is how he's going to go out of it. Yoni Asya, I think, is a perfect candidate. Actually, I tweeted to Justin Sun a day after the announcement, which he actually retweeted. These were my top picks, as you can see, Yoni Asya bridging traditional finance and traditional markets with crypto. We still have another three-pixel. I hope that some of these people on the list make it in.


have a navigation that sticks to the top of the page as the person scrolls, but once the person starts scrolling, you'd like the navigation to change color, like you can see right here, or maybe you don't want to change the color, but you want to add a shadow or something like you can see right here. Well, sadly, we don't have like a stuck pseudo class or something like that that we can use in CSS. But luckily, we do have intersection observers in JavaScript, and they make this actually pretty easy to do. So to get started with this, the first thing that we need to have is a navigation. So I've set one up here, all in my primary header. And this is what I'm going to be focusing on. If you have a different setup, just follow whatever works for how you want to be doing things. For me, this header is going to just be going all the way across as we're going to see in a second. So that's why I want to be styling that. Now jumping over to the CSS, I have done some basic styling here. But the important part here is this position sticky that I've set up just so it keeps it on the top of the screen. So if we go and take a look at what I have right now, you can see that we have the navigation bar all the way across, which is in that primary header. And if I scroll down, it sticks to the top. And right now, it's really awkward because the color of it is matching the background color, which looks fine here. But then when it covers content, it looks really bad. And of course, if I didn't have a background on there at all, it would be even worse because then it's a little bit transparent. And it just makes things really hard. So we definitely want it to change when we scroll down. And you will notice here that I have put some custom properties. These custom properties will make life a lot easier when you're making changes. They're not necessary. But all I've done is I have my BG color here. The logo color is down on the logo class and the link color is on there. So if those are things that you'd want to be able to change, it's much easier because you only need one selector later on when you actually are making changes to it. But again, it's not necessary. It's how you want to work. What we're going to be focusing on here is the JavaScript to get all of this working. And as you can see, we're starting with nothing.  And we need to get two things. The first thing we need to get is the navigation itself. So we're just going to come in right away with a primary header here as a variable, just using my query selector and grabbing my primary header, nothing too fancy with that. And then there's different ways that we could actually do this. We could actually look for something like the H one here or like the next element in it and look for when that's passing by an intersection observer would work for that. The only problem is if you have different setups for different pages, it could be a little bit harder to have consistency there. And so if we do everything on the JavaScript side, since we're already having to use JavaScript for this anyway, it just makes it a little bit easier to be consistent. And I actually got this idea from a blog post by Ryan Mulligan, which I will link to in the description, but I really liked it for this type of thing. So what we're going to do is create a another variable here. And I'm going to call mine scroll watcher. That's pretty much its entire job is to watch for when we're scrolling. It could be like navigation intersect or whatever you want, just give it a name that to you make sense, because naming things is hard. And here instead of selecting something that's actually on the page, what we're going to do is do a document dot create element. And we're going to create a div. So the reason we're going to do this again, is just to make life a little bit easier, we don't want to have to come in and like remember to insert something on every page in the HTML or something like it's annoying doing that. So this will insert it into our document for us. Now just to make life a little bit easier for when we see it in the DOM to know what it's actually there for. And if ever you need to select it or do different things with it, what we're going to do is add an attribute. And so we can say is our scroll watcher, we can do a set attribute. And I'm going to do a data attribute of scroll watcher. And when you set an attribute, you do have to provide it what you're setting it to in this case, I don't need anything, I just want to have that data attribute on there. And the last thing we want to do is actually insert this actually into the page, we've created it within JavaScript, but we want to insert it somewhere. So we already have our primary header selected there. So we can take our primary header, and then we need to say before, and then we can say scroll watcher. So now if we jump back into our HTML, and we go and take a look in here in our dev tools, we should be able to see that we have our primary header, and then we have this data scroll watcher right here. So again, if you open up and you're seeing this, and you're wondering if you just had an empty div here, you'd be very, you would have no idea what this is. So it is handy having something on there that just gives us a little bit of context to what it's actually doing. And by having that on there, the idea is we can judge when that goes off screen or on screen, and then we can change the styles of other things because of that. So to be able to do this, we're going to create our intersection observer. And so I'm going to say const nav observer, and you can call it whatever you want here is going to be equal to a new intersection observer. And there we go. That's what we're going to be playing with. Now, when we use the intersection observer constructor, we need to pass it a callback function. And optionally, we have options that we can also use, which we'll take a look at in a little bit. But to start with, we'll just add in a callback function here, we could create a like a function and actually bring it in. But it's really small, we're going to be writing here. So I'm just going to include it right here. And so it's just like an anonymous function right there using an arrow function. And so let's start, we're going to keep things simple to begin with. We'll have to make a few little changes here, but we can say primary attribute class list, and we can toggle that. And I'm going to toggle a class called sticking because whether it's sticking or not sticking. So now this exists, but it's not actually being used yet. So we do need to call this. So we can say nav observer. And then we just tell it observe. And we have to tell it what we want it to be observing. So we want it to watch our or be paying attention to our scroll watcher. So with that in place, if I come and take a look here, we do our inspect, we have my primary header, and you can see it's already sticking. And this is an issue that we'll fix in a second. But it is there. And if I scroll down, it will turn off. And if I go up, it goes back on. So it's sort of backwards at the moment. But at least it's working. And we can see that it's doing something. So that is a start at least. So as a way to understand what's actually happening here, and I'm not deep diving the intersection observer here in depth, because I have covered it really in depth before, I'll link to that video in the description. But here what I'm going to write is entries. And this is, well, let's just put that there. And then here, we're going to do a console log console log of our entries to see what they actually are. And basically when our intersection observer is going, it can be watching a lot of different things, even though in this case, we're only going to ask it to watch one. But it returns an array of the different things and gives us information on those. So if we jump on over to our console, we can see here, we have the array coming in intersection observer entry. And if I take a look in there, we have only one of them. So there, and I can get information on it. So is visible is intersecting, and a lot of other things that are on there. And having this is intersecting as true or false. So if I scroll off, you can see that it should be here again, there we go, we can get that information. And now it is switched over to false. And then as we go up and down, it goes to true and false every time. So what we want to do is we want to know, is that one actually intersecting or not? So we don't need this here anymore. And this is another thing that I got from Ryan Mulligan. So I would encourage you to check out that blog post that I mentioned. But instead of doing like an if else statement, which you could definitely do here. But we can actually do this toggle in a bit of an interesting way. Because when we use this toggle method here, we can actually provide it a second parameter. And the second parameter here is when we saw that let's just bring this back on for a second, we do need to get like we have our intersection observer entry, we want to get this zero one here right here. So we, you know, we need the array itself. So there's other ways we can get it. But I'm just going to say that my entries and say zero. So we're just getting the information from that first one. And the main just do is intersecting. This is really cool. And basically that means the toggle is going to work actually, it's going to work exactly the same as what it's doing now. But if we want to switch how it's working, we can actually just say is not. So basically we're saying if it's not intersecting, right? And what this second parameter is doing is it's changes a little bit how the toggle works. So if this is false, if this is returning false, then the toggle can only remove a class. And if this is returning true, then the toggle can only add a class. And so is it not intersecting? As long as that is false, then we're only removing the class. And then if it is true, then we're only adding the class. So that's going to just sort of basically turn the behavior that we currently have on its head. So if we go back to our dev tools right here, we can see that now that primary header when the page loads is not getting that sticking class. And when we go like that, we scroll down, it's sticking. And now it's no longer sticking. So we've inverted the behavior that we just had before. So with that done, now what we can actually do is come back over to our CSS, and I can take my primary header and we're going to say sticking and we can change things. And this is where it's really nice to have custom properties that are locally scoped. And that's also why I put these underscores here, just to sort of indicate these are private properties, they're scoped here, that's just an optional way of naming things. But then I could change my background color here and let's just make that lighter. Let's just change my logo color because why not, we'll make it we'll add some we'll make it red. And then the link colors here can also let's make those also turn more to a red color just so we can see that things are going to change. So I can hit save on that, we can shrink this down. And when I scroll now, we can see that it switches over. So right away, I think that's like a nice little improvement or not really an improvement, it's still pretty ugly. But at least it's working. And then of course, you can come through and set like transition background color and 500 milliseconds or whatever you need. And for now, I'm just going to take these two off and we're just going to play with that background color. And so when I scroll down, you can see that it's working and then turning off. So and it transitions that as I scroll and then it goes back when we get to the top of the page. Now you might not want it to happen from the very top, you might want to wait until you've scrolled a little bit before that comes into effect. So we could do that either with CSS, selecting our scroll watcher. And that's why it's kind of nice to have this attribute on there, because then we could select it with our CSS. Or alternatively, we could pass the option to our intersection observer. And I'm going to do it that way. And again, these this option could be separated. And then you could bring it in. But I'm just going to put a comma here, and then another set of curly braces. And in there, I'm going to write root margin. And root margin, it's going to be a string. So you need your parentheses there. And you can either do it as percentages or pixels, but just make sure that you include pixels. I'm going to say 200 px, but of zero zero. And even though these are zero, they need to have a unit on them or it will not work and return an error. And this works just like margin. So I'm saying 200 pixels from the top, and then zero on the left, the right, and the bottom here. So now if I save that and I come, it's going to wait until I've scrolled 200 pixels down. And then you can see that the logo or the background changes. And then when I get back up, it changes back the other way. So it's always going to be in that threshold of 200 pixels, because that's what I've said it to here, rather than being at the top of the page. And of course, I'm coming through here, and I'm setting this just on like some basic styling on this, we could be doing this with all other things like we saw at the beginning with your different shadows and other stuff going on. Though I would recommend if you're going to do it with a shadow that's coming underneath, rather than doing or animating the shadow with the transition that comes in and out is actually to use a pseudo element instead, because it's better for performance. And if you'd like to know more about how to set that up and why it's better for performance, I have a video that covers that right here. And if you'd like to know more about intersection observers and deep diver into them, that video is also right here. And with that, I would like to thank my enablers of awesome and Rico, Michael, Simon, Tim and Johnny, as well as all my other patrons for their monthly support. And of course, until next time, don't forget to make your corner the internet just a little bit more awesome.


c extraction anływ i esfonodd yr dgymgabeth â arnyntg swyddoedd현. Thank you. We move to First Minister's Questions, question number one, Kessia Dugdale. To ask the First Minister what engagement she has planned for the rest of the day. First Minister. Engagement is to take forward the Government's programme for Scotland. Kessia Dugdale. President? Minister, Alex Salmond told the Courier on the 8 January that the SNP would fought y ddaeth y ddiemlo addysg hwnol o'ch fobod ffysgfaith oherwydd hynny y gallwn ei ddyg認 i gwneud fel y bernid ysgol. The First Minister is one more moment to hold on the front page. I believe that Scotland should be in charge of our resources. Labour is trying to divert attention from something rather yn eu bodain i chi i chi gweithio i gynnwys mwy oherwydd Peirburiedeedd cais fynd i gweithio enw i gael eich ei bodai i chi i ei gweld Caesia, Schuiddfa, Lleidberd, Lleidwyr, i chi'n darwch i'ch ystod gael y Llywodraeth Cymraenol, a chyfodwch allwch iawn, yn ddigonol 30 billion pound ddeschol. of cuts. That is what we face if Labour gets its way. I think it is far better for Scotland to be in charge of our own resources. Kezia Fyld. Presiding Officer, I will not take a lecture from my First Minister that cannot even spend the money that she has got. What is more, the Labour party stands for a 50p tax, a mansion tax, a bankers tax, all things that the Tories do not support and neither, by the way, Presiding Officer, Radio this morning, Fergus Ewing said that oil crisis is the most serious job situation Scotland has faced in living memory. Yesterday, the First Minister said that jobs were under threat. It begs the question why the First Minister took so long to find Aberdeen on a map. During her visit, the First Minister admitted that falling oil prices posted a threat to jobs in Scotland. Will the First Minister now also admit that falling oil prices poses a risk to revenue as well? Can I just first remind members across the chamber exactly what Labour stands for? Here it is, the Tories' Charter for Budget Responsibility, which the Tories themselves say demand 30 billion pounds of additional cuts. That is what Labour voted for with the Conservatives in the House of Commons this week. Diane Abbott, Labour MP, said that in doing so Labour had done a great disservice to hardworking people across the country. The only Labour MP in Scotland that had the gumption to go against Tory cuts was Katie Clark, Kezia Dugdale's opponent for deputy leader. I'm sure there's a few Labour members today who wonder if they picked the wrong person. The serious issue of the jobs concern in the North Sea is that yesterday I established a jobs task force to work to maintain employment levels in the North Sea, to give practical assistance to those who are faced with the prospect of redundancy and to give a guarantee to every apprentice working in the oil and gas sector. That's the kind of practical help that people want from the Scottish Government, not petty political point-scoring that we're getting from Labour. Thousands of jobs at risk in the North Sea and Nicola Sturgeon's priority is to have a pop at the Labour Party. The First Minister has spent two years telling us how important the Barnett formula is to Scotland. I agree, and the Bank of England Governor's comments from yesterday show how important being part of the UK is for Scotland. However, the reality of the First Minister's plan for full fiscal autonomy would be to trade the stability of Barnett for the instability of oil prices. Can the First Minister tell us what assessment has she made to the cost of public spending in Scotland from her plan to bin Barnett? The First Minister? Westminster parties really have no shame. If their argument is that Scotland's finances are not equipped to cope with a period of low oil prices, the simple fact is that that is a direct result of decades of Westminster mismanagement. Does Kezia Dugdale never ask herself why we never hear anyone question her ability to run its own affairs during periods of low oil prices? That is because they have accumulated a £500 billion oil fund. By contrast, Westminster parties have raked in £300 billion from the North Sea, and they have not saved a single penny. If the problem is Westminster mismanagement, it strikes me as incredible to suggest that the solution is even more Westminster mismanagement. On the last two or three years, let me tell you what this Government has been doing to help the sector in the North Sea. We in 2011 voted against the 12 per cent hike in the supplementary charge that has crippled exploration and investment in the North Sea. Labour did not vote against it. Labour has been silent as we have been calling for the tax change that the industry told me yesterday that they now desperately need. Why does the Scottish Labour Party not get behind the efforts of the Scottish Government and desist from the petty political point-scoring? Kezia Dugdale is a new First Minister, but it is the same old song. At my first out-in-it First Minister's question, I offered those benches support to the First Minister if she could tell us specifically what it was she was asking the UK Government to do. Since that point, Jim Murphy has written twice to Nicola Sturgeon, asking her to spell out what it is she wants from the UK Government, and twice she has failed to respond. We checked that again this morning. Can I say, Presiding Officer, that the First Minister, her own figures on how much money we would have to spend on public services has been out by billions in the last two years. The experts tell us that Barnett is worth £16 billion for Scotland. The First Minister continues to base her economic and social policy on an oil price that is double the reality. Is not it the case that, although Nicola Sturgeon thinks that it is smart for the SNP's election campaign, her plan to bin Barnett is downright bad for Scotland? The First Minister's order. The First Minister says that she does not know what it is that the Scottish Government is specifically asking the UK Government to do to help the North Sea industry. Let me repeat it for her. A general investment allowance that our modelling shows could protect 26,000 jobs every year. We want that allowance, as the industry does, to be basin-wide. Secondly, we want a reversal of the increase in the supplementary charge. Our modelling shows that that could protect up to 5,600 jobs every year. Thirdly, we want the UK Government to introduce an exploration tax credit. When Norway did that in 2005, its rates of exploration increased fourfold. Those are the practical measures that we are calling for. If Kezia Dugdale had not heard them, I do not think that she has been listening hard enough. When it comes to the fiscal future of Scotland, let me just repeat this point. Labour this week trooped through the lobbies in the House of Commons with its allies in the Conservative Party to impose £30 billion of additional cuts on Scotland. That is what will have an impact on Scotland's public services. That is what will have an impact on Scotland's economy. Scottish Labour MPs should be deeply, deeply ashamed of themselves. Ruth Davidson Thank you, Presiding Officer, to ask the First Minister when she will next meet the Secretary of State for Scotland. No immediate plans. Ruth Davidson About two years ago, the SNP Government started producing a series of oil and gas bulletins to predict the tax revenues from the North Sea. Those bulletins allowed SNP ministers to tell Scotland that, and I quote, there can be little doubt that Scotland is moving into a second oil boom. We all wish that that was true, but it's not, and anyone who questioned it was shouted down. That matters, because the First Minister has confirmed again today that, after the general election, it wants to get rid of the block grant and use oil to pay for Scotland schools and hospitals. You'd think, therefore, that they'd want figures to show how much revenue that would raise over the coming years. Can the First Minister confirm today that the Scottish Government has now decided to stop publishing those bulletins? No, we will publish an oil and gas bulletin in due course. In order to predict tax revenues from the North Sea, you have to first know what the tax rates that apply to the North Sea are going to be. That brings us right back to the point that we are making. The UK Government hasn't yet told us what the position is going to be on the supplementary charge or on an investment allowance or on exploration tax credits, so if Ruth Davidson wants to join with me and calling today on the Prime Minister, on the Chancellor of the Exchequer, on the energy secretary to stop prevaricating and introduce tax changes now that the industry is crying out for, then I will very much welcome her support. I'm very pleased to hear that the SNP Government is going to produce further oil and gas bulletins. It seems slightly at odds with a PQ lodged by my colleague Gavin Brown on 18 December, answered by her oil minister that didn't say the same that I'm happy to make public through spice. What I would like to know is that future oil and gas bulletins use exactly the same methodology as the ones previously suggesting a second oil boom for Scotland. I welcome not just the bulletin but all concrete steps to help the oil and gas industry, including the task force that the First Minister is setting up. I note, however, that it seems to be reporting to a body whose stated remit is to allow rapid response to oil industry needs but which has not met in seven months. When it comes to oil, this Government has inflated the figures for political ends, its response has been insufficient and frankly I would suggest anything but rapid. So yes, let's all work together on short term issues. But when there is an industry in crisis, jobs are being lost, when the Governor of the Bank of England says Scotland's spending is being protected from such a crash, it's only damaging to talk of ripping the industry out of its current UK framework, or doesn't the First Minister agree? First, on Ruth Davidson's commitment to support all practical measures, I welcome that. It's certainly a welcome change of attitude from a supporter of a Government that increased the supplementary charge from 20 per cent to 32 per cent, something that has had such a damaging impact on the industry. The first part of her question, the task force that I established yesterday will meet before the end of this month. It will report into the Scottish Energy Advisory Board, which will meet on the same day that the Scottish Cabinet will be in Aberdeen on 16 February under my chairmanship. This Government will do everything we can to help the industry during this period and will continue to look at all practical suggestions for what we can do. But when I met industry representatives yesterday, they were universal in their demand for action from the UK Government, for action now, not sometime in the future on tax, and for action to accelerate the pace of the implementation of the new oil and gas authority, the new regulator for the industry. Instead of coming here, as she does, because it's First Minister's question, and suggesting that those things lie within my gift, I think that Ruth Davidson would be far better advised to join me in calling on the UK Government to get its act together to implement those changes now, because if she does so, she won't just have my support for that, she'll have the support of the industry as well. The First Minister will be aware of the announcement of job losses at BP, headquartered at Dyson, my constituency, and that today's press and journal has suggested that Premier Oil, based at King's Wells in my constituency, may follow suit. Can I welcome the establishment of the energy jobs task force and ask the First Minister how the task force will interact with these companies and affected employees as many of my constituents are going to be affected by these announcements? The task force will implement a co-ordinated response to the current challenges with all partners in government, our agencies, the trade unions and industry working together across the sector to maintain jobs and to mitigate the potential impact of any losses. The task force will decide how best to address specific circumstances and will laze with the companies and individual employees concerned to identify the practical advice and assistance that might be provided. They will, in the process of doing that, of course raise awareness of existing initiatives and support that is available from organisations like Scottish Enterprise, Scottish Development International, Skills Development Scotland, Local Authorities and PACE. The task force will have a role in matching skills requirements to market demand, encouraging the industry's sub-sectors to collaborate to ensure core transferable skills are retained here in Scotland. Over the last few days, the people of Malawi have been affected by severe flooding in a number of areas in the south of the country and in Rwmfaen Caronga in the north. It is reported that at least 48 people have been killed and 69,000 have lost or been forced from their homes. The president has declared a state of natural disaster and has appealed for international help to provide shelter, food and basic sanitation in the affected areas. It is rightly said that it is the poorest and most vulnerable, her most affected by climate change and in Malawi this week we have the unfortunate proof of that fact. Can I ask the First Minister, therefore, what additional help her Government can provide at this time and put on record this Parliament's solidarity with our colleagues and friends in Malawi struggling to deal with the consequences of this disaster? Can I commend Patricia Ferguson for raising this important issue in Parliament today? I am sure that I speak on behalf of everybody in the chamber when I say our thoughts are very much with the people of Malawi. I have no hesitation in expressing, as Patricia Ferguson has asked me to do, the solidarity not just of this Parliament but I am sure of the entire Scottish nation with Malawi at this time. Patricia Ferguson will be very well aware of the very good work that the Scottish Government does in Malawi and we stand ready to help with the current situation in any way that we practically can. It may be helpful to Patricia Ferguson to meet Fiona Hyslop and Humza Yousaf, the minister responsible here, both to hear what the Scottish Government is and might be able to do but also to hear suggestions from Patricia Ferguson and others that might help to develop our own thinking in the matter. To ask the First Minister what issues will be discussed at the next meeting of the Cabinet. First Minister, matters of importance to the people of Scotland. If you are an oil worker in Aberdeen today about to lose their job, I think that you would be appalled by what we have witnessed over the last 20 minutes. The response from the First Minister was completely inadequate. We are all interested in the future of this sector and to claim otherwise, I think, lets her down. Working in partnership is essential. I was pleased to see the establishment of the Scottish Government's task force yesterday but was surprised that UK bodies such as Job Center Plus, Department of Energy and Department of Business were excluded. Can I invite her to open up the task force to include all those with an interest of the future of this important sector? Willie Rennie, I agree with him in many respects in terms of the tenor of his question. I believe that the most important thing that we have to deal with right now is the jobs situation, which is why yesterday I announced the jobs task force and the apprenticeship guarantee. The first question that I was asked in this session of First Minister's question was not about jobs, it was an attempt to score political points. I am glad that Willie Rennie has brought us back to the question of jobs. On the issue of the membership of the task force, nobody is being excluded. I want to make sure that we work with all interested parties and everybody who has a contribution to make. We are, as Willie Rennie has just heard, making very specific calls on the UK Government for the action that we believe it should take. I am also very open through the work that we are doing to the contribution of the UK Government and I would be happy to take forward Willie Rennie's question in that spirit. Willie Rennie? If she is changing the Government's policy to include Job Center Plus, the Department of Business and the Department of Energy, I would welcome that. That is not what she said on the television last night. She deliberately excluded those organisations from her role in the task force. She started off her premiership by claiming that she wanted consensus, but all she seems to be interested in now is exclusion. So, when so many people's jobs are at stake, will she change her mind? Will she clarify? Is Job Center Plus going to be included? Is the Department of Energy going to be included? Is the Department of Business going to be included? That is what this chamber wants to hear. First Minister? I do not know what Willie Rennie thinks he saw on the television last night. I said nothing at any point yesterday that excluded anybody from the work of the task force. So, in direct answer to Willie Rennie's question, yes, I would welcome the contribution of all of the agencies he has spoken about and we will seek to procure the engagement of those agencies. Willie Rennie might also be interested to know that one of the recent jobs task force that this Government established over the closure and job losses at Vion, the Scottish Government worked in that example seamlessly with both the DWP and Job Center Plus. So our record says that when it comes to protecting jobs, when it comes to standing up for crucial sectors of our economy, then this Government will work with anyone and therefore I'll be happy to have the contribution from all of these agencies and departments that Willie Rennie has spoken about. So instead of still trying to suggest there's some disagreement between us here, I suspect he should be welcoming the outbreak of consensus on that point. To ask the First Minister what steps the Scottish Government is taking to support NHS front-line services. The Scottish Government has protected and increased NHS Scotland's front-line budget and that has enabled boards to increase NHS staffing to a record level. This has been achieved against a backdrop of the current Westminster Government slashing of our fiscal resource budget by 10 per cent. This week, we announced a further uplift for NHS territorial boards of £65 million in the next financial year, which will ensure that all boards funding increases by at least 1 per cent above the rate of inflation. I thank the First Minister for that answer, but given that 60 per cent of the cuts to the Scottish revenue budget imposed by Westminster are still to come, does she agree that in order to give the NHS both its dedicated staff and the people who use it day in and day out the certainty which they need for the future, all parties in this chamber should commit to increase the NHS revenue budget in real terms for the remainder of this Parliament and for each and every year of the next Parliament? Yes, I agree very strongly with that. It is exactly why we have committed to increasing the NHS budget in real terms, not only for the remainder of this Parliament but for each and every year of the next Parliament too. To give that commitment to the resource budget of the NHS is extremely important for planning purposes. I think that it is incumbent on every party in this chamber to give an unequivocal commitment to match those plans so that our NHS does have that degree of certainty for the years ahead. Does the First Minister anticipate further pressure on NHS services over the next few weeks? The NHS always works under pressure. The NHS has worked under pressure since the day and hour. It was established in 1948, but under pressure it does a fantastic job. Those working in the front line do a fantastic job. The health secretary and I are in very close engagement and oversight of the current winter pressures that the NHS is coping with. We will continue to be so in the health secretary in the chamber yesterday spoke of our determination to make sure that we learn for the future to look at what we can do better with the NHS boards to prepare even better for winter in the future. Given that we are still in the grip of winter, it is important for all of us across the chamber to record our thanks to all of our staff across the NHS for the fantastic work that they are doing. To ask the First Minister for what reason the Scottish Government's budget underspends has increased over the past few years when its budgets have been reduced. I am glad to hear that at last Jackie Baillie at least acknowledged the fact that Scottish Government's budgets have been reduced. In fact, over the course of the current spending review, we face a real terms cut in our fiscal dell budget of about 10 per cent, with our capital budget being cut by over a quarter in real terms. As we have just heard, Labour has signed up to continue with those cuts by voting for the Tory budget plans this week. On the budget underspend, the claims that I have heard from the Labour Party go some way to explaining why Labour is no longer in charge of our public finances. In terms of the money that the Scottish Government actually has discretion over, the underspend amounts to £145 million, which is 0.5 per cent of our budget. As John Swinney told Parliament in June, every penny of that will be spent this year. By contrast, the last Labour Government, by the time that it left office in 2007, had accumulated underspend of £1.5 billion. It is the case that the budget underspend has risen to £444 million. That is double the amount in the previous financial year. At a time when teacher numbers are cut, college places have been slashed and police stations have been closed across the length of the country. Can the First Minister tell me that when John Swinney said, long gone are the days when hundreds of millions of pounds of government money are being spent? Was he just indulging in wishful thinking? The First Minister said that he would not be able to do anything to help communities across the country. Was he just indulging in wishful thinking? Zi'n cael ei Pegado dug소 eich bombo yn hollu cyail Sultan dogwyd? Rydw i ddeithas國家 ynghylchu'r eu Stock in... roeddades pinai oherwydd muol o dyfodicorn yr iawn achos flyience er welwch bod SNF yn gydaやfogu Shan Mo drawings. 35 cwestiwn ymuno yn cael Llych yn yn teimlo o ringos y Dmyg. Rhywun i'ch bade fel Diolch yn yr oedd daeth faktau. sport person doesn't understand. £444 million is the figure she cites. Doesn't Jackie Baillie know that 80 per cent of that figure reflects variances in annual managed expenditure programmes and other non-cash accounting budgets? Those are underspends of money that the Scottish Government has no discretion over. We can't decide that it's spent in any other way. That's a pretty basic fact about Scottish Government budgeting, that if Jackie Baillie wants to go any further in the current role that she's in, I suggest that she does some studying and gets herself familiar with. The underspend of the money that we control is, as I said, £145 million, half a per cent of our budget. Most people, I think, would describe that as prudent budgeting, and every single penny is currently being spent now protecting our public services. I'll take the prudent stewardship of our budget of John Swinney any day over the budgetary ignorance of Jackie Baillie. Is it true that last year the Scottish Government had an underspend of millions of pounds on the Youth Employment Scotland programme at a time when youth unemployment was over 15 per cent? Well, any underspend in money that the Scottish Government is responsible for carries forward into this year to be fully spent on the programmes of the type that Gavin Brown is talking about, not a single penny of that money lost to what the Scottish Government is seeking to support. Given the record of the Scottish Government in improving the position around youth employment and unemployment, there is still much work to do. I think that Gavin Brown should welcome the initiatives that we are taking and also welcome the prudent financial stewardship of John Swinney that has allowed us to do so much to help so many people across the country. To ask the First Minister what discussions the Scottish Government has had with the UK Government in light of the recent terrorist attacks in France. First Minister. Scottish Government officials have been in regular contact with UK Government counterparts and with Police Scotland regarding the recent terrorist attacks in France and what the implications might be for Scotland. I have also been in contact with the French Consul General and I have written to President Hollande expressing the support and solidarity that Scotland has with the French people. Liz Smith. I thank the First Minister for some reassurance. Clearly one of the most sensitive aspects of the current situation is the debate about a possible ban on extremist speakers at universities and other educational institutions. I wonder if the First Minister could confirm whether the Scottish Government is also engaged in these discussions with universities UK and that prior to the new anti-terrorist legislation expected at the end of February advice is being sought for Scottish educational institutions. First Minister. I thank Liz Smith for raising those concerns and for the way in which she has done it. As the counter-terrorism and security bill is currently drafted, it requires specified authorities such as further and higher education institutions to have, and I quote, due regard to the need to prevent people from becoming drawn into terrorism. There will be statutory guidance to those authorities in how they might exercise this duty. It is vitally important—this was a point that I raised at the last meeting of the joint ministerial committee—that this legislation is appropriate and proportionate to Scottish circumstances. Therefore, we are working closely with the UK Government to draft this guidance specifically for authorities in Scotland. Officials are linking closely with our stakeholders, including universities, in ensuring that the draft guidance is fit for purpose. I hope that that gives Liz Smith the reassurance that she was looking for. Obviously, this is a matter in which the Government will keep Parliament updated as appropriate. In terms of anticipating preventing terrorism, in terms of the Regulation and Investigative Powers Act 2000, application can be made for warrant by intelligence services to intercept communications. What co-operation is there between the UK and the Scottish Government in this regard, which, together with other legislation, does the First Minister consider that it is sufficient without even further legislation on those matters? As the member is no doubt aware, all applications to intercept communications on national security grounds are a matter for the relevant Secretary of State within the UK Government, so there would be no routine co-operation on those particular decisions. I am sure that the Justice Secretary would be happy to meet Christine Grahame to discuss how the decisions are taken and the various issues that are divided between devolved responsibility and reserved responsibility. If that is of interest to Christine Grahame, I am sure that Michael Matheson would be happy to accommodate him.


What's it, where's everyone, is everyone making videos or is this a story? It's supposed to be making videos, so I think he's wandering away from me. He's actually talking about big crowd of people just watching him and, uh, I didn't tell you.  Where's my movie? I don't know. I don't know. I don't know. Oh my God. Do you like studying at Compton Island or? Nope. Just handsome. Do you like studying at Compton Island or? Nope. Just handsome. Do you like studying at Compton Island or? Nope. You're getting a great movie. Awesome. Now I'm better. Whoa. Whoa. See, Brian, just slightly urinating. Yeah. Hey, do a little ghost with you. Oh, I feel like it's good. Oh, no, a special bed. Did you check out my shows? Did you check out my shows? Did you check out my shows?


What's up everybody welcome inside studio 34. This is the Fandall hurry up I am Frank Samful joined by number fire analyst Jim Sonnets to break down the Genesis open at Riviera We're gonna give you six names to pay attention to and use in DFS this weekend to high-price options to mid-tier options And tend to lower salaried options this week But we're starting up at the top gym with Justin Thomas who is the second highest price Salaried golfer this weekend. What do you like about Justin Thomas? Pretty much everything honestly Frank like it's really hard to dislike Justin Thomas And I think that what you get with Justin Thomas is you get the upside because he's among the best golfers in the world But it's also just that absurd level of consistency that I love with Justin Thomas He is now finished in the top 25 in 11 of his past 12 events He was 36 in the other one so 36 they're better in 12 straight events He leads a PGA tour in stroke skiing approach for the current season So that's the stat you can focus on most because there are a lot of approach shots all the time So if you're looking for one stat to focus on it really is stroke skiing approach and Thomas leads the tour in that stat He is long off the tee He can scramble a bit which something that I also want here because Riviera CC is also a longer course So I love the stats for Justin Thomas And I think that if you look at him at Riviera his best finishes 9th This is his fifth overall stop here the overall track record is not great But that doesn't bother me that much because of how good he has been recently and the fact that honestly that may put a little bit Of a lid on his ownership for this weekend. So I love Justin Thomas. Yes It means you're probably not also using Dustin Johnson But I think with everything Justin Thomas does with how good he is with how good he is from a stats perspective I am willing to take that as a negative and still take Justin Thomas in my lineups Justin Thomas 11 top 25 finishes in his past 12 events. Who needs Dustin Johnson? Justin Thomas here at $11,900 Moving over to Rory McElroy. Actually a name that I know 11,000 $1,500 excuse me over on Fanduil this weekend. What do you like about Rory McElroy? Yeah, I think when I look at this field overall Frank I kind of really like the top five golfers on Fanduil and that's you know That's not some bold statement by any means, but I think when I'm building most of my lineups I'm probably going to want to have two of those top five golfers in most of my lineups And the cheapest golfer in that tier is Rory McElroy as you mentioned at $11,500 I can totally live with that coming off fifth place finish at the farmers insurance open Which was pretty recently on the PGA Tour so we know the current form is good He now that was a second straight top five finish, which means for me for McElroy He has six top tens in his past 11 events So in the same vein as Thomas where he has a blend of upside and consistency He leads this field in driving distance over the past 50 rounds that is according to fantasy national calm He's also 24th an approach 13th and scrambling so good in every single stat And I really do want to hone in on guys who are long off the tee for this weekend McElroy very much counts You know kind of like Justin Thomas not the most dazzling track record at Riviera because he's been here twice He's finished 20th both times that won't blow you away, but again, it's not gonna bother me too much I always care more about current form than course history when it comes to golf and McElroy's current form is on par with anybody else in the world So I think McElroy and Thomas my two favorite guys in that top five tier But overall in general I do think that I want to get just two of those guys in there Whether it be John Rom, Bryson DeChambeau or Dustin Johnson Just get two of those guys and then build from there for most of my lineups Rory McElroy a name that everybody knows $11,500 over on Fandle this weekend again the Genesis open at Riviera 20th in driving distance make sure you get him in your lineups moving down to the mid-tier we have Adam Scott $9,600 Jim what do you like about Adam Scott? Yeah, I think we talked about Adam Scott on the program last week And it didn't necessarily work out so hot because he misses secondary cut at Pebble Beach and that you know It's not a great finish. He also missed the cut three events ago So a bit of a you know checkered current form here for Adam Scott But the one event between there he did finish second So the upside is still there the stats are there and what you also like about Scott is that he knows this course Superware every era he was back here He started going here back in 2005 and he actually won that event finished second the year after that And that's a long time ago and I do tend to write off especially super long course history But even recently Scott's been good at Riviera. He was second here in 2016 He was 11th in 2017 made the cut here last year So good course history overall, but also good course history in recent years for Adam Scott The stats also pretty good for this guy He is 28th in the field in distance and seventh in approach over the past 50 rounds per fantasy Nationals So he's got stats has from upside in his current form has course history here, too So I think that Adam Scott at $9,600 if you do decide to go a little bit top-heavy with guys like Dustin Johnson Neroi McElroy and then go down for your third golfer I think that Adam Scott actually does fit in with that build pretty well pretty well because he is $9,600 but his win odds are pretty short over on the FanDuel sportsbook that bodes well for him at this salary So Adam Scott a bit disappointing last week, but I'm going to go back to the well here again this weekend Little disappointing last week from Adam Scott, but you need to have short-term memory. You don't don't worry about last week Let's move forward. Look, he's won or finished second in this event three different times So Adam Scott $9,600 make sure you get him in your line-ups Moving on we have Jason Kochrack who is $9,200 over on FanDuel this weekend another one of these names that we're mentioning in the mid-tier again We already have two from the high the high salary options We also have Adam Scott and now Jason Kochrack at $9,200 Jim. What do you like about Jason Kochrack? Yeah, I mentioned with Adam Scott how he had this appeal where he has some course history got some current form and got good stats But I think that Jason Kochrack Actually is almost just as good in all three of those areas and actually comes into a lower salary He is $9,200 on FanDuel for this weekend and honestly when you look at his profile I think that's a bargain with all the stuff that he brings He's in the top 30 in both driving distance and stroke skiing approach over the past 50 rounds per fantasy national And he has used that to log three straight top 20 finishes on the PGA tour So really good finishes recently for Jason Kochrack He did withdraw prior to last weekend's event, but I don't believe that it's injury related So it seems like Kochrack should be good to go for this weekend and good and healthy for Riviera And it's a place he's done well in the past. He was second year back in 2016 He has finished 22nd and 20th sense then so again really good finishes for Kochrack I think that if you're building this kind of top-heavy roster with those studs I think that if you go with Kochrack or go with Adam Scott You're going to give yourself some flexibility to not get super creative with your value play So I love that from Kochrack. I think that he is a super valuable piece to this weekend With all that he brings with the course knowledge and with that current form So Kochrack at $9,200 maybe my favorite play for this entire week once you consider how low his salary is Again Jason Kochrack $9,200 this weekend on FanDuel reminder He finished second in this event back in 2016 We'll look for him to bounce back and do something similar to that at the Genesis Open this weekend Moving lower down in salary. We have Sunggung who's just $8,900 over on FanDuel Jim. What do you like about him? Yeah Sunggung doesn't necessarily have the stats that you want from a golfer And I think that that could be a concern But when you look at the recent stats for Sunggung Those are a bit more rosy and even with the kind of mediocre stats the guy's still been getting really good finishes So I like a lot of what Sunggung does especially when he comes that a salary is low at $8,900 He has been to this event four times so far and he's made the cut all four times He was eighth back in 2016 22nd in 2017 16th in 2018 So three straight really good finishes at this event for Sunggung and His recent finishes on the pga tour this year have been good He's been to four events since January 1st and he has been in the top 20 for three of those four events Now the other event was a missed cut So I think there is a little bit of risk with Sunggung And I think that's kind of where the stats come into play where you could see You know a weekend where things just aren't quite working and that is a concern for him But he has still had good finishes at this event. He has still had some good finishes recently So as long as you're okay taking some of that risk on with Sunggung at $8,900 I think he is a really solid play and based on all the data we have around this guy and the way he has finished And just kind of the inherent volatility around golf I think you have to accept some riskiness But with that riskiness does come upside with does come some upside with Sunggung So personally at 89 I'm willing to take on that risk and I think that he is a really solid play for this weekend Some risk here with Sunggung but reminder 20 second or better each of the past three years at this event Who cares about risk? We're getting them in the lineup Finally we have Harold Varner the third Hv3. I believe you referred to him before we started recording Look, I know a bunch of football players are kind of including the the numerical Whatever on the end of their names, but uh Hv3. Is that a real thing? Absolutely I mean Harold Varner the third he's got to be a thing Frank So I think you got to you got to pay attention to this guy because he's been really good for a while now But for some reason his fandom salary has stayed super low And I'm not going to complain on it about it honestly because if I can get a guy for $8,700 Who does all the things that Harold Varner the third does I'm going to take it very happily He is a Basically a statistical deity. He is 12th in distance 30 second in approach and 10th in scrambling over the past 50 rounds Per fantasy national so in the big three stats I'm looking at for this week Varner measures up well in every single one and that is allowed him to finish in the top 25 In six of his past seven events the other one was a missed cut But again, that's kind of how things go in golf, but six top 25 finishes in his past seven He has been to this course four separate times So again, not great finishes, but he does know the course and when you look at Varner's finishes recently They kind of tower over what he has done in the past So I think we've seen a legitimate improvement with this guy and I want to keep buying in aggressively With his salary still down to $8,700. So to me, I think that Harold Varner the third I mentioned Jason Co crack is my favorite golfer for this weekend when you consider his salary Varner would be the other guy in that discussion because $8,700 Way too cheap for a guy who is as well rounded statistically as Harold Varner the third is so I think those two guys really kind of know brainers me and they will definitely be part of my core for this weekend I believe the term that jim used to describe hv3 was statistical deity You're getting that guy at $8,700 Sign me up That is jim saunas of number fire. I'm frank stampo. We come back We'll have davis maddock from dailyroto.com here to give us some of his best bets of the weekend Stay tuned. We'll be right back. Welcome back to the fan. Do a hurry up I am frank stampo joined by dailyroto.com Davis maddock here to break down the genesis open at riviera best bets for this weekend Davis, let's start off with tyrell hatton. He's 70 to 1. What do you like about him? Well, 70 to 1 is probably just a little bit too deep for him He's pretty high in the official world golf rankings And a lot of times what happens with euro guys when they come over to the pga tour is that Their odds just kind of get sliced in half because they're not a super popular name Guys like hatton guys like tommy fleetwood don't have a ton of course history So, you know course history gets priced into outright betting odds quite a bit and without it You can get some longer numbers on those guys Hatton is particularly good with his long irons and here at riviera long irons is kind of the name of the game We're looking a lot at uh strokes gained approach strokes gained around the green and that suits hatton's game pretty well And at 70 to 1 as an outright That's uh, that's just a plus ev price to take him to win the tournament You're getting tyrell hatton at 70 to 1 right now He's ranked 30th in the world and he's made three of his four last cuts again that is tyrell hatton at 70 to 1 Next up we have tony finow at 28 to 1 davis Came in second last year at this tournament. What do you like about tony finow? Well, I recommended him last week when I came on uh on the show And he didn't do near as well as I expected but basically all the same things that he had going for him last week He has going for him this week as well He hits it further off of the tee than pretty much everyone that he has priced around He does very well with his long irons and at 28 to 1 Even in a pretty strong field if you if you tend to buy the argument that Putting is not super predictive and in general guys who hit the ball Further off the tee guys who were able to keep it, you know in the center of the fairway Those guys are going to have better odds to win golf tournaments fin outfits that and I do like the the second last year You know He's had a chance to see the course Had a chance to play it and also the weather again like last week is going to be bad Ed revier the course is going to be pretty wet So I think that's even more of an advantage for the longer hitters that are not having to rely on uh On the role for their ball to get further down the fairway Again, that is tony finow at 28 to 1 reminder. He came in second last year in this tournament That's why we're looking at tony finow for this weekend Next up we have louis oostason. Yes, that's right louis oostason at 50 to 1 Davis, what do you like about louis? Well, you you really have not been involved in uh in pga Bedding or pga fantasy if you have not won or lost money Based on uh, if louis always says and brought his special sleep bed to uh to come to a golf tournament in the united states of america He has a notoriously fickle back injury that causes him to withdraw or plan poorly at certain events But really anytime that louis is motivated anytime that he doesn't withdraw And anytime that he's in good health He really is one of probably the best 20 golfers or so in the world just looking at strokes gained metrics So take getting him at 50 to 1 at this course Even though it is a relatively strong field pretty much louis for me Is an auto bet when he's at a price this deep and he seems to be in good form and in good health You're getting louis at some pretty good odds here at 50 to 1 again He has the upside just has to battle through these injuries that he's had in the past The three top tens in his last three finishes. That's why we're looking at louis oostason this weekend Next up we have john rom 16 to 1 six straight top tens in his last six finishes Davis, what do you like about john rom? John rom is one of the best three or four golfers in the world So really getting him at 16 to 1 the only reason you're getting him there is that this is the first time He's played this course and in general, you know over the last 10 15 years of tournaments at this event You see guys win it who have played the course a fair number of times But I but I can't look at john rom at 16 to 1 you know when there's guys like dj who are 9 to 1 Uh, I believe he's shorter than justin thomas as well. So John rom, you know one of the best three or four golfers in the world at 16 to 1 If you are starting your card closer to the top I think rom probably has to make it like I would I would rather bet rom at 16 to 1 than dustin johnson at 9 to 1 There you hear it from davis He likes the odds here on john rom at 16 to 1 compared to other golfers in this range Make sure you load up on some john rom this weekend Next up is a name in harold barnard hv3 I've heard him refer to as our own jim sonnis from number fire refer to him We were doing the dfs preview So now we're seeing him on both the dfs side of things and from the gambling side of things I think I like this guy. I think I like this guy davis You you should like him. He's awesome like watching him golf is a really fun experience and Really the the thing that barnard does well is the thing that we love golfers to do well Which is he absolutely strokes it off of the tee. He gains a bunch of strokes off of the tee He hits the ball very well out of the fairway. He's good with his long irons He's not very good around the greens and he's not a very good putter and that's why in a strong field His numbers are going to be super long Like you're going to be able to get him all year long at events like this at 101 125 to 1 And if you like the profile of a guy like rom of a guy like justin thomas Harold varner is basically the dollar store version of those guys He hits the ball really far is not super crafty with his wedges and you know really to win a tournament He just has to run really hot putting There you heard it from davis hv3 has a sweet stroke. So we like that at 125 to 1 this weekend Last but not least we have luke list at 100 to 1 davis. What do you like about luke list? luke list same thing same thing as herald varner hits the ball very far off the tee Is really good with his long irons luke list actually is third on tour this year and strokes gained off of the tee He just happens to be about 135th strokes gained putting and I actually think when luke list eventually does win A pga tour event. It's not going to be like the barracuda or the mayacoba. I think it'll be A genesis open or the the honda classic or you know a big event where a lot of people are going to be watching Where it's a super strong field just because his game is so tailored to these courses he can really overpower shorter courses in a way that a lot of other guys can't and This tournament actually has the easiest par five on the entire tour I think it's number two hole number two gets the most eagles per hole of any or Any eagles per round of any hole on the course and I mean luke list getting three eagles over the course of a weekend would not be the most unheard of thing And if he does that his name should be up towards the top of the leaderboard on sunday luke list another one here with a sweet stroke You're getting him at 100 to 1 this weekend at the genesis open at riviera I want to thank davis medic of dailyroto.com for hopping on here Again, this is the fan duel hurry up if you missed anything from today Make sure to check out fan duel com slash a dual click on videos You can also head on over to the fantasy sports network youtube channel. Thanks again everybody and good luck