Hello, everyone. Thank you so much for coming. My name is Bobby from the MetaMask team. I've got Jenny and Bruno backstage with me, and we are very excited to be here today. In the next 25 minutes, we're going to tell you a little bit about what we've been working on for the past year, some of the principles that guide our development, and what you can expect to see over the course of the next year. No dinosaurs, nothing fancy, just a couple of projects that we're very excited about. So let's start with some numbers. Since our teammates last took the stage in Cancun, we've shipped 46 versions of MetaMask, made up of almost 900 pull requests from over 100 individual contributors. Now, that last number is really, really exciting for us. We are thankful every day for the support, enthusiasm, feedback, and patience of this community. So seriously, thank you. Yeah, you can applaud for yourselves. That's cool with me. Cool. The team has almost doubled in size. We've gone from 10 full-time foxes to 18. We've made room for a support team to handle this huge influx of user requests, and we now contain a small research development team called MetaMask Labs, which Jenny will talk about in just a moment. We span 10 time zones, and I'm sure some of you are familiar with the pros and the cons of that. We think it's a very important ingredient, one important ingredient in building a product that works for a variety of people. So, let's talk about what we've built. MetaMask aims to make the decentralized web usable, and a huge part of that is making sure developers have tools to build better and better applications. But we also have a big responsibility for the end user. And for the end user, we're thinking a lot about user experience, security, and education. Now, these three are not really separable, right? You have to be safe in order to have a basic, good experience. Oftentimes, not always, but often, the more you know, the safer you are. And we think a good UX should help educate the user so their expectations are met and their experience is smooth. Now, there are certainly projects out there that we're super keen on that will totally shift the paradigm in some of these areas. If users didn't have to be educated about gas, we would save a lot of time and energy and design iterations. But we also recognize the need to deliver incremental progress today. So many of our user-facing features from the past year can be placed somewhere around this continuum. There's some stuff that's not up here. Our progress towards 100% test coverage, our migration to TypeScript, but a lot of our user-facing features, again, help promote something either directly or indirectly on this continuum.  So as many of you might know, MetaMask now supports Trezor and Ledger hardware wallets. You can applaud for Trezor and Ledger for sure. Thank you. You can plug the device right into your computer and sign messages and transactions without your keys ever leaving the device. This basically means that any DAP that supports MetaMask gets hardware support right out of the box. We have Bruno to thank for this wonderful change. You can thank him in a second when it comes on. The next project I'd like to highlight is EIP1102. This is super, super exciting. The way most Web3 browsers work today is by exposing the Ethereum provider to every site you visit, which means your addresses are exposed to every site you visit, no matter whether that site is even trying to access the Web3 object or not. This is pretty smooth and this makes things simple for developers, obviously, but it is a pretty terrible privacy experience for the end user. It's very easy to imagine how this could be used to fingerprint or track or fish unsuspecting users across the Web. So EIP1102 defines a new standard where rather than expecting these addresses to be exposed by default, the DAP has to request access to them using a new provider method, ethereum.enable. When the user consents, probably on a UI similar to the one we see up here, the promise will resolve with the user's address. Clients like MetaMask will also perhaps cache or allow the user to let the DAP sort of continue having access to their address, in which case the promise will resolve immediately. So we think this is the best balance between developer experience, onboarding UX, and privacy protections for our users. Huge shout out to the teams at Status and Mist for their early support with this proposal. Shout out to everyone in the community who gave us really valuable feedback and helped us create the version that it is today. And massive, massive props to Paul Bouchon. You might know him as Bitpushier for his tireless work, making sure people have what they need to implement this change, answering questions, staying receptive to feedback. This will be rolling out as an opt-in feature in MetaMask for users starting on Monday. So if you haven't taken note of this, take note, there's a really succinct guide on our medium account, so check it out. Or come chat with us after the show. Next up, this one's simple. So MetaMask supports the recently merged sign type data spec. We're very excited to finally settle on one signing method that we think is human readable and cheap to verify on-chain. Been back and forth on a lot of different ways to do this for a long time. And this is the signing method that we will encourage all developers to use when they need their users to sign a piece of data. It's also the UI that we will continue to test and iterate so that we can kind of hone in on the best way to present this interaction to folks out there. And then last, I wanna mention EIP 747, which defines a watch asset method. We know that many of our users care a lot about tokens and not many of our users really understand that their tokens are tracked, not necessarily inherently to their address, but on a contract. So rather than relying on a centralized token list so that we can auto-detect tokens, and rather than forcing users to manually add these tokens themselves, EIP 747 proposes a watch asset method that lets ADAP suggest an asset to the user's wallet to track. So for example, I could go to an exchange, purchase a token, and then that exchange could suggest, or it could call watch asset and suggest to MetaMask that I attract this token. I'd probably see a modal like this. I'd click add token and it would be permanently added to my MetaMask. We're super excited about this one because theoretically we could use it for other asset types going forward, like subscriptions, or even use it to suggest, say, watching a contract account that the user might not watch yet. So there's a lot of potential for this. Huge shout out to Esteban Migno, a new member of our team, and Dan Finley for their work on this proposal. So yeah, a little bit of a blitz through some of those projects, but I hope this was informative and worth your time, and I would like to now turn it over to Jenny to give you a sneak peek of some of the projects you can expect to see in the coming year. Thank you. Thank you. Thanks, Bobby. Hi, I'm Jenny. I'm a developer at MetaMask, and I'm currently here to share with you some of the projects we're working on, including opt-in metrics, contract account support, light client developments, multi-network integration, and Layer 2 scaling research plans. First up is MetaMetrics. MetaMask is getting smarter. We've gotten feedback from developers about the pain points in MetaMask's onboarding so we know we can do better, but with over a million installs, how do we cater to users who aren't opening GitHub issues? How do we run an operation without overwhelming our support team? And how do we understand our users better while being committed to privacy? We're building reporting in the UI for user acquisition, activity, and retention, which will be opt-in and off by default. We will not collect any personally identifiable information, addresses, keys, transactions, or balances. We think this work will help us build better tools for our users, which is what we love to do. Next up is contract accounts. I'm currently working on providing support for contracts as accounts in MetaMask, starting with the NOSIS safe. You're probably familiar with the original NOSIS multi-sig. The safe is an evolution of that project with cheaper set-up transaction costs and extensible modules. You can learn more about the safe at other talks from the NOSIS team today and Friday during DevCon. I'm really excited to be building alongside the next generation of tools, which will allow for features such as social recovery, key allowances, state channels, multi-factor auth, and batch transactions. This is really only the beginning, and eventually we're planning on supporting generic identity accounts with similar to the pattern described in EIP 747 that Bobby mentioned. Moosticala. MetaMask is decentralizing. MetaMask Labs is working on a project in our R&D department called MetaMask Labs, and the project is called Moosticala, which is a native browser P2P light client to decrease our reliance on centralized infrastructure. Frankie and Dima from MetaMask Labs will be presenting Moosticala on November 2nd at 2.30 on the Prism side stage, and we encourage you to attend this talk if you're curious to learn more about their amazing progress and what it takes to build a browser first light client. I've watched our talk a few times, I promise it's really good. Next up is multi-network integration. MetaMask is spreading. Thanks to community input, MetaMask is moving to support multiple ETH-compatible blockchains, and this is only the beginning. Our end goal is for allow MetaMask to allow users to simultaneously connect to their own sets of networks and to allow developers to suggest new networks to the user. And next up we have our layer two scaling research plans. MetaMask is scaling. Dr. Vincent Eli has recently begun work on a research project in MetaMask to assess how to best support and integrate various layer two apps and protocols. The aim is to be agnostic to implementation while providing a complete and secure integration into the MetaMask user experience. The project is exploring two main paths. First, full integration and operation of payment channels for instant ERC-20 payments. And second, a more general specification that will allow devs to create layer two apps that can be integrated into MetaMask. So thank you for having me and now here's Bruno with one more thing. Hello everyone, my name is Bruno. I'm also a developer at MetaMask and I'm very excited to be here not just because DevCon, which is awesome, but also because I have very exciting news for you. First of all, let me give you guys some context. As you know, MetaMask is one of the oldest and most popular Ethereum wallets. I was launched in 2015, created by Aaron Davies, also known as Kumavis, along with Dan Finlay. And we passed one million users. Since then, we learned a lot about what it takes to create a digital wallet in this fast-changing space where it's constantly evolving. But there is one thing that didn't change and we are still a browser extension. So that means that we are somehow restricted by the browser APIs. So we start thinking about our future and the first question was like, do we want to be just a wallet? So we decided that's not the right thing. I mean, we want to be a bridge to the decentralized way. So this is why we decided to create our mobile apps. Thank you. So let's talk about the challenges. First of all, we are aware that we're late to the game. There are all our mobile wallets in this space that they're somehow similar. They're pretty cool, but similar. We also know that mobile, sorry, onboarding is still a problem. There is a lot of friction there, especially for new users. We know that because we want to help the space grow, we need to let new users explore the ecosystem of the apps. But at the same time, we have like a big user. So we need to make sure that there is an easy onboarding process for you guys. So when I said that there is a lot of problem with UX friction, just imagine your uncle Harold reading any of this. Here's your 12 words, mnemonic, social problem, amazing, cannonball, supreme, enemy, paper, amateur, picture, assist, wink. You need to back up your seed phrase. Make sure you don't lose your private key. Here is your private public key. Like what? This is bad and we gotta fix it. So this is where our UX research team came to rescue. Our lead product designer, Christian Jiria, along with Melissa Short, they have been working really hard over the past few months, talking to users, gathering feedback, trying different prototypes to see how they feel. And we finally end up finding a flow that works pretty good.  So we are very happy about that. And let me show you how it looks. So if you see on the first screen, that's like our home screen for the app, and we have two options. The first one is to start exploring now, which is what a new user should use, and then import a wallet for existing users. There is only one thing that needs to happen for new users. They need to tap that, and then they should be able to access the entire, all the app, the apps that are available there. And then after that, they should be able to start using a app, and that's it. So we're gonna handle all the creation of the Ethereum account and all the heavy stuff in the background. And just let's think about CryptoKitties, for example. For CryptoKitties, you just like go to the app, and then you can sign up by signing a message. You don't need Ether for that. Once you're in, you are able to start browsing the different collectibles, right? And you might even find one that you like. So now you have a motivation to actually pass to the next stage, which is add funds to your wallet. So at that time, we're gonna ask you to create a password and the security of your account, it will increase as long as your account starts holding more value. But it doesn't make sense to make you deal with all these stuff before you are able to see what's going on inside the DAB ecosystem. So we really hope that this new flow is gonna help bring more people to space and not try to scare them with all the stuff that I mentioned earlier. But what about existing users? You guys might be wondering what the experience is gonna look for you. I show you some mockups about what we did for new users, but I'm gonna show you what we built for you. So as you can see on the right, you have the metamask extension. On the left, you have the new mobile app. I'm gonna show you what happens when you tap on import wallet. So you got the instructions there, it's open the extension, go to settings, click on sync with mobile, and then you scan the QR code. Enter your password first, generate a QR code, and now you scan the QR code. Right now, the syncing is happening. The app is parsing all your account information and after a few seconds, boom, you're all set. That's it. If you look now, you have your same account from the extension and on the app, you will also see what happens to the transactions. We are importing your entire transaction history through your phone, and also, not just the transactions, but also all the information related to the transaction like hash, gas usage, and all that stuff. So you have your account, your balance, your transactions, but what happens when you have more than one account? So now you will see on the Moel app that we are also exporting all your accounts. If you compare the accounts on the Moel app with the accounts on the extension, they are the same, they have the same names. So basically, we're porting your entire desktop experience into your phone in about 15 seconds. Thank you. So, just to recap, this is the kind of like flow that we're going for. New users, they go straight to the apps. Existing users, you can import your wallet using your seed phrase, or you can use the Moel sync feature that I just showed you. One important thing, if you look at how the diagram looks like, you have the wallet as a side thing, right? It's an important module of the app, it's necessary, but we want to make the core of the app the browser experience. So that's something to think about it when you compare it with the existing options that you have. One last thing I want to show you. Do you guys remember I said we want to be, we just don't want to be a wallet, but we want to be a bridge to the decentralized web? So this feature that I'm going to show you, it's all about that. In my opinion, it's a very important step towards a more decentralized web. So let's check it out. If you see, that's a website, I'm loading on the MetaMas Moel app, but actually, that's not the normal website. If you look at the URL, you will see that it ends on dot ETH, okay? That's because it's an ENS name from the Ethereum name service, which is really cool. But what happens with the hosting? This is not like a normal website that's hosting a regular web server. I think you guys heard about IPFS before, right? So this is where this website is living right now. It's free and decentralized. So if you are still confused about what's going on, let me explain you. We're basically supporting, allowing you to browse IPFS host websites through ENS names. So for example, the name that you see there is resolved to the IPFS content ID that's below, which is also known as the IPFS hash. And before that, you were able to access that same content using the IPFS gateway URL. If you look at the first link, you will see it says IPFSIO slash IPFS, and then there is an IPFS hash and the file name. If you tap there now, you will see there's a file there, okay? With the old-style URL. Now, you're gonna see that if I tap on the second link, you're gonna see the same mix-up file, but we are gonna access through it through a human-readable name. So you don't have to remember any more IPFS gateway URLs or IPFS called A-hashes, okay? So you guys should go cost your own decentralized app and there is a quick tutorial if you wanna take a look at how this works. And one thing I would like to add is we're gonna add a list of available gateways. If one of the gateways goes down, we will follow up to another one. And you can also set your own IPFS gateway. So that's pretty cool, you have options. So that's it for more oil. We're gonna launch our public beta early next year for Android and iOS. And before you guys ask, it's gonna be open source. Also, we are hiring, so if you guys feel like identify with any of these roles, please shoot us an email or reach out to any of us. We are gonna be around for the rest of the conference. And the very last thing, we will love your feedback. So if you guys have some time, please scan this QR code and take this quick survey that is gonna help us build their products. But in exchange of that, we're gonna choose lucky winners and we're gonna let you pick any item from our new swag store, swag.metamask.io. And that's it, thank you. I don't know if anyone has any questions or should we take questions? Yeah, we've got a couple of minutes for questions if you want. We've got a hand over there. You got a question or are you waving? I think there's a mic down front if you wanna come. Go back, can't. Hello? Hi, Dmitry Vyspalov, knows this. It does metamask plans to move from extension to like from being a browser extension to a more, to a bigger platform like an electron or chromium to have it like a full feature control over the content of the user. Totally, we have discussed in the past bringing metamask to Electron as an Electron app. It's definitely still a possibility. We're not sure that it will make more people use metamask necessarily or bring us closer to serving dApps better. But it is still, yeah, it's a possibility. You haven't ruled it out for sure. It's not necessarily on this list of stuff that we described today, but it could happen at some point. And so if that's something you're interested in, I mean, we engage with a lot of this sort of stuff on GitHub, so open an issue. There is one already, I think, so find it, give us your thoughts. We'd love to have the discussion. Hi. I'm Valentin Pryobrazhensky, CEO of LaToken. We are top security crypto exchange and security token trading leader. Do you have any plans to integrate with decentralized exchanges? So we are launching high TPS decentralized exchange where people can sign orders, send them into order books, and this transaction will be written into smart contract. And they need to sign their order with something like metamask. So any plans to integrate with DEX? Integrate by pulling them into the metamask. UI, is that what you mean? Yeah, so you can send sign orders from metamask to send them to our machine engine. Totally. So we have a very bare bones integration with shapeshift that's been live in metamask for a year and a half. And our metrics at this point are very, very young and immature, but we do know that fewer than a hundred people have ever used that shapeshift integration, which is pretty, pretty low. So I think that we could probably build to me, it would be a wonderful experience, but in terms of the whole range of critical stuff there is to do out there, that hasn't risen to the top of the list. But I will say the same thing to you that said to the previous gentleman, which is we pay a lot of attention to what people in the community seem to be enthusiastic about. So engage us again on GitHub, open an issue, start the discussion and we'll see what happens. My recommendation for that is also to make sure that your product or exchange or whatever is more friendly and it's gonna work fine in a mobile app. So if you do a good job, people naturally go and use it through the metamask mobile app or any other option. Hello, I've been using signature schemes for a long time and EIP712 is a very good thing for our users to be able to sign complex message in a clear way. Thanks to you to Meetamask for providing this because Web3.js doesn't provide an interface with signature, so good job. Except you're compliant with Trezor and Ledger, but Trezor and Ledger are not able to do this kind of signature right now. So when will we have the full user experience, 7.12 signature with Ledger? Great question. I'm hoping that by asking that question we will encourage Trezor and Ledger to help their hardware wallets support SignTip Data V3. I don't know if Bruno knows anything. Yeah, there are open issues on Trezor and Ledger. Repos about that, you know, it's out of our control, but just about their issues and at some point it's gonna happen. I think they're, I'm pretty sure their stuff is open source too. So if anyone, you know, has the time and the will to do it, you can't treat it. Thank you for asking. Hi guys, I'm Everton from the MIST project. Congrats on your progress, it's really amazing. Do you have plans to add IPFS routing to the desktop experience as well? I heard that. So we do have a pretty rudimentary IPFS resolution, or at least ENS domain name resolution in the browser extension. It's not quite as full-featured as what Bruno just showed in mobile. I don't think it actually, so yeah, go for it. So basically the main difference between what we have on this tension right now and what we have on mobile is that because browser restrictions on the extension, we can change the URL, right? So we cannot mask that. So you will still, we will do a redirect and you will see the IPFS IO URL. In the mobile browser, the mobile app, we have way more control of that. That's what we are able to do. Oh yeah, great, thank you. Hi, this is Umur with FIM. My question is, I love the new UX flow you introduced with the mobile app where user doesn't need to create a password up until they interact. Do you plan on doing the same thing for the Chrome extension as well, the same flow? I think there is a different approach between mobile and desktop and the main reason is that people are already in a browser, right? So they can make it to the apps just fine and then the app will handle their functionality in one way or another, right? But in a mobile browser, you usually put all this in that process at the very beginning, right? So that's why we feel like it's necessary to push all the friction to the right time and not earlier. That's the main difference between both platforms. That said, I think we have a lot that we could do with the desktop onboarding experience and I hope that some of the opt-in metrics that Jenny mentioned will help us understand exactly where to improve and I don't think that our team is like opposed to trying some dramatic stuff like what Bruno demonstrated with the mobile app. Maybe one more? Can I ask two questions? Sure. One more person? Yeah, for sure. One is that, as I know, it's mainly for years 20 right now, right? So MetaMask is mainly for years 20 right now. So we don't integrate like a UOS or BCH or other public chain? I don't know that it's mainly for ERC20. I think like a lot of people use it for signing general ETH transactions or interacting with DApps that don't involve tokens at all. We've got 721 support, collectible support coming down the line and we're pretty much ready for that. The second part of the question was... So it's mainly Ethereum ecosystem? Oh, for other blockchains, yeah. For other blockchains, whether you have them? Yeah, so we are offering the ability to support any ETH RPC compatible chain as of this week. So you can check that out in our next release, yeah. Okay, I understand. Another question is that I notice you guys recruit new position but all relevant to tech background. So is that your strategy is mainly to do the best to tech and don't do promotions like business development or marketing so proactively? We are sort of, this dude's raising, we're sort of like blessed to have a very charismatic fox and that he takes care of a lot of the marketing for us. Business development is sort of a responsibility shared by the team. There's a bunch of friendly team members who do a pretty solid job of maintaining relationships with other folks. So we aren't looking for those roles yet but we probably will as the team of truth. Okay, shout out to Shason for setting up the store. Yeah. And one more plug for this QR code. Seriously, we would love your feedback. Like I know this mic that gets passed around doesn't make it to everyone. You can win a hoodie or whatever but seriously, we love your feedback so scan away or don't. And we'll be following around with the conference with printed out versions you can scan too. Thank you for coming. Thank you guys.


everyone and welcome. This is Melissa with the stocks. What should I review in this market here in the spy? Market just looks higher. I mean, I thought that it might be able to do it today, but it's funny because the market kind of seemed dead today. Just lost steam, lost momentum. We did rally into the close. I think if it wouldn't have been four o'clock, the market would have kept going and gone over the high.  It looks like around 11 o'clock, and then it just ran out of time. Slow going for the market today. It almost looked like it was dead, but we definitely look like we're higher. I think that we rally into a holiday week, which is bizarre, at least on Monday, unless something happens drastic about news with towers or some kind of negative news over the weekend, which can always happen, but I think it's gonna be a slow week next week for the market. Could we rally in a slow week? Yeah, I guess we could, because I mean, unless there's negative news, there's no reason for the market to sell off here. And I was anticipating the perhaps a big move over the high today, but I think the market would have done it, but it ran out of time. We're up here tonight a little bit in the after hours, which you can see not a great deal, but again, Friday, 5.30, going into holiday week, I think everyone needs to be very careful that trades next week, light week for the market, short week for the market, but it does look very bullish in this chart, and you can't deny we're not that far off the highs. And every time the market tries to dip down, it really never sells off. So I'm not saying we go straight up like a rocket between now and the end of the year, but I do think, and I'm not saying we have a Santa Claus rally at all either, I do think though that we'd look higher into Monday, unless there's some unforeseen news that comes out over the weekend. So good luck everyone, be careful next week. If you're interested in the Golden Gap course, email me at melissa at thestockswish.com last class of the year, this December 14th and 15th. Have a good day everyone.


If you are, then you have a image viewer probably installed on your system. But is your image viewer really an image viewer? And I say that because 99% of the image viewers available on Linux do more than just display an image. Most of them have all of this extra functionality built into them that allow you to do things like set wallpaper with your image viewer or edit that image with your image viewer. But what if you just want your image viewer to display images? Well there is a really neat image viewer program out there called SXIV, which stands for the Simple X Image Viewer. So let me go to the GitHub page for SXIV and it's really kind of suckless in philosophy. SXIV is not a suckless utility, many people mistake it for being part of suckless.org. It's not, although it does seem to be kind of inspired by the suckless philosophy. To install it, well you could just install it from whatever Linux distros repositories you happen to be running. I'm running ArcoLinux, so I just install SXIV from the Arch repositories. But if you wanted to, you could just download the source code and run a simple pseudo make install, boom, it's installed on your system. And you might want to do that if you plan on editing the source code in any way because it does have a config.def.h, similar to things like dmenu and st and dwm. You could actually edit this and you'll recompile with new settings. For example, maybe you wanted to change some key bindings, but really unless you wanted to change some of the key bindings, there's not really much else to do in this config.def.h. So unless for some reason the default key bindings just aren't working for you, I'd probably just install it from your distributions repositories. So let me show you some of the basic functionality with SXIV. I'm going to CD into my wallpapers directory here, clear the screen and let me zoom in a little bit. And in this wallpapers directory, I have about 300 JPEG images. And if I wanted to open a specific one, I could type SXIV and maybe the path to a specific file like 00001.jpeg. And it will open that image inside SXIV. And by default, when that image opens up, it will fit the window. So right now it says it's zoomed in to 45% here in the status bar. This font is really small in the status bar. You guys watching the video may not be able to read that, but it fits the image to the width of the window. But you can zoom in, you can zoom out, you can make it exactly 100%. So to zoom in plus, just do the plus symbol. To zoom out, just do minus. And if you want it 100%, do the equal sign. Now if you want to flip the image, you could do the minus sign and it will flip it vertically. If you want to flip it horizontally, do the pipe symbol and it will flip it horizontally. And then let me do the minus sign to flip it back vertically. And one more time, the pipe symbol to flip it back horizontally so it's back in the right orientation. SXIV does have some mouse functionality. I could scroll with the scroll wheel in and out. If I right click on an image, I will get a thumbnail view, but we're only viewing one image right now so it doesn't make sense to be in thumbnail view. Let me actually show you guys thumbnail view on the entire directory. So if I did SXIV and then the asterisk symbol for every file in this directory. Now it loads up 00001.jpg. It actually loaded all 305 jpegs in this directory, but you have to view them one at a time. It does have mouse functionality. If I move my mouse over here, I get an arrow symbol. If I just click on the image when the arrow symbol appears, we'll go to the next image. If I move my mouse over here, eventually the arrow pointing to the left will appear, meaning I can go back to the previous images. And of course you can do this with the keyboard as well with N for next, P for previous. So if I do N, N, N, N, N, I'm going next, P, P, P, P, you know, back for previous. Thumbnail view, simply do the right click on the mouse and now you are in thumbnail mode here, which is viewing every image in this wallpaper's directory. I'm going to go back up to the top here. I believe if I just do GG, I could have went to the top. If I do capital G, it's kind of like the Vim keys. Yeah, it goes to the last GG to go the top. If I did five capital G for, you know, go to the fifth image, it is very Vim like with the commands. One thing to notice, we did get an error here in the output here. It's saying readme.md. It couldn't open it because that's a markdown file. I forgot this is my wallpapers repository on my GitLab. And there is a readme file in it, which isn't an image file. So SXIV doesn't know what to do with that. But how I would handle that is actually you can make SXIV not output to the terminal so you don't get any kind of error messages or anything like that. So you could do SXIV and then give it this flag here dash Q for quiet mode, meaning don't give me any kind of weird output in the terminal. I don't need the output in the terminal. I just want you to open up the files. Again, we'll just do the whole directory and then get back into thumbnail mode by right clicking on it. And you see now I'm not actually getting the error message about the readme.md. And one neat thing you can do with SXIV is you can actually mark a file for use in something else later, maybe in a script or something. For example, this very first file that I'm highlighting right now, if I type M on the keyboard, I just marked it. And it's very hard to see the mark. But if I move to a different file, you can see the very first one is marked. It has that little box, that white box in the bottom right. So I've marked that file for what I don't know because it won't actually do anything. You know, if I close out, especially with quiet mode on, I think if I hadn't had quiet mode on, it might have outputted something. So let me mark this file again. I'm not going to go into thumbnail mode. I'll just type M on this file and then close it. It still doesn't give me any output. But we've marked it, but we didn't tell SXIV what we're marking this file for. And what you need to do is you need to pipe this into something else for it to actually be useful. So let me do SXIV dash R for recursively dash Q for quiet mode. And we'll do every file in this directory, but we need the output. That's the O flag for output. I want you to take the output of what we do. And it's going to be, the output is going to be what we mark. So if I mark the very first file 00001.jpg, I want you to take that output and then pipe it into something else. For example, I could do XORGs and I could do, I could pass it through FEH, which is a wallpaper setter. And I want you to set that as my wallpaper in FEP using this flag dash dash BG dash skill. I hope that makes sense. FEH is just another image viewer, but it does have the ability to set wallpapers. XORGs is simply a command line utility that's saying, hey, take the output from this command. And then I want you to use that as the argument for FEH dash dash BG dash skill. I hope that makes sense. So let's run this. I'll get into thumbnail mode and I'm going to pick, I don't know, 00005.jpg here. I'm going to mark it. Then I'm going to close the SXIV window and it should take that 00005.jpg and pass it on to FEH dash dash BG dash skill. Let me go to a clean desktop and you can see that's actually what happened. It passed that along to FEH, which then set that image to my background. So that's how you would use SXIV and a script and a bash script. Maybe you wanted to put this maybe in a demon use script or something.  It has the ability to set wallpapers. It has the ability to edit images. You know, FEH is kind of a bloated image viewer. That's one of the bloated image viewers that XXIV was trying not to be. So you probably wouldn't use SXIV if you already had FEH on the system. No, SXIV is simply an image viewer. So really what you would probably want to pass the XXIV output into is a program that is strictly a wallpaper setter. And there are some of these out there such as X wallpaper. So what I'm going to do is this time I'm going to pass the output from SXIV when we mark a file. We're going to take it and pipe that into XARGs, which takes the argument and applies that argument to this command X wallpaper dash dash output. And then the display for my monitor that I want to put this wallpaper on and then what kind of format, you know, zoom or stretch or whatever.  So let's run this. And again, I'll get into thumbnail mode by right clicking. And then I'm just going to go down to one of these images. I'm going to type in on the keyboard to mark it. And then I'm going to close that window. And now I should have just changed the background to that image. And that is exactly what happened. We just passed that X wallpaper. And that's probably what most people would probably do. They would use XXIV as your image viewer X wallpaper as your wallpaper setter. You can't actually view images with X wallpaper. You can't actually set wallpapers with XXIV. You know, there are two different programs that really follow the UNIX philosophy. They do one thing and that's all they do. They do one thing and do it well where other image viewers really are more than image viewers. FEH does a million things. And that's kind of the point of today's video. People have been asking me about image viewers and about wallpaper setters. Everybody knows I use nitrogen. I just like nitrogen because it's a very simple to use wallpaper browser slash wallpaper setter. But a lot of you guys are saying that you guys want to follow more of the suckless philosophy. You want specific small little utilities that do one thing, do one thing well, that you can easily integrate into your scripts. And I think XXIV is probably the image viewer all of you guys should be using. Now before I go, I want to thank a few special people. I want to thank the producers of the show. Devon Fran, Gabe Corbinian, Mitchell, Akami, Archie, 2530, Chris, David, the other David, Donnie, Dylan, Gregory, Lewis, Paul, pick me up. Scott and Willie, they're the producers of the show. They are my highest tier patrons over on Patreon. Without these guys, this episode about XXIV would not have been possible. I've had a little bit too much coffee today. But I also want to thank each and every one of these ladies and gentlemen as well. These are all my supporters over on Patreon because without these guys, the Distro Tube channel wouldn't be possible. If you'd like to support my work, look for Distro Tube over on Patreon. All right, guys. Peace. And that's a horrible name, XXIV.


So, we already know what is a Gaussian distribution and what is a Gaussian random variable and now we want to say when we have a random vector, when we are going to call it a Gaussian random vector, what is the properties it needs to satisfy. So, we already have for a single random variable the PDF is given by, so this means I have a Gaussian random variable x that has mean mu and variance sigma square. And what was its characteristic function at a function u, how did it's characteristic function look like, exp minus u mu, I do not know where was minus, j u mu plus sigma square by 2. This happened to be a Gaussian random it's a characteristic function. Now, suppose I have a set of such random variables which are independent, but not necessarily identical. So, what I mean by independent, we already know what I mean by independent of set of random variables, right? We know that if they are joined, their distribution, the joint distribution splits into their marginal distribution, then we are going to call them independent. And I am going to say set of random variables to be identical if all of them have the same distribution, okay? So, now suppose I have a collection of random variables and all of them have and they are independent, then it so happens that you take any linear combination of this random variables, it is still going to be again Gaussian, maybe with a new mean value and a variance, okay? So, this we are going to write it as a lemma. So, take any m random variables that are independent and all of them are Gaussian random variables. So, each may have its own mean and variance different values. Now, we are going to say if you take the linear combination like this, you understand linear combination, right? I will just take different weights, multiply each one of them with their associated weights and then add up. Then I got this linear combination, we are going, we are saying that this is also Gaussian random variable. So, why this is true? So, to see this, we are going to use the property that if a set of random variables are independent, then if you are going to look at the characteristics function of their joint distribution, that also splits into characteristic function of individual random variables, right? So, that we have said. So, we have said that a set of random variables are independent, if and only if their characteristic function also splits, not only their CDF splits, that also implies that their characteristic function also splits. So, let us use that property just to quickly verify this. Suppose, no, I am not saying that, I am just saying that they are independent. Yeah, question, but Gaussian, they could be with different mean and variance, right? They, for a given mean and variance, it is going to define different Gaussian distributions. It is a parameter. So, now let us say I want to define characteristic function of my random variable X. Here, X is now the joint collection of these random variables. So, X is a vector here now. It is not simply a scalar. So, now, okay, no, what I mean is, okay, now I am going to define this X not, I am going to define this X to be this linear combination. Okay, X is now again another random variable for me. It is not a vector as I said earlier. It is just a linear combination of this and I want to compute the Gaussian distributions, sorry, the characteristic function of this random variable X. Now, what is this going to be? It is going to be expected value of e to the power j u and all this, right? a1 x1 all the way up to, so this is nothing but expectation of e to the power j u a1 x1 into e to the power j u a2 x2 all the way up to e to the power j u a n xn. Now, that x1 x2, they are independent. Do you think a1 x1, a2 x2 and a n xn, they are also independent? If x1 and x2 are independent, suppose x1 are multiplied by a1 and x2 multiplied by a2, will a1 x1 and a2 x2 will be also independent? So, these random variables are independent. Now, if they are independent, now can I write this expectation as the product of expectation of each of these terms? If they are independent, I should be able to do this. Now, x1 is Gaussian, I know. Is a1 x1 is also Gaussian? a is a constant, right? So, what is this quantity now? This is a characteristic function of what? a1 x1 and what it will be? So, we already know that for a, if x is a Gaussian random variable, its characteristic function is going to just look like this, j u mu. Now, so it only depends on your mean value and the variance, right? So, what is the mean value of a1 x1? Suppose, let us say xi, expectation of xi is equals to mu i, for i random variable, which is Gaussian has mu i. So, then what is this mu of this going to be? And it will be, what will be the variance of a1 x1? So, if variance of let us say x square, I am going to denote it as sigma square, what will be the variance of axi? So, then what is then u square and then I am going to replace sigma square here by 2, right? Or you can alternatively think of this as like instead of this as a random variable, you can think as this is u1, u a1 is the point at which you want to evaluate this characteristic function and for this random variable x.  Or alternatively you can also think of a1 x1 as another random variable with new mean and variance. Now, all the way to what is its value going to be? So, now if I further simplify this, what this going to look like? It is going to look like j u summation a1 a i mu i minus u square summation a i square sigma i square divided by 2, right? Now, if you are now go back and we have already said that every distribution has a unique characteristic function, right? Now, you should just look at this characteristic function, what is this distribution corresponds to? What is this characteristic function corresponds to which distribution? What are parameters? Just suppose let us go, if I want to map it to this, suppose let us say this I have to if this is some mu and this is some sigma square, okay? Anyway, this is constant, right? And it will be exactly in this format. So, then this is going to be a Gaussian width. So, this corresponds to a Gaussian with what mean? And variance. So, this is going to be another. So, this means my x here which is a linear combination of independent Gaussian distributions is going to be another Gaussian distribution with mean like this and variance like this. So, what it says is that what we have just showed is any linear combination of independent Gaussian random variables is going to be another Gaussian random variable. So, now we are going to use couple of more definitions. So, what I mean by here is let us take a collection of random variables. You understand this notation x i, i belong to capital I. So, i is the index set here. This index set is going to have finitely many values. They are said to be jointly Gaussian if every linear combination is Gaussian. And they are then if that and they say to have a joint Gaussian distribution. So, what we just what we mean here is you are given a set of Gaussian distribution, sorry set of simple random variable. If you are going to take any linear combination of them and they should be Gaussian, if that is the case then you are going to call this set of random variable to be Gaussian. They are going to you are going to call them as jointly Gaussian and they are said to be have Gaussian distribution. So, we have already said that if x 1, x this set of x i's happens to be each one of to be Gaussian and they are independent. We know this is already two, right. You take any combination of them, they are again going to be Gaussian. So, here these are this set of random if they are independent and Gaussian, they are again already jointly Gaussian. But let us say if some given set of random variables happens to satisfy this property then we are going to call them jointly Gaussian. Then and now when we are given a Gaussian vector, so this vector will have components, right. And then we just treat those components as these components and if they are coordinates. So, when I say x, x is a random vector it will have x 1, x 2 let us say up to x m then these I can treat it as coordinates of this vector as we discussed in the previous class. We can treat them as these components and if these components happens to be jointly Gaussian then we are going to call that random vector as simply Gaussian random vector. So, this was obviously, so here we just said collection of random variables but I can treat all this collection of random variables as a vector, right, in which this vector constitute the components. Now, fine, when I have a collection of random variables how I am going to denote its distribution. So, if I have a random variable x that is Gaussian random vector. So, I am now starts using instead of random variable I am going to use rv for random vector here. It should be clear whether I am just talking about a random vector or I am talking about a random, sorry I am just talking about a random variable or random vector. I am going to denote its distribution by mu and k here and you will see that it just like it only depends on these parameters and here mu is the mean vector and k is the covariance matrix. What is mu here? It is like mu 1, mu 2 all the way up to mu n. So, let us say I have components, right, x is a random vector and it has some n components let us say then this mean vector is nothing but the vector of individual components and what is k here in the covariance matrix it is going to be a matrix of covariance of x 1, x 2, x 1 with itself covariance of x 1, x 2 to covariance of x 1, x n and similarly x 2, x 1 and you can write all the way up to covariance of x 1, x 1. So, what is this here in this covariance matrix? What is this diagonal implies? So, the diagonal contains the variance of each of the components. Now, I will just list down some of the properties of this Gaussian random variables and we are not going to prove any of them, you should verify all these things yourself. Yes, or Gaussian random vectors or like for which we are going to say it is going to be it has joint Gaussian distributions. Now, let us say if x i, I have this collection of random variable has a joint distribution then each of the random variables itself are Gaussian random variables. Is this true? Why is that? So, I have a collection of random variable and saying that if it is jointly it has joint Gaussian distribution then each of the random variables is itself is a Gaussian random variable. Why is that? So, if it is a jointly Gaussian distribution by definition we want for every linear combination. So, in this every linear combination what I could do is like I have to choose a 1, a 2, all the way up to a n these are the weights. I can just choose a 1 to be some nonzero value and set all the others a 2, a 3 all the way up to a n to 0. In this case I have I need to check I need to satisfy that a 1, x 1 is Gaussian, but since a is essentially a constant it is the better that x 1 is Gaussian in this case. So, and similarly for each of the components. So, it must be the case that if the set of random variables are has joint Gaussian distribution each one of them has each one of them itself is a Gaussian random variable. And this property we have already verified I will just write it for the sake of completeness. If right now I am not saying anything like you say you are given a set of random variables and if it satisfies if they are jointly Gaussian distribution for that our lead is every linear combination should be Gaussian. That is the only thing I am not I do not want I am asking anything like they are independent identically distributed on anything just applying definition. So, suppose this xi's are each Gaussian and independent then xi has a joint Gaussian distribution. This we have already shown right the second point what we are saying is if this xi's collection of random variables are such that each are each Gaussian and independent independent. If we show this or not if each collection of random variables they are Gaussian and they are independent and we have already shown that you take any linear combination of them that is again going to be Gaussian and then by definition it has a joint Gaussian distribution. The third property says that say xi joint Gaussian distribution and you are going to construct and let this yj be another set of random variables where j belongs to flat j. So, it is the statement clear here what I am saying is take a collection of random variables that has joint Gaussian distribution. Now what you do is you come up with the another set of random variables call them yj, j taking again value in some set capital J where each of this yj itself is a linear combination of this xi's. Let us say you have x1, x2 all the way up to x10 you have 10 random variable that is jointly Gaussian distributed. Now let us say you make you take one linear combination of this random variables you can take another linear combination like let us say you come up with 100 linear combination of this x1 all the way up to x2. Now this 100 random variables which I have denoted yj. Now this yj's the claim is again has a joint it has a joint Gaussian distribution. Does it make sense? This should be obvious because if this yj's are already linear combination of xi's and now you further take any linear combination of this yj's itself they will be another linear combinations of xi's and that is Gaussian distributed. So any linear combination of yj then has to be Gaussian distributed that is why this property already holds and we are going to call it as jointly Gaussian distributed. So now the pdf random vector n mu k. So let us say I have already said that let us say x is a random vector and its pdf I am going to denote it as it is a let us say I have denoted it by this value right n mu k where mu is the mean vector and k is the covariance vector. So what how this value is going to be like? So this is just denoted a Gaussian random variable vector with parameters mu and k. Now the cdf of this random variable is Gaussian random variable Gaussian random vector is going to look like. So I am assuming that this random vector x here as k m components in this. Just say that x is x1, x2 all the way to xn. So we said that this is a Gaussian random vector where the mean vector is mu and the covariance vector is covariance matrix is k. Now if that is the case then it is cdf one can write it cdf as this. What is here? Mod of k here means it is going to be determined of this matrix k and what I mean by capital T here it is going to be transpose because this x here is a vector and mu also vector. What is this vector? This vector is the mean of all the components and k inverse I mean inverse of the matrix. Now suppose let us see we recover our initial Gaussian distribution for a single random variable with this formula. Suppose x consists of only one component. Now what this formula will reduce to? So here in this case m is going to be 1. This is going to be 2 pi and in that case what is k going to be? So k is going to be a matrix with only one element in this and what is that? That is covariance of x1 with itself. So that is going to be variance and that is also square root. So this is going to be this and now for a single random variable this is like a scalar x is a scalar and x minus mu is now just a mean of that random variable and what is k inverse in that case? Sigma square or 1 by sigma square? Because this is k inverse that is going to be 1 by sigma square and this is going to be x minus mu and we have 2 and this is exactly x minus mu whole square divided by 2 sigma square that we have for a single random variable. So please do take a look into the proof of this that is given in the book. So this proofs comes from the eigenvalue decomposition of your vectors, eigenvalue decomposition of your covariance matrix. From that one is going to derive, do take a look into this. Now this one last thing I want to say if x is n mu k random vector where k is diagonal. So what we are saying is suppose you take a Gaussian random vector which has this parameter mu and k, but this k is special here. It is such that it is off diagonal elements are all 0. Only diagonal elements you allow it to be some values but off diagonals are all 0 that. So off diagonals all 0 means what here? No in terms of covariance. When we say covariance of x i and x j is equals to 0 we say they are uncorrelated. So all pairs of random variables are uncorrelated. If that happens then these random variables are actually independent. So remember in the last class we said independence implies uncorrelatedness but uncorrelatedness does not imply independence. But it so happens that for a Gaussian random variable uncorrelated also implies independence. And this is provided for this is Gaussian random vector. This need not be true for any random vector but provided if it is a Gaussian random vector then that is the case. So you see that like if I already have a model where my random variables are jointly Gaussian distributed and they are uncorrelated then they already implies that they are independent. So this is like a much nicer property help because just by uncorrelatedness I directly get this properties of independence. The last one now how to compute the characteristic function? The characteristic function as we said it has some nice properties. That is it is going to be unique for a given distribution and vice versa. So here for the characteristic functions of, so here the characteristic function of a n mu k Gaussian random variable that is denoted as phi of x u. Here x is a vector and u is also vector because I am talking about random vector here. So that is going to be defined as expectation of e to the power mu transpose x. And then that turns out to be simply e to the power j mu transpose mu. So mu transpose, so what do we are writing it as? Mu is for us, for us the way we are treating it is all column vectors. Mu transpose is going to be a row vector and this mu is a vector of means which is column vector. So u transpose mu is going to be what? That is just one real number. And this is again and what this quantity is going to be?  So k u is going to be one column vector and then u transpose that is going to give just one real number. So this is, you see that it has very much similar to what we get the characteristic of a Gaussian random variable. But in the Gaussian random vector it is just like you have to deal with the vectors. So that is why this transpose and the matrix has come there. So this is about this Gaussian distributions as you see that the Gaussian distributions has some nice properties in terms of this characteristic functions and also if there are uncorrelated it directly implies independence and this helps in many things where when your model satisfies this your analysis become pretty much tractable because uncorrelatedness is directly guaranteeing your independence. When you have independence all you need to worry about is the distribution of each of the random variables. If you have that then joint distributions can be easily computed by just taking the product of this individual random variables. So I do not need to really define the joint distributions there. All I have to worry about is the distribution of each of the component random variables in that case.


Do you sometimes feel like you forgot where you put yourself under all the noise and overwhelm of life and the pressure and do you sometimes scold yourself like like a Frustrated babysitter scolding a problem child instead of treating yourself like a genuine friend and ally If that has been the case Then you're gonna love this interview with Chris Kisling my guest today Let me read you Chris's bio and then I'm gonna bring him on Chris Kisling is a life coach and he helps people who feel like they've lost the plot of their own lives Beneath the conflicting messages demands responsibilities uncertainties and the wounds the old and new wounds of our busy existence Chris helps his clients to reconnect and live from their deepest desires and aspirations what he calls Your still point His own path took him from a career as an executive for a national consulting firm earning six figures and managing a high Performance team on a daily diet of an adrenaline and stress To his current love which is sitting across from one beautiful soul at a time Helping them to see to connect with to fall back in love with themselves to fall back in love with yourself Chris believes that each of us is on a sacred quest whether we recognize it or not and Without exception our lives are worthy of attention appreciation and compassion Chris welcome to our interview today. Thanks for being here. Hey George. I'm really glad to be here So I'm gonna be sure that people have access to your website There will be a link those of you who are looking for if there's a link to Chris's website and also Facebook page and also He wrote an article for elephants journal that was an editor's pick and I'll put the link to that as well so Chris you have a couple of things to share with us today and I'll just let you go ahead and share that and I might chime in with with a comment or question Okay Well Again, thanks for having me on and I'm just so thrilled to be talking to you and to the folks who are watching this First just a little bit about my business that my my company is called still point enterprises and that comes from Actually the inspiration for that was one of my favorite poems by TS Eliot The Four Quartets and he talks about Being a still point in the turning world and that for me is kind of a metaphor for what I choose to be in my life and What other people have reflected back to me that they are like wow you like this like spot of calm in all the stuff that's going on But what's really cool about that is the Elliot goes on to say Except for the point the still point there would be no dance and there is only the dance So even though I'm in love with this concept of the still point It's really not the point the point is the dance and to the extent that the accessing that that place of quiet Confidence and knowledge and self-appreciation and compassion allows you the freedom to move into the dance That's that's what the game is all about so I Love that. I love that idea and it's kind of integrating a Duality of life, which is that there's both rest and and confidence and groundedness and there's movement and progress and sort of uncertainty and all that stuff and As a coach, you are somebody who kind of helps people grapple with that, right? All right, because we're not these we aren't these fixed entities. We're actually unfolding processes throughout the course of our lives and just in the course of a day you You may go from one extreme to another you might show up depending on the circumstances With very different kinds of energy and they can all be you There is a there is a kernel a thread a pattern that runs through all of them, but In some way, I think of our my clients and myself as these marvelous vessels these containers under which all this different kinds of alchemy and magic can unfold So there's this idea that you share with clients called timeless moments Tell us what that means. Yeah, that's that's actually a really simple Actually kind of journaling strategy that I use with a lot of clients to When we're trying to develop a direction, especially early on in the engagement Asking them to do a life review and reflect back over their lives and Identify when were those what were those timeless moments those moments when I felt just Most in touch with the person that I want to be I felt most in flow using my gifts In sync with whatever I can see the the world and whatever may lie beyond it Really at my best and And so I have my my clients Reflect over their lives identify those and then journal about each one of those so that they can identify What was going on? What was I doing? Who was I with? Where was I? What was the setting and then we look at that? We look at all of them for clues commonalities So that we can start crafting a vision for okay, if this is what has really Given me mojo in the past. What are the clues there that will tell us where to look in the future and I was thinking this morning of a client that when he came to me he was actually a high school student and he he was a loner and he was okay with that he was He might have even been on the spectrum a bit. He was like very Very attached to the things that he liked to do and spent a lot of time alone and And said that he was fine with that But we did that Exercise and as we went through all of the different examples Every single one he was in relationship with other people. He was cooperating with them or doing something for them or receiving something from them creating something with them and So we had to have a little talk after that saying you know If this if these are the high points of your life and you want more points like this Wouldn't it make sense to try to get more comfortable being around other people and to to kind of get over those barriers so that you don't have this this resistance to some to doing that so that you can have more of that in your life and then that became like kind of an aha and a Guide post and a motivation for him to start doing the stretch And so we did that but on the other side too like You can't just do things on a conceptual level so with him and also had to be some practical pushing so So one thing I did with him he he had an assignment he wanted to get in shape so he had to go to the gym and He would go every day but he would go make a beeline to the treadmills because they were in the back and he could get on there without talking to anybody and Just do his thing and then leave and I said Well, what about the other stuff and he said well I would have to go like I don't know how to use them and I would have to go ask somebody for help and It would just be I don't want to be that pain in the ass and So he committed to doing it for homework he came in he hadn't done it so I said alright that's it let's go we went out jumped in the car and We drove to I think three different gyms within a couple miles of my house and he had to walk into each one and request a tour and And when he came out even when he came out of the first one, he's like wow that that wasn't so hard they seemed like really happy to help me and so but he had this concept of That he was a pain in the ass and that that That was getting in his way so Tell me what kind of clients you work with So you've got this this example I Imagine you work with clients of different age ages and different professions, so absolutely, yeah, I'm I'm working and I'm working with one who's a CEO in charge of several hundred people and multi-million dollar budget I I've worked with Really across the age range I've worked with College students people outside of college struggling to find their way Breathing widows People confused about Their sexuality like they're not sure they've received all of these messages and have grown up in certain cultural contexts And they're trying to figure out what their way is so it really I Haven't been able to define my niche so far beyond lost people Who especially are struggling to find their own way in the face of all of the messages they're getting around them But I was thinking about another client today who He had dropped out of college and He was facing several different Possibilities the his old job was offering in this potentially really lucrative sales position And he his father was a really successful business man I had definite ideas about what he should be doing and his mother they were divorced but his mother had very strong opinions about what he should be doing and in the meantime, he was a part-time waiter at a restaurant and living in an apartment without a couch and I'm convinced the first thing that I did that was Tell him the best thing I did At the beginning was tell him you could you cannot come back here until you have a couch in your living room Like you just have to do that that's your homework and he did and suddenly he had this big metaphor that wow I can do like adult things now. I have a place where people can visit me and sit and it's like Kind of really kind of helped shift his self-concept But we we did a kind of a spoken version of That the timeless moments and I asked him for okay when was a moment when you were really alive and he talked about He said it was Every once in a while, they let me run the front of the house at the restaurant and he said I love it He said like I feel like the ringmaster there are all these people coming in and they're having all kinds of experiences And it might be like super special moments in their lives and I'm making that happen I'm the person who's Kind of like the puppet master and making everything happen. He said I think I'd really like to own a restaurant at some point my lives and So we talked some more and it turned out the restaurant. He was in was super nurturing of their employees and really receptive to people who wanted to take on more responsibility and I just told him I said, you know, that is the only time in this session of all the possibilities you've talked about where you really lit up and You don't need to go to college. You're in college. Like this is the place so for him this big shift was finding out that he was already right where he needed to be and and embracing that and so we made a commitment that he was gonna become a sponge and ask for all it The training he could and become indispensable Volunteer and I think within six months. He was assistant manager within a year He was manager of the restaurant and then they built a new restaurant and just put him in charge of it That was his that's awesome What you just said you you helped him, you know with this timeless moments exercise you helped him Do that in real time and I'm wondering is that something you you work with clients on because I can imagine It might be hard for some people like myself to remember those moments to journal about it and having somebody like you Kind of pull that out would be really helpful Yeah, yeah, and Yeah, because I have to look by my clients coming with people have different modalities that work better for them and some people They frankly have some trauma around writing. I'm an English major by training and so I I love that stuff, but So it might involve a discussion it might involve putting them in like a slight meditative state and seeing what comes What bubbles up from there, but We've all we've all got those those moments and just by paying really close attention and responding to the cues in the moment We can bring them out and they really do serve as guideposts. Yeah, because they're ours Yeah, absolutely. I can see why those are so important to study. Yeah, and you have another exercise called The eternal return That's cool and what tell me about that. Yeah, the eternal return. These are those Those issues that just keep coming back for us and we all have One or two One of my teachers used to call them our unanswerable questions like no matter how much Time and effort and information we throw at them. They're just still up for us all the time Might be some need that we can't get met no matter how much people support us and talk to us about it we still feel this this particular ache and It's really I think useful first to identify them but then to understand that The thing that is actually Holding that issue in place might be beneath it And so what we do we tend to do is like keep working on the issue Where in fact there might be a supporting construct or concept or experience that is keeping it locked into place And that's where you need to work first in order to get some leverage on this That's that's a little abstract, but I can give you an example for my own life One of my unanswerable questions my From going way back is do I belong and they tend to be questions like do I belong? Am I enough? When will you leave? Just depending of we've been shaped by our experiences and our lives kind of coalesce around these ongoing concerns and So for me it was like do I belong and in every context I would be asking that and being paying close attention like oh Here's this group of people that I kind of like but they all seem to like belong to each other in a way that I don't and it probably goes back in part to the growing up as a gay man in a strong Catholic Republican military environment and feeling kind of like an outsider there But when I did some Some gentle inquiry around it in some ways it's all akin to a less formulaic version of Byron Katie's the work the construction I Realize it underneath that was this concept of consensus like I When I would walk into a room I would size it up as me and everyone else and I would kind of like make them this homogenous whole and Assume that they knew something about each other and they all knew something about me One thing they knew was that I didn't get the same instruction manual that they did and so just like even before I walked into Room that was the way the board was set up in my mind so I had to look at the rules of the board but instead of just the situation like each situation and so as soon as I started Picking that apart and realizing there actually is no such thing as Consensus about me that they are not this homogenous. Well, they are actually all individuals And so I had to make it a practice when I walked into a room to look around at Individual people one at a time and see them and see how they were interacting and realizing that they weren't just part of this Monolith a coal but they were actually just individuals and they were sometimes they seem happy sometimes They seem connected sometimes. They seemed in a mood they were just like me and And so by doing that I kind of was able to dissolve That construct that was keeping me isolated It still comes up from the other night I was in I was in a bar and I was sitting with a group that knew each other really well and I was kind of a relative newcomer and I decided rather than settling back into my old story I leaned forward and started connecting with each one of them Individually and I just I had the best time at the end and we were all hugging everything was great That that never would have happened couple of decades ago And that's that's the kind of stuff I like to do, you know with my clients identify those situations where these things come alive and then what kind of a An experience or experiment or homework can we improvise around that? Yeah It's brilliant great example and Yeah, those questions That's a fascinating one because I think yes, we all have something sometimes it's you know We share some of those unmanageable questions with others, but sometimes it's Feels unique and always feels unique I think so how do you say more about how if somebody is watching this and they Resonate with your energy. They like to be in a session with you What's the next step? How does somebody move forward to work with you? Well, I would recommend That they go to my website And it's find your still point calm and it'll be in the links And just have a look around I really poured myself into that and so it has a lot of how I feel about These things the way I look the particular way I look at life and if that Speaks to you then there's a contact page with a really short form just click on there and I'll get right back to you And we'll schedule a conversation. Just I'm not into high-pressure sales or anything I just want to we'll have a gentle conversation and see if we seem like a good fit and Sometimes we do and there are other times I've gone to somebody said, you know, you really don't need me you need somebody like this And then I'll recommend somebody else The important thing is that you Get support whoever that is and if And if you are any time you are inspired to take action and reach out to me I know that like, okay, the iron is hot. It's important to strike now And so if I'm not the right one, I still want to help push you towards resources because we only wake up Every once in a while and get the courage to reach out and take that kind of action because it's you know It is vulnerable. It's like admitting that I need some help. I don't have all the answers and By the way, I don't either Right, but I found that like two of us two minds working on a problem can Be a lot more creative and have a lot more space Then just one person being alone Absolutely. Yeah, I think of coaching which is what you do as a partnership for the clients Progress and kind of stepping into potential greater potential and optimizing their life making it even better Then then somehow, you know, the coach has all the answers. In fact, it's so so funny. You said it because he just yesterday. I was Talking to a potential coach because I use coaches myself and what worried me was when he said I know I have all the answers that you need I know that I can get you exactly to where you need to go. I'm like, wow, really? We've been talking for 10 minutes Know anything about me and you know exactly where I need to go Yeah, I think people who know how how life really, you know journey how we really develop Understanding it's like, there's a lot more there than meets the eye. So but thank you. Thank you for Anyway, thank you for being here in this conversation and kind of for doing the work that you do So as we complete is there anything else you want to say to to those who are watching? No, just I I hope that you will take exquisite care of yourself and If you're if you are struggling that you will reach out if not to me to somebody To to get the support that you need and Also, if you mentioned earlier that the link to the elephant journal article that was about a series of extraordinary events That led me into this work. I call it the night the owl called my name and If if you are interested in the way that signs and synchronicities working people's lives I encourage you to go there and check it out and Yeah, it was pretty extraordinary Awesome. Awesome. I I'm gonna go read it myself, too So Chris, thank you so much for for being here today And I hope those who are watching will reach out to you and click on the links in the notes of the video Your website once again is find WWW dot find your still point dot com find your still point dot com Yeah, all one much Chris all one way. Thanks, Chris. Thanks so much George


Hello, this is Hans van der Kwas, Senior Lecturer at IHE Doft Institute for Water Education. In this video, I'm going to demonstrate how to use the Raster Tracer plugin for digitizing rivers. The Raster Tracer plugin is very useful if you have scanned maps and you want to digitize features, line features that are on that map, such as rivers or contour lines or roads. What you do is you take a sample of a color and then the plugin will assist you to quickly digitize those lines. First we go to the Plugins menu and there we activate or install the Raster Tracer plugin that will help us tracing lines with a certain color. So I toggle the rivers dissolve to editing and then in the Raster Tracer I choose the geotift that I want to trace. I click pick color and then I choose one of the colors of the line and then I can immediately start tracing and what you see is that I can quicker digitize it by just putting some points on the line and it will simply trace the color, which will make the digitizing much more precise and quicker. You see this really works nicely. So we can toggle off the editing and then it's saved. So in this video I've demonstrated how the Raster Tracer plugin can be used to trace rivers and speed up the digitizing process. If you like these videos please subscribe to my YouTube channel and if you want to see more free materials you can go to IHE Delft OpenCourseWare on GIS which is at GISOpenCourseWare.org.


Right side, there he goes. Allen, under center, sneaking, I don't know. No, we did not make that. I do not know, 25, 30, 35, 40, 50, 40, 30. Let's see where they spot it. He did not make that. The Titans think they have stopped it. 20, 10, 5, in zone. Allen tried to sneak. He got nothing. Ladies and gentlemen, 76 yards. Eric Henry touched it. Titans, yes. Not yes, not yes. Haley is.