So, I am Raj, Raj Shaker. I work as a developer at RanchoGasic for Microsoft.  So, you know, that's what I expected. Pretty much everybody has heard of HTML5, right?  It's all about applications and it's not just about serving content and what not.  Or is there something to it? Or is that, you know, when we talk about HTML5, CSS3, HTML5, are these things that we can use in our web applications today? Right? Or can we not? Or if we can, you know, how can we use them? So, this is basically about, you know, how we can build compatible web applications. Give good user experiences given the state of the web as it is today, right? So, very briefly, you know, that's kind of the agenda. So, we kind of got a review, I guess, you know, I don't know how visible this is at the end of the hall. But basically we're going to review, you know, what are some of the challenges with building web applications that work across browsers and give a good user experience. And then we'll basically review some best practices around that, you know, around building compatible web applications. So, that's, you know, so, you know, I'm not sure how many people here do web development for a living. So, that's probably about 60% of the room. It's actually surprising to have an experience with more.  Yeah, you know what, I agree. I guess that's a pretty big pain point. But I would probably generalize it as having to support so many browsers, right? You have to support IE, you have to support Firefox, Chrome, to a lesser extent probably Opera and Safari. But at least these big three, you definitely have to support. And not only do you have to support all these different brands, but you end up having to support different versions within a brand, right?  You know, still an exceptionally large percentage of users who are on IE6, which is more than a decade old browser. So, traditionally, you know, what web, some of the things that we are doing to, you know, what I forgot about this little, you know, if you have to keep track of, you know, feature metrics, I mean, that's what traditionally, you know, that traditional approach to supporting different browsers. You know, what browser do we have, what features do we support? If I want to provide feature A in my web application, how do I make sure that this works across all these browsers? You have to pretty much figure out, like, IE version 6 with a list back in had support for this particular feature. And therefore, I have a little code there which checks for that particular scenario. And then I enable that feature or disable that feature to provide, you know, a backfill or whatever the case is. If you want to do that, you probably need to be a superhero, right? That's what I was shooting for. So, this kind of is the browser market share that I kind of put together yesterday from Net Market Share. And, you know, you can see that IE8 has about 27% Chrome, about 15% and so on and so forth. But you can see that, you know, there is no clear winner here, right? I can't say that. I'll just support this one guy and I'm done. You can't say that. You pretty much have to, you know, it's a very fragmented market. You know what, for end users, this is great news, right? If I'm an end user, I won't use the web. I'm just spoiled for choices, right? There are so many high-quality browsers out there. But as web developers, not so much. Not so much great news, right? So, you have to worry about, you know, different browsers, different versions of each browser. And today the cadence at which new versions of browser being released is also increased tremendously. Probably precedence that's been set by Google with their, you know, no pig really cares about the Chrome version. Who knows what is the current Chrome version? Yeah, I get like many different answers. So nobody knows and nobody cares. So, you know, new versions of browsers are getting released continuously. It just makes our job worse and worse, right? If you have a key track of versions and features, it's just impossible. You can't do it. So that's what's something that we have been doing in the past. We detect browser versions. We detect browser ground, browser version, and we try to enable disabled features based on that. This is simply not going to happen. It can make grown people cry. So that's where feature detection comes into the picture, right? So going forward, you know, from a JavaScript point of view, right? How do you get or how do you build in support for some of these newer HTML5 technologies, right? As we just saw, looking at versions and trying to map that to support for features is just not going to get it. Because there are just too many versions, too many browser brands. So Modernizer is basically a library that helps you deal with this. The basic idea is don't make decisions based on browser versions, right? Check for, basically try to sense, try to detect programmatically whether a particular feature is available in whatever the current browser is, right? Maybe you can check for the existence of a particular raw check or a method or a property or a particular behavior.  And then dynamically, you know, you might, if it is a critical aspect of your site, you might want to dynamically load browsers or supplementary libraries which provide support for that particular feature which is there or which is not there. So, you know, typically you write code like this, right? So for example, here what I'm doing is I'm saying navigator.useragen.index. or a particular substring. I'm basically looking at the user-agent string of the current browser and seeing if it has a particular substring. If it does, then I do something and if it doesn't, then I do something else. Basically, here I'm making an assumption that a certain feature is going to be available based on a particular user agent. Basically, here the code says that if it is IE, then do attachment. If it is not IE, then use add event listener, HTML5, W3C standard way of attaching event handlers to events. So this is not a good idea. Do something like this instead. So here, basically you can see that what we're doing is we're checking whether the window object actually has a method called animate listener. If it does, use it. If it doesn't, then I see if it has attachment and if I have that, then I use it. If you have neither, then it's probably not a browser. So I just wanted to quickly show you what that means. It's not exactly a very complicated demo or whatever. So let me just show you the... I guess that's not very visible. So I'll just open it here. So basically what's happening here is exactly what I showed you in the slide. I checked if the add event listener is available. If it is, then I basically showed this particular message and if it is not, I showed this message. It's not standard compliant. So I go ahead and click that link. It says you're using a standard compliant browser because it went into that. I'll use IE's debugging tools to switch to a... IE has this feature called as document mode where you can switch the rendering mode. You can make it pretty much like it is IE5 or IE7 or something like that. So I'll go into IE5 mode and click on it. So now it says it's not standard compliant and so on and so forth. Essentially what happened was it went into the else case here and called attach event here. So a very simple example of how you might want to do feature detection. Now that was a very simple case. It said window dot, attach, add event listener. If it existed, then great, we use it. But what if feature detection looks like this? Now I know if you can't read the code, that's kind of the idea. You know what? That's probably the reaction. Now that's where modernizer comes first because what I showed you was a very simplistic case.  But you know, if you want to detect something that's slightly non-trivial, for example that piece of code that you saw there was trying to detect whether the current browser has support for CSS3 on-face room. That's not quite as straightforward. So there is this nice library called modernizer which basically it's a very simple JavaScript API that you can use to detect support for all major HTML5 and CSS3 and even ECMAScript5 features, whether they're available in the current execution environment, in the current browser or not. So it detects all the major features. It includes HTML5 shims for semantic type loader browsers. What I mean by that is, so with HTML5 one of the new things as far as markup is concerned is something called a semantic tags, right? Where basically your markup can be purely markup, right? There's no presentation information absolutely whatsoever in your markup. All presentation stuff goes into your slide sheets in your CSS and your markup is just defining the structure of it. You want to say that this is an article, this is a section, this is a header, this is a footer, this is an aside, and so on and so forth. You're able to express or associate some semantic meaning to your markup. It turns out that up until IE 8, you couldn't use these tags, like these are new tags, like article section aside, right? You couldn't just use that. I mean you can use that, but you will not be able to style it. This was a problem up until IE 8. IE 9 of course has support for all the new semantic tags and so on. But there is a certain workaround that you can use to make it, make older versions of IE support these semantic tags. Basically, the actual hack doesn't matter. We have just said open a great element of new tag name and then the tag name magically becomes styleable. So Modernizer has that little piece of pixie dust to make IE recognize all the new semantic tags, right? So if you use head section, I mean section header footer and all, it will start working in automatically older versions of browser. As long as you include it, Modernizer. Modernizer is simply a JS file that you include in your page and then you automatically get support for these tags and you get support for feature detection. So for example, right? That gigantic piece of code that you saw, that's what it looks like when you use Modernizer. Very simple, right? You simply say if Modernizer.FoundPace, then you do what you have to do. So pretty much all the features can be detected this way as a boolean property. Say Modernizer.Canvas, Modernizer.Jailocation, Modernizer.Depsockets and so on and so forth. So let me quickly show you what that looks like. So here I have a little document. So I'll say allow blocked content. So first let me show you what that HTML has. So you can say it's a very simple HTML. I've used some of these semantic tags I was talking about. It has header, section, blah, blah, blah. Write some tags. You will notice that right at the top I've included the Modernizer script. I've used 1.7 when I put this demo together sometime back. Right now I think it's Modernizer version 2 has been released. So you can very well use each one in this one. And so we have this markup. You can see that there's no presentation information here. So that I've basically put it inside my style sheet. So all the styling stuff is there. So this looks decent, right? It looks tired and whatnot. So what I'll do is I'll go here and take off this particular line. Maybe I'll just comment it out. And I'll just use my debugging tools here to switch the document mode to, let's say, IE5 rendering mode. And you can see that that's what it looks like in IE5. It looks horrible. Why does that happen? So basically what the browser does in legacy IE6 and IE8 is when it encounters a tag which it does not recognize it's basically going to just treat it like just the text. It's just going to take the text and render it. It's not going to basically style it. So on the other hand if I just bring this script back and I just refresh the page, it's still in IE5 rendering mode. It's not exactly pixel for pixel the same as what we saw earlier but you can live with this. So basically what has happened here is all those tags, header section and so forth have become styleable. So Modernizer gives you this for free. What else can you do? For example, you can detect whether support particular features. For example, here I'm checking whether Canvas is supported in this particular browser. I check for that by saying modernizer.canvas. So that's the exact same syntax part for pretty much all features that we want to do. So that's great. So now we can do feature detection to see whether there's support for a particular HTML5 API in the current browser or not. Now what do you do in case you encounter a situation where the browser does not support? You typically want to do more than alert, right? My example I'm just doing alert. So you want to provide that functionality, that feature. So how do you do that? So that's where polyfills and shims come into the picture. I know these sound like, you know, fancy terms but essentially what these are is basically light release that provides support for a particular HTML5 spec on a browser which does not natively provide that support. So let's quickly see what these are. So, you know, this is typically the scenario, right? So there is this nice new feature maybe with the HTML5 API that has been released. The latest versions of the browser support that, it's really nice. You know, the geek in you wants to start using it and you start using it, but then along comes old browsers, right? Basically your users, end users. I mean, I don't know why people never upgrade their browsers now. I mean, but they don't. I guess, you know, it's just not something that end users will just go and do, right? Okay, today I'm going to go and upgrade my browser. Nobody does that. In fact, that's why it makes sense for the, you know, Firefox and Chrome, they update themselves. I'm going to start doing it very soon. I mean, it's been already announced. So browsers will start updating themselves. So these problems should eventually, you know, over time, hopefully go away. But right now, the reality is these forms are there. So when old browser comes along and your app goes thermonuclear, not good. So polyfills, what do they do? So they support new standards and make them work in older browsers, right? So polyfills stands for polymorphic backfilling, which is even more scary sounding, but no, it's a very simple concept. It's just a library, right? It's just typically a JavaScript library that provides support for HTML5, for example, Canvas. Maybe, you know, I'm running on an old version of IE or Firefox or, I don't know, 3D version of Chrome did not ask for Canvas. And in that case, you want to provide support for that API in your app, right? So you can use a polyfill library for that. Some of the things you need to remember are, you know, equivalent fidelity is not guaranteed. So if the native implementation might work in a certain way, polyfill might not give you the exact same experience. For example, typically, all these polyfills provide support for all these features using plugins, right? They might use Flash or they might use Silverlight to provide that equivalent functionality. And that means that the user has to implement, I mean, install that plugin. Or maybe they don't have the correct version of the plugin. And it's a whole can of worms. That's why the world is actually kind of moving away from plugins, right? The plugin is on their platforms, at least on their iOS platforms, right? You can't have Flash on Windows 8. You'll find that, you know, on the Metro side of things, the Metro version of Internet Explorer does not support Flash, does not support Silverlight, just, you know, HTML, that's it. So the reason is, you know, it's just not a good user experience. It does not have the plugin information, but it's not the correct version of the plugin. You know, that's the main point, right? So that's something you have to remember about polyfills. You get to use and leverage new specs without losing, you know, an entire chunk of user base who are not on the correct version of the browser. An equivalent kind of concept is a shim. A shim is basically just a regular library. It's different from a polyfill in that a polyfill typically will implement a W3C standard. For example, it will implement the Canvas API. It will implement the geolocation API. That's called a polyfill. A shim is basically a library, just a regular library. I think fancy. Typically what these libraries will do is they will be an abstraction on top of some functionality that is provided by the HTML5 specification. For example, there is this library called as AtlifyStore, which is basically an API that has been built on top of all the available client-side storage technologies. Starting with cookies, right? Cookies, down storage, index DB, maybe storage through local storage through flash or simple light. AtlifyStore is a high-level library which you can use to get the ability to store data on the client-side. Its implementation takes care of using the most appropriate technology. Whatever is available. On modern browser, it might use index DB. On older browser, it might use cookies. I know. That's called as a shim. Just some terminologies. The folks who build Modernizer, the library, they maintain a gigantic list of polyfills in the exact location. You can just go to bit.ly slash polyfills. I don't know if the network works here. So, this is basically the page. They have classified it based on the technology area. SVG, Canvas, Edge Storage, and so on and so forth. There's a big list of polyfills that are available. Very useful list. But just like, any open source library that you might use in your applications, remember that you'll probably have to vet the code. Some days it's written it.  You'll have to vet the code and make sure that it works for you. And you may have to support it in the future as well. But otherwise, that's a good... That's one way that you can deal with this whole browser fragmentation problem. So, one thing I'm going to show you with this is I put together a little lab here. So, basically this is a HTML5 doodler. So, this little gray area that you see is basically a canvas where I can go and draw stuff. So, I can just do that. And this is not any plugin or anything. So, I'm not using flares or anything. So, that's great. So, this is working well. But then I'm going to IE 10 here. So, what happens if I go and go into Internet Explorer 5 works mode? So, basically now I'm simulating IE 5. Definitely, it does not support Canvas. But, you can see that I'm still able to draw. So, how does this work? The only thing is, if I click this is actually using Silverlight. But to the end user, there is no difference. Whether I'm using IE 9, IE 10, Firefox, Chrome, IE 5, IE 6, I can get the same experience. So, how is this enabled? So, in this particular app I used a Canvas polyfilm that I got from WeDoc that I downloaded a polyfilm for Canvas. And I implemented it. So, very briefly if you want to see the code, how it figures out stuff. So, I actually used modernizer for this. So, this is slightly non-trivial here. So, for example, you know code like this. So, here what I do is, if modernizer.cambus is true, which means it's available, then I do something. And otherwise, I basically enable the markup if you see and have both. So, right down here, I have the Canvas tag here which is where the rendering happens. And right below that, I have an object tag here to instantiate my Silverlight plugin. And then a little bit of script up here figures out which will be displayed. It checks whether Canvas is available. Canvas is available is great. If it's not available, then it use that. Now, the nice thing about using a polyfilm is that the code that actually does the drawing. So, for example, this is the script which is slightly a bit of stuff here. But let me just show you the core code that draws lines. So, this is the function that actually is drawing those students. So, here you can see that all we are doing is there is this. This is basically the Canvas API. I set the line color. I do a begin path and then I do move to line 2 and then I do a stroke. So, this is the API. This is the basic Canvas API. Now, the nice thing is, regardless of what I am using, whether I am using the Silverlight plugin or whether I am using the regular native Canvas limitation, this code doesn't change for me. So, this is a very simple implementation but take a case where I am doing lots of complex stuff. If I had to use different APIs and different bold paths, that just exponentially increases your test area, test surface and it just gets more complicated. Whereas here I just write this code once and it just works everywhere. So, that is what polyfills give you. So, obviously there will be a little bit of hookup code elsewhere. So, for example, when I So, basically here in draw line I use this.dc. So, that this.dc will get conditionally initialized depending on whether support for Canvas is there or not. That should be happening somewhere here. So, you can see that written little wrapper around all that. So, there is get Canvas here. So, if modernizer or Canvas exists, then I simply get the Canvas object and return that object. If Canvas is not supported, then I basically go and I am doing a return check here that is not required. If Canvas is not supported, I simply get a reference to the Silverlight instance and return that. The nice thing is that is all. So, this is the only piece of code where I am doing some feature detection and doing some you know, some alternate code paths that exist. The rest of my logic completely does not change. So, that is the idea behind using polygons. So, you know, you automatically get Silverlight. But obviously here this is a good path. This is a happy path. If you use that did not have Silverlight obviously you will have computations. All right. So, with that I am kind of kind of done. How much time do we have? We have about 10 minutes I suppose. We have about 10 minutes. I am sorry, I said 8 minutes in this. All right. So, another example that I want to talk about was about HTML5 video. We can either do that or if you have questions we can talk about that. Yes. Use polyfill. Use polyfill. Do you need to use a modernizer as well? Do you need to what? Sorry. Modernizer as well? Modernizer. No, modernizer is... I guess the polyfill needs to take care of modernizer code as well. In the code it is written... Just push it up. Okay. What I think is if you use polyfill polyfill I will be intent to take the modernizer code as well, I guess. Because that or we need to express this because we import modernizer and look at the code stuff. Do you see that? Well, see, the polyfill libraries are just open source, voluntary, different people are putting it together. Somebody says if I want to support, we can't do this. But also they just put it together. So, modernizer is a completely separate initiative. I think somebody from Google is the person who is on GitHub. We can look at the modernizer source and everything. So, that's a completely different initiative. So, we can use modernizer to feature it as well. So, you know, we might... We might have a preference for one particular implementation of Canvas. Here I use a flash-based one. And so on and so forth. So, those are... The thing I'm guessing is that if you support the Canvas, what will you take care of in both Canvas? What will you take care of in both Canvas? Depends on the API. So, for example, let's say you are using geolocation. Whereas, something with Canvas, it's slightly different. So, in my case, I have to put a Canvas tag and a silverlight tag there. Depends on the polyfill in question. There might be a polyfill which provides a better interface where I can kind of abstract away whether I'm using a polyfill or not. There might be other polyfills which don't. Questions. So, we'll probably talk about video. The only reason I didn't kind of want to talk about video is it's not very... It's not here with JavaScript. So far, what we saw... Look at JavaScript APIs, which are JavaScript HTML5 APIs for which we have polyfills that you can use and modernize your life with a feature detection and whatnot. HTML5 video is another HTML5 feature, right? So, now you don't need plugins to play video in your applications. Do you have a question? Yes. Can you use the mic please? There should be one there. Can you talk a little bit on the JavaScript platform that Windows is going to provide on Windows 8? Uh... On IE 10, you mean? Yeah. Because what kind of platform is going to be? As in, there are things specific they want to know, it's going to be a completely ES5 compliant... JavaScript engine. JavaScript engine, yes. Uh, Lambda. Sorry? Do you have a DAW or something? IE 9 has... IE 9's... In fact, IE 9's ES5 implementation is one of the most standard compliant implementations ever. You? Sorry? No. No. Never. So what you can do is you can go to ES5, HTML5, there is a test suite for it. Go ahead and run it on all the browsers. IE 9 already has support for ES5. I don't know what new things are coming in the IE 10. Probably performance improvements. I don't know. On the same thread, Windows 8 and I started using the DOM object structure seems to be very different. For example, when it tried to use in and out machine, the styles weren't applying. Sorry? The styles weren't applying to the document object model. So, Windows 8 document object model is different from that of IE 9. No, I mean, it seems to me when I tried to use it to me that as it's compliant, it's not interpreted JavaScript which happens in a regular IE 9. IE 9 is not interpreted either. So, from IE 9 onwards, the JavaScript engine is a different architecture. Up until IE 8, it's purely interpreter-based JavaScript front-line. With IE 9 onwards, it has a dual code path. So, basically, there is this little instrumentation that happens as your application is running where it tries to identify odd paths in your JavaScript code. Hotpots are basically sequences of script which are getting executed often frequently and so on. And those pieces of script get compiled into native and then once they get compiled, they run as native code. So, it's like hybrid of what Chrome does and what Firefox does. As far as DOM interrupts, the goal is for it to be as compliant with the W3CHTML5 standards as it can be. So, if you're seeing a certain behavior, it sounded more like a tight-ended kind of compilation into an object you see rather than a native JavaScript which modified DOM. What makes you say that? Because I wasn't able to get the same behavior which I would have done while trying to use an IL-9 which modified the document of the object and it happened that we started using Windows. I don't know, the particular use case we're talking about, we can probably discuss that offline. But the basic interface and everything remains exactly the same. If anything, IE10 is going to be supporting even more of the HTML5 standards, support for web sockets and index team. More of what was not there in IE10 Do we have time to talk about video? Let's see. It's 12.30. Yeah, we have time, about 10 minutes. Alright, so with W3CHTML5 video was probably one of the most visible in W3CHTML5 with the new spec. So that's typically how you did video before. You use plugins, that was pretty much the only option you use. So this is the new way of doing it with HTML5. It's much cleaner and it's natively supported. So all that goodness comes basically it's a video tag. It's set up a source and then it starts playing. Unfortunately it's not as ideal as it could have been. There is the codec stop story. This was a great opportunity for creating a standard which everybody implemented. So what is the reality? The reality is there are different codecs. The codecs are basically the piece of code that decode and encode video or any kind of media. So obviously when we're talking about browsers, we're talking about decoding. Different people have different ideas about which are the correct codecs to support. That's the issue. There is no standard. Or there are too many standards. There was this funny XKCD cartoon that I saw some time back. So somebody says for this particular piece of technology we have all these technologies. There is no uniformity. There is no standard. So I'm going to create a new one which is going to make up this one. And that becomes the next item. So that's essentially what happened here also. So you have IE5, Fox and so on. So this is basically a matrix that talks about what is the codec support. So there are three main codecs. So we have Theora in the all container. You have H264 video codecs in MP4 and you have WVM. So basically the situation is at least for the IE, Firefox and Chrome. Chrome supports Theora and WVM. Safari supports H264. IE supports H264 and kind of supports WVM. Firefox supports Theora and WVM. Just like our browser fragmentation story no clear winner. The story between IE and Chrome is a little funny. So see here in this diagram it says H264 is a dot. I mean it's not supported but just not quite true. What happened was basically Microsoft and Apple they think H264 is the way to go. Chrome believes WVM is the way to go. They are worried about royalty issues with H264. Safari obviously you know Theora is completely free and so is royalty. No incumbrance with royalties. So the funny thing is IE supports WVM. So IE is not going to ship with support for WVM. But Google has put together a codec for IE. So if that codec is installed on the machine then IE will play HTML5 video which uses WVM encoded video. And the funny thing was they threatened not to support H264. So far they have not actually done it. They have not removed support for H264 yet. So for that Microsoft has put together a hidden for Google Chrome. So if that is installed H264 will work there. But you know what that's not an ideal situation right. The whole idea of HTML5 is to move away from plugins move away from having to install stuff on the client side. But the video that's unfortunately not the case. So what does that mean for us right. If you want to put video content on even. And yeah I didn't even talk about the mobile side of things. Mobile side of things is slightly better. In general. But here also you can see that there are differences. So IE9 the same matrix you will see on the Windows phone side as well. Android and iOS both have support for H264 so maybe it's slightly better there. So that's what we have to do. We have to support everybody right. So fortunately the HTML5 tags is kind of you know I think they had that people far view to support this. So you can do this. You can have a video tag and have multiple source tags each one a different encoding and the browser will just pick whatever is the one that it supports. Right. But what about old browsers right. What about IE6 and 8. They don't support video tag. So you can fall back to Silverlight or Flash. So this is kind of funny like how many levels of fallback we have here right. We have video tag but then the encoding might not be supported. So we have to fall back to that with multiple encoding but then video tag might not be supported. So we go to flash and you know what you can go even more. Maybe the flash is not supported. So you do Silverlight. Maybe Silverlight is not supported. Now you can put some text there. As the fallback you can go for object tag also. You can say you know go get a better browser. You can put that message there. So let me show you what that looks like. So you know here is a simple video over. So this little waterfall it plays the waterfall. Very pretty. Let's open that here and see what that looks like. So very simple right. So I have not used the source tag if you have just one video you can put it as an attribute to the video tag as well. So it just takes it and plays it. So let's see what happens if I take that and load it in Firefox. So this is Firefox. I don't know what version I have. See now I don't know what file. Okay 10. So 10 definitely supports video right. Firefox supports video tag for a very long time. But it's not able to play it. Why does not they have to play because it's an empty code. It's an H.264 encoded video. So let's try opening video 2.html here. And obviously it's able to play here. So what is video 2? Let's take a look at video 2. So it's essentially what I showed in the slide. So I have both now. So I have MP4 as well as OGB on video. And it's able to play both of them just fine. Now let's go back to IE here and go to quirks mode and you can see that that doesn't look like a video to me. So let's open this. So right now I'm still in quirks mode. It's in IE 5. And you can see that it's able to play. And if I switch to standards mode again that also plays. So what is the black magic here? So we have video. We have multiple sources for supporting Firefox and IE and then we have object tag for don't be worried about that. I just happened to use a very complicated video player. But there are simpler ones out there. So that's the situation with video as far as supporting all the different browsers are concerned. So there's some hope you have some idea about what it takes to support different browsers for all in modern HTML5 APIs. So that's my blog, email, Twitter can get in touch with me through those. Here are some books that I thought are really really nice. HTML5 web designers is in particular a really nice book. You know what's the nicest thing about that book? It's only 80 pages. Very small. So you can read it in one evening. But then it's a nice book because it really gives you a good picture of what is the hype around this technology. What can you do to start using these today? Even the same thing with the CSS3 web designer what I really like about that book is it talks about CSS3 and CSS3 can be used today and gives you some disadvantages around that. Because ultimately your client want you to support everybody. So you know what, I read a little blog post recently. So you go and ask your client do you want this app to support IE6 or IE7? What do you think the client will tell you? Yes, of course it has to support IE6. You know what you should do in response? You should add one more item to your bill support for IE6 IE7. Seriously, because that's what it takes, right? So putting a ten year old browser is going to take a lot of effort from your side. Right? Transmit that cost to that client. So that will be a little motivation for people to upgrade, to get their user base to upgrade. So actually I thought that was a pretty good idea. Yes. So that's going to happen. So from the subsequent Windows update all users of IE6 are going to depending on your operating system XP users are going to go to IE8 Windows system up are going to go to 9 Windows 7 whenever IE10 comes out then it's going to upgrade to 10 and so on and so forth. So maybe a couple of years around the line this will be less of an issue hopefully so we can all go into other things better things. So that's it and done my session I think we still have No time. No time.


The Roman Empire ruled Britain for centuries, starting around 43 A.D. and not leaving until 410 A.D., but it wasn't all smooth running. In 60 A.D., Boudicca, the Celtic Queen of the Ancieni tribe, which was around the Norfolk region, obviously in England today, rebelled against Roman rule, killing tens of thousands of Romans in the process. But why did Boudicca rebel, and how close was she to victory? Initially, things were very different for Boudicca. Boudicca's husband, Prasatagus, ruled the Ancieni tribe as King of the Ancieni tribe as an independent nominal ally of Rome. The Ancieni tribe themselves had previously rebelled against Roman occupation in around 47 A.D., but this rebellion was suppressed, and the Ancieni tribe were allowed to keep their independence to some degree anyway after the rebellion was suppressed. The problem arose when Prasatagus died. In his will, he had left or he wanted to leave half of his kingdom to his daughters and the other half to the Roman Emperor. When he actually died, however, Rome ignored the wishes of the will and seized his lands and his property. Boudicca, his wife, was dragged through the streets and abused. His daughters were raped. This abuse of Boudicca and her daughters is one reason often cited for why Boudicca snapped and rebelled against Rome. Other factors were at play, however. Other sources point to more financial incentives for many of the Ancieni tribe and the surrounding tribes in eastern Britain to rebel against Roman rule. The Roman historian Cassius Dio, for instance, points to a few financial reasons. Firstly, the Roman philosopher Seneca was said to have recalled loans he had previously made to some of the Britons. Secondly, he argues that a Roman official, Decianus Catus, had confiscated money that was previously loaned to certain Britons under the Emperor Claudius. Tacitus, the historian, argues that one main reason for why Boudicca revolted against the Roman Empire was due to the rapacity of Catus. As is usually the case, various factors compounded to cause Boudicca to rebel and to have the wider support from other Celtic Britons to rebel. Boudicca launched a rebellion in East Anglia. Along with her Ancieni tribe, Boudicca capitalised on other Celtic Britons who had been aggrieved by the Romans. The neighbouring tribe of the Trinvantes soon joined Boudicca and the Ancieni tribe, along with numerous other groups, and rebellion against the Roman Eagle. The timing of the rebellion was perfect. The Roman Governor of Britain, Gaius Setonius Paulinus, was away on campaign in modern Wales, and the island of Mola, modern-day Anglesey, slaughtering Druids, with many of his forces with him. The Celtic Queen capitalised on Setonius being far away in Wales, and Sat Camillodonum, the modern-day Colchester, overpowering the Roman force that was stationed there. The inhabitants of Camillodonum appealed to Catus for assistance, who only managed to send 200 men. They made little difference to the outcome. Boudicca's forces tore through the town and set fire to the temple of Claudius. Emboldened, Boudicca and their force did not stop there. They quickly moved on to sack Londinium, modern-day London. Setonius, who had heard word about the sacking of Camillodonum, had made his way back to Londinium in order to try and head off Boudicca. Setonius' force, however, was light, and he did not manage to have any notable impact on Boudicca. He had to flee, and Boudicca's forces set fire to large parts of Londinium. Across this campaign, Boudicca's forces are said to have killed anywhere between 70 and 80,000 Romans, torturing many with a lot of brutality used on both sides, as was the case with Mothwars around that period of time. This rebellion, however, did not just strike fear into those stationed, those Romans stationed in Britain. The Roman Emperor Nero was said to have even considered withdrawing his entire force from Britain because of Boudicca's revolt. Setonius managed to regroup and reorganise his forces, however. They met Boudicca's forces at a decisive battle known as the Battle of Waitling Street. The Romans, however, tore through the poor armed Celtic Britons, who, unfortunately, had actually taken many women and children in wagons to accompany them to battle. The Romans showed no mercy, and in an estimated 80,000, men, women and children, were slaughtered by the Romans. In comparison, on the Roman side, losses were said to have only been around 400, although these figures, as always, as history is written by the victors, were made or estimated by Roman sources. So exactly how accurate they are is obviously up for debate. What is not up for debate, however, is the Boudicca's revolt in an army was decisively defeated, and Boudicca's revolt was suppressed once and for all. The battle pretty much ended any resistance to the Roman rule in southern Britain for hundreds of years, and Rome ruled Britain until around 410 AD. Boudicca did escape the battlefield on that day. She either killed herself shortly after, or died of illness shortly after, depending on the source. Irrespective of this, Boudicca's revolt was well and truly suppressed, and Rome was in complete control of the ancient tribe. Her revolt, however, has lived on for centuries in millennia, a David versus Goliath story, and it was somewhat resurrected during the English Renaissance of around the 16th, 17th century. The revolt itself was obviously significant enough to cause worry all the way up the ranks of the Roman Empire, all the way up to the emperor himself, Nero, who apparently did consider withdrawing all his Roman troops from Britain due to Boudicca's revolt at one point. Obviously Rome re-established control and was in control for hundreds of years after that point, but Boudicca's revolt is quite incredible in and of itself. But please let me know your thoughts in the comments below. Please also subscribe to Celtic History Decoded and tell your friends and family about this channel. Please also share this work on social media, any blogs you have, and feel free to use this work to comment on, to clip up for your own works, if you yourself have a channel, or write a blog, or whatever. You can also support this work through Patreon, buyingmeacoffee.com, or make donations through PayPal. Thanks again for watching and I'll see you next time.


So you might have noticed on yesterday's video that over the weekend we made a trade that returned 70% profits on our money while Bitcoin's price only made a 7% move. So you probably wondered how in the world did he just make 70% profit on a 7% move. Although this may not be new to all of you, I know it's new to a lot of you. This all comes down to leveraging your capital. In this video, we will cover exactly how it is that I trade with leverage and how you can too. Stay tuned. Hey, what's up Jay here and welcome to Bitcoin Daily bringing you guys the best tips, tutorials and trade ideas to help you guys become profitable and successful traders. The goal of this channel is to empower you guys with the resources and knowledge to take you to the next level. So make sure to like, subscribe and hit that notification bell. Share this video as we continue to spread the mass adoption of not only cryptocurrencies but just investing and making money overall. So first of all, let's start this video off with a disclaimer. Trading Bitcoin on its own is already very risky. Remember that 80% of traders who actually trade the markets daily do not make money. So when you add leverage on top of this, it becomes that more dangerous. Make sure that you understand these risks and how to manage them before you risk your own money. I only recommend crypto trading to experienced traders. Nothing here is financial advice. This is just for educational purposes only. All right, now that we got that out the way, let's jump right in. So what is leverage and how does it work? So leverage trading is a powerful tool for traders. It helps investors maximize their returns even on the smallest of changes. It can help you grow your capital exponentially and increase your exposure to the market. But the same way that leverage can work for you, it can work against you. While you stand to gain magnified profits when the market goes your way, you also suffer amplified losses if the trade goes against you.   So this is why I do not recommend beginners to use leverage when they're trading. So when you are trading with leverage, you put a small amount down, but you get to control a much larger position. The small amount is what's referred to as margin or collateral. The amount of leverage that a broker offers depends on the platform itself. Traders use leverage depending on their skill level, investing goals and their appetite for risk. In most cases, it's professional traders who tend to use leverage more aggressively while everyone else is usually recommended to use it very cautiously. So let's dig a little deeper. What is leverage trading? Sometimes referred to as margin trading, leverage trading involves borrowing funds to amplify potential returns when buying and selling cryptocurrency or any other asset, for that matter. When you leverage trade, you can access increased buying power and may open positions that are much larger than your actual account balance. For example, if you have an account balance of five Bitcoin and you want to place a trade with leverage of 10 to one, you can open a position worth 50 Bitcoin. This means that if the market moves in your favor, you'll be able to access 10 times the profits. However, it also has the same effect of magnifying losses when the market moves against you. Margin trading is risky, speculative and complicated. So it's not suited to beginners and is best left to experience traders. So how exactly does it work? When you open a position, a portion of your account balance is held as collateral for the funds you borrow from the exchange. If your trade is successful and you close the position at a profit, your collateral is returned to you along with those profits minus any fees. However, if the market moves against you and you're in a loss, your trade will automatically be closed and your collateral liquidated when the market reaches a certain price. This is known as a liquidation price. All right, so we're going to go over an example of going long with 10X leverage. Note why your profit can exceed 100% losses are limited to 100% of the margin requirement. So in this scenario, the entry price is $11,670. The margin, so the money that you're putting up is $1,167. So because we're using the 10X leverage, we have access to 10 times what our margin is. And then the long liquidation price is $10,503. So what does that mean? That means if your entry goes all the way down to $10,503, you are automatically out of the trade, right? So you've lost your $1,167 and it's gone. So that's why anytime you're trading, especially with leverage, you want to use stop losses. You want to manage your risk. It is vital to your profitability. It is vital to your success and it's vital to your education. So if your entry was $11,670 and you have an increase of 5% on the price, right? So if it increases from $11,670 up to $12,254, you just made a 50% return, right? Because you're using 10X on a 5% move, that's 5 times 10 equals 50%, right? So a 50% return on your margin funds is $584, okay? Hopefully that makes sense. Let's do it at 10%, right? So if you enter $11,670 and the price jumps up to $12,837, that is a 10% move, right? Now because we're using 10X leverage, it's 10 times 10X leverage equals 100%, right? So on this move, because it went up 10% and because you had 10X leverage, you just made 100% profit on your money, which was what's margins, right? So you made exactly what you were risking, which is $1,167. But now the thing is, it works both ways. So if you lose 5%, you're really losing 50% of your money. If the price moves down 10%, you lose 100% of your money and that's when it's gone. That's it. So at that 100% mark, you're liquidated. Your position is automatically closed. But when you're in profit, you can go beyond that price, that 100% mark. So the platform that I currently use to trade with leverage is Bybit. If you guys look here on the screen, you can see that they're currently giving away $620 in bonuses. The bonus depends on the deposit that you make. So if you make 0.01 BTC, you get 15 and it goes up to $1.5 BTC deposit. You get up to $500 in bonuses. So you get the $500 plus you'll get a $20 coupon and you can get over $100 in bonuses in the rewards club, which all equals to $620. Make sure to use this code jackpot. Make sure to click the link in our description and I'm also going to pin it in the comments for you guys. So now let's go ahead and look at a real time scenario. So we're going to look at this position. So this is one of the long term positions that I entered on one of my example accounts. Basically when there was a dip to 30, I had an order automatically set around 30,500 ish around there, something like that. And that ended up triggering. And if you look, I actually have an active order here at 30,000. So I think I had orders down to 30,000 and these triggered automatically. So I had another one here. So what I did is I set basically 5,000 each order, right? So 5,000 if I'm using in this particular scenario, I'm using 10x leverage. So for 5,000, that means I'm risking for $500, 500 times 10 is 5,000. So for each order, I was risking $500. So I ended up, two of my entries ended up hitting here. And so I'm basically risking 10,000, it ends up being $1,117 that I currently have margin. So why is it more than the 10,000? So 10,000 would be 1,000, right? But because the value of Bitcoin has gone up 10%, I gained 10% on my money, which was $1,000. I gained 10% because of the value of Bitcoin itself going up, right? So that gives me, I made basically 100 bucks here, right? And then I made the profits times 10, right? So Bitcoin moved 10%. In this case, it's a little bit less right now. But let's just say 10% to keep the math simple with the 10% move on Bitcoin times the 10x leverage that I had in this position. As you guys can see, it shows it right here, 10x leverage, that equals to 1,000, whatever the number is right now, it's going crazy right now, it's going up and down. So it's going to be, but let's just say 1,050, 1,100, whatever it may be. So that's why the math works out like that. As you guys can see, my liquidation price is at 29,917, but remember that I set up an order at 30. So what happens if the price were to go down to that point, my order at 30,000 would trigger and would push this liquidation price down. Now, this is called, this is a different type of strategy. This is called dollar cost averaging. And basically, I'm trying to dollar cost average on this account on these dips, right? So I'm just using this account just to do these dips and then to make a few thousand on the way back up and I'll close the trade and then I'll do it again. So now let's look at the same example, but now this is Ethereum, right? So on Ethereum, I basically did the same thing, except I have 5x leverage on this position instead of the 10x leverage. So my liquidation price you can see is all the way down to $7,885. So that's very, very far away. My entry price is $926. So I bought during that dip. So you can see I have 10,000 open with 5x leverage. That means that my risk money is $2,000. So it shows that here where it says position margin, right? Now it shows more than $2,000 because remember, the $2,000 that I risked was at $926. The price is currently now at $13,82. So the value of that position has gone up, which is now is worth $2,836. And then here you can see in the unrealized P&L, right? So you guys can see here that my percentage is 173% in profit, right? Which is equal to about three and a half Ethereum's or about $5,000, right?  So because Ethereum has gone up 35% since the time I entered the trade, then you grab that 35 and you multiply it times 5, which is the amount of leverage that I'm using on this position. And that's how you come up with 173% profit. That's pretty much it guys. Just wanted to touch on the basics and try to keep everything as simple as possible for you guys. Hopefully I was able to get that point across in the simplest way possible. If you guys enjoyed this video, man, go ahead and hit that subscribe button. Make sure to hit the like on this video and share it with your friends and family.  We finally, finally hit the point where we could apply for monetization with YouTube. So I want to thank you guys. I appreciate you guys more than you know. I love you guys and I love this community. As you guys can see, I'm trying to make videos based on the type of stuff you guys want to see. So if you guys have anything that you want me to make, go ahead and drop a comment with that and I'll make sure to add it to my list of topics. I will see you guys tomorrow as always. Peace and love.


and Happy New Year. I'm Mark Schwab, the host of Think Tech Hawaii's Law Across the Sea program. Today we're going to cross the sea to Maui, the valley isle, to meet Shannon Sheldon. Shannon is a partner in the law firm of McKeon Sheldon Mailing, which is located in Wailuku, Maui. As the new Hawaii State Bar Association President, Shannon is leading Hawaii lawyers into 2022. I've asked Shannon to talk about her background and her views of Hawaii and current events. Welcome, Shannon. It's good to see you. Thank you. Great to see you, Mark. And thank you to you and Think Tech for doing this. Okay, I want to get right into it. Let's pretend that we are meeting for the first time, and actually today is our first even virtual meeting, but at an HSBA event, and how would you introduce yourself to me? I mean, who is Shannon Sheldon?  Well, my 32nd elevator speech would be, hi, I'm Shannon Sheldon. I'm the current President of the Hawaii State Bar. I'm an attorney. I'm a practices condominium and community association law on Maui. But as we got to talking, especially if there was glass of wine involved, I'd probably tell you that I'm a 45-year-old woman from originally from Los Angeles, California, more specifically Pasadena, California, and proud mother, single mother, actually, of two daughters. I'm Jewish and I currently live up country in Maui. That's my that's my personal life. Okay, well, that's that is a lot in a short time. Thank you. That's a good good description, good, good to get to know you. Good to learn about you.   And you came from the mainland to Hawaii. And what what attracted you to come and live in Hawaii in the first place? And what do you like about living and working in Hawaii? I assume you do. And that's why you're calling it your home. Yes, I've been here for 17 years, two years on Oahu and the remainder on Maui. I feel really lucky as a kid, I got to come to Oahu first, and then Maui with my grandparents, two different sets of grandparents. And as a kid, when you see that fire dancer and holo show for the first time, and you've had Shea Vice, you in the parents at the international marketplace, I mean, you fall in love with Hawaii. So that's, of course, the superficial aspect of it. But as you live in Hawaii, you realize that it's you're really lucky to be here. And it's the people that make these islands special. In California, I could not call the county and get a live person. Here I can call now I can call, you know, planning department, not only get a live person, but chances are I know them, or I know they're anti, right. And so that to me is the beauty of living in the islands is that it is a small population for those who live here. And it's friendlier and people are nicer in general. So that is primarily why I love living in Hawaii. And so that attracted you to Hawaii, those human elements. And and but but you also made the decision, I mean, you don't just come here for vacation, you live here, and you work here. And there, you know, a lot of kids, a lot of local Hawaii kids leave Hawaii. And so I mean, what, what's the difference there? What what kept you in Hawaii to work? And I know you've also worked and lived in many other locations. California, South Carolina, I believe, is that correct? You're close, North Carolina, North Carolina. Okay. And and and so you lived in different locations, but you ultimately chose Hawaii. And then I'll get into Maui in a bit. But I mean, what kept you or brought you and kept you working here, when so many of our local kids leave? And what is there something that we can learn about that that will help keep local kids here? Yeah, that's a great question. So I one of my personal agendas as the bar president is to try to fight what I've called or people call the brain drain, right, of local kids moving to the mainland, getting jobs there that do tend to pay more, you know, depending on where you live. And we lose some of our brightest and most successful students in the mainland. I personally, you know, was as a first year attorney probably making double or three times of what I made as a 10 year attorney here in Hawaii, right? So I understand why people move because it's a financial choice. But really, the financial cannot replace the values and the opportunities that you get living in Hawaii. Specifically, if I was on the mainland, if I was in California, I'm one of hundreds of thousands of attorneys, the chances of me ever being able to become bar president were probably zero to none, no matter how achieved and involved I was. Because there is just this rat race that occurs, you know, in California or other states that you don't get here, here in Hawaii, you are rewarded, I think on good before good work for working hard, you know, and it's not always about who you know, but the people you do know, you get to establish these mentors that will really help build you and carry you through your practice. I think the number one reason why anyone should want to work in Hawaii is because you can achieve and practice law in any field you really want to. If you want to be, you know, be public defender, you have an opportunity.  You can, you can achieve that being here. And so I think that is the biggest draw for me is that it just provided a lot of opportunity and and again the people, the mentors I've established along the way have been, have been wonderful. And do you try to communicate that to young kids? Is that, is that what you're trying to do? Sorry, go ahead. You're talking about humanity in a way, something that's even greater than monetary reward, if you will, although money's important. I, I, you know, money's good, but I can see that your focus is on something else. Yes, there is, I don't think you can put a price on human connections and you, and you can't put a price on being able to work in a field that you love or that you desire or getting to choose your opportunities. And that's, that is what Hawaii presents, I think for our students. I did teach business law and international business law at the Mount UH Maui. And I would, I would encourage the students go to law school if you can stay in Hawaii. Unfortunately, the practical situation is we have one law school in Hawaii, it's on Oahu and there is no remote possibilities on any other islands. So if you do want to go to law school here, you, you have to move to Oahu. That's a barrier, unfortunately, to some of our brightest students on the neighbor island that I would like to help try to fix. Okay. And, you know, you've talked about a couple of things here. You practice law on Oahu, I know, and you also have moved, but you moved to Maui and you set up a firm in Maui. You know, what, why did you do that? You know, we all know that most of the lawyers in Hawaii are on Oahu. Most, although we practice on it on various islands also from Oahu, but you chose Maui. What, my Maui nuka oi? Is that, is that the message? Am I allowed to say that? Well, I love Oahu. I'm not one of the neighbor islanders that go to Oahu and are disgusted with the traffic. I'm originally from LA, so the traffic, you know, doesn't bother me. I love the food on Oahu. And when I, I was practicing in California as a patent attorney, and I applied for a firm which actually had an office on Oahu as well. It was Paul Johnson Park and Niles, and they had the Maui office and I had the opportunity to go to either. I purposely selected Maui mostly because I'm an adventure junkie and I like new things. And I had not lived on Maui. I'd already lived on Oahu. I really connected with, who is now my partner, Bill McKeon. He's from the same area that I practice now, another attorney named Dennis Niles, also from California. And I liked the smaller town feel of Maui. When I first interviewed, I took a walk into Wailuku town. It's old, it's historic. It's a little rundown, but it just has this gorgeous nostalgic old Hawaii feel, especially when you look up into the valley and you see Eow. And that was it. That's, that walk sold me and actually determined my fate. And then I feel lucky that I have practiced on Maui because it's a small, a small bar. I feel like I know almost every attorney on Maui. I know the judges and it's, it's a really wonderful place to practice law. And you know, okay. So, but you still want it to be the president of the bar. Why did you want to become president of Hawaii State Bar? And you, I mean, you must have known that it must be a little harder from someone from Maui to get to that role because mostly Oahu lawyers fill the bar presidency. What, what, what, what motivated you? I am big on community service and giving back as cheesy as that may sound. I was a recipient of the opportunity to do what's called the leadership institute program. And I think maybe you've, you've heard of that. It's, it's set up by the bar. It's eligible. I think attorneys that have been practicing three to 11 years are eligible and I, you go and you meet with, you know, judges and leaders of Hawaii and you get to ask them questions. And it's a really valuable program. And I really wanted to give back to the bar for that program. I also wanted to give back to the bar because I did, you know, a semester abroad at UH Manoa, you know, at William S. Richardson Law School and I met so many amazing attorneys playing in the et table, both on the bruiser side and the etay side. And I, I really felt like these, a lot of these attorneys, especially the professors like Denise Antolini, Casey Jarman, John Van Dyke, they took me under their wing. They really developed me as a law student. And I always feel like there is that gratitude and debt to pay to our bar for those who really helped me in Hawaii.  It was a semester. I also noticed that as an undergraduate, you spent a year in New Zealand. Is that right? Yes. And then need in on the South Island.  Why did you go to a foreign country and for a year? What was that about? Well, I, so I was an environmental biology major. I wasn't your typical pre-law student or criminal justice student. I really thought I was going to go into environmental law. And then the school I chose University of Otago had a great environmental law. Well, and I'm sorry, environmental biology program where we were in the field daily, you know, taking water samples and whatnot. And it was an incredible experience. I also at the time thought about, you know, eventually moving to New Zealand. It's a nuclear free country. I love islands. I got there. I was on the South Island. There were penguins. It I believe is the most southern university in the world. And it was, you know, four degrees. So needless to say, I wasn't going to stay in New Zealand, although it was an incredible experience. And it did help that they're English speaking and my foreign language skills are not very good. So that is also why I chose New Zealand. I see. Yeah. And was that international? I'm been involved in international law section of Hawaii Bar for quite a lot, number of years. Was that experience? How did you rate that? How was that? Was that good for you?  What do you feel about that? I remember being there and saying to myself, this is going to be the best year of your life. And it was like I knew it. It you the growth, especially at that age when you're in college, and you're so selfish in college, right? And it's all about you. You really don't have much in the way of responsibilities. You have a job, maybe, you know, and you've got you got to get through class, but you don't necessarily have a family or kids. You don't, you know, you get to really be spoiled. And then and then being in America, you don't realize how privileged we are until you go to a foreign country. And New Zealand, you know, it's a foreign country, but it's still, you know, there was no central heat. I mean, I slept every night in a beanie and gloves. And there it's not like you go into the grocery store and have hundreds of options of candy bars, right? So it's it was very valuable in realizing, you know, the world should not necessarily revolve around America and the United States. And that you've got to learn to adjust to other social situations, other people. And and then of course, just the adventure and traveling, I did a lot of traveling alone. And I went to Australia and Indonesia and Fiji while I was there.  You don't need all the luxuries that we have. And did you build relationships? Well, in with people in different countries that that way too. Absolutely. I still actually a couple of months ago, just talk to a friend of mine. Another friend of mine, she's she was at Earthjustice for a while. She became a lawyer as well. So so yes, I developed relationships. I also was a soccer player. So I played on their team on the Otago team. And I got to play in their Olympic trials, which was which was an incredible experience. And I'm still friends, you know, social media friends with some of those soccer players. That's very cool.  Why did you become a lawyer? Well, what changed? What, what, what road did you take? That was New Zealand's fault and the cold's fault. So we would be out there for hours in a pond or a lake collecting guffees or whatever the animal was. And then you'd sit for hours in a computer lab running statistics. And I realized maybe environmental file just not every it's not you're not out with Gwynon monkeys, you know, creating in jungles like they make it look like a National Geographic, right? So I remember the LSAT was being offered. I had a week before it, you know, I signed up. I didn't take a class. I didn't study. I don't recommend that. But and I might have been the first and only person ever to take the LSAT in Zenith in New Zealand. And so it was really more a backup plan. Although the seed had been implanted in my brain. My father is a patent attorney. I think he was thrilled to hear when I felt that. So that was the reason for the career switch. And then and then I went straight from college to law school and I've been an attorney for 20 years. Okay. And during that time, you worked for your dad. How was that? What was that like? Part of that time was with your dad. And then you went to other states. What what what was going on? So yeah, so I actually right out of law school, I worked for my dad's competitor. I took the patent bar as a patent attorney because like, you know, you don't want to work for your dad right away. So although, you know, and and then I did eventually go work for my dad, he is the best mentor I've ever had. You know, he's he's brilliant. He took the time. I'm really thankful for that experience. But because he is such a successful and achieved attorney in his own right, I didn't always want to be known as Jeff Sheldon's daughter. You know, I wanted to pave my own path. And so that was also part of the impetus of moving to to Maui and leaving his firm was to, you know, start my start my own practice, start my own career. And lo and behold, I still do a lot of trademark work. I hardly do any patent. I do some copyright. But really, my brother in butter is doing condominium association law, which I never in a million years would have done unless I probably moved to Hawaii. So it is and it's a very fitting practice for my personality. So it was it was a good move for me.  Now, what what would you tell a young lawyer that would make them a good lawyer? What what are what are the traits of a good lawyer from based on your experience and your adventures out there? What could what could you tell a young lawyer now? I think the first trait is compassion. We lose sight of that as attorneys, especially when we're trying to respond to hundreds of clients and thousands of emails. But if you have ever personally been in litigation, and I hope you haven't marked, but I have. It's horrible.  It's so stressful. And so I think compassion is one, the number one trait you need to have as an attorney, you have to try to step in their shoes and remember how it can feel with that type of stress and uncertainty. And with that compassion, then you're going to make good decisions on behalf of your client. You're not going to make decisions because you want to make more money, right? You're going to look for settlement or solutions and be solution oriented, as opposed to just spinning your wheels or fighting with opposing counsel. So to me, that is the number one trait. The number two trait I would say is communication skills. As attorneys, we are reading and writing and special emails all the time. You have to have strong communication skills. You have to be able to talk to someone in a manner that they understand what direction you're taking your case. And so the most useful class I ever took that my dad made me take actually, and I hated it at the time, because I wanted to take art, you know, or drama, but he made me take a speed reading in summer school. And I don't think they offered it anymore, but I wish they did. That was the most valuable class because I read hundreds of emails a day. So it's very useful. I really like that answer, you know, compassion and communication. That those are really, I mean, you could teach a class on that. Maybe you have, but that's that is really good advice. You know, and let me, let me ask you for some more advice. You know, in our American society right now, there's a lot of divisions and aggravated by lawsuits and, you know, legal actions and lawyers, and is, and that adds, of course, to the stress of the pandemic. Is there anything that lawyers and bar associations, especially now with your position, is there anything that can be done to help those divisions be healed or reduce the stress? That's an excellent question. And this is the one that actually keeps me up at night, because I think when you're in a leadership position, you are looking for solutions, you're looking to help our members, right? I think that the best way to deal with the political strife, you know, you didn't say that, but I think that might be what you're alluding to is for the bar to provide opportunities on both sides.  And we do as a bar. We are very open minded to allowing both sides of the coin to express their views. And where we have to be mindful as the members themselves need to be open minded. We, it doesn't, it doesn't help anyone when you're on the attack or when you're on the defensive necessarily. You, you don't have to agree, obviously, and we won't. But it's, it is respectful to give people their platform, let them say what they want to say, as long as it's not harassing, racist, sexist, you know, and, and let them have their say. And at the end of the day, if you don't agree, you don't agree, but do not attack. Because I think that is part of the division is when people are shutting down the other side, right? And people just sometimes want to be heard. We hear that with our clients, right? We hear that with the opposing opposing parties. They just want to be heard. And that's, you know, why mediations tend to be successful, because they're finally getting to be heard. So I think if we apply those same principles to our membership, we hopefully can mend some of some of the strife that has happened. More good advice. I appreciate that. That, that is also, I think, a trademark of a good lawyer, probably, too, is to allow people to say and talk. Yeah, I like that. Now, with respect to your beginning as the HSBA president, I guess you've had a couple days already, but what are your priorities for the year? What are you looking for? What do you want to develop as the president? Well, the priority for the last two years under both Greg Frey, which I don't know if you got to interview him and Levi, both who were excellent presidents. Every president that comes in has their personal agenda. And they, I'm sure, had their personal agenda. And unfortunately for them, whatever their agenda would have gotten thrown aside because of COVID. And we're dealing with all those hurdles that are being thrown at the HSBA. And I was hoping in 2022, I would get to not have to deal with that. But obviously, that's not the case with our numbers that are record high. So my agenda item, my priority will have to be and will be keeping our members safe, but connected during COVID. Our struggle for the HSBA right now is the last two years we have not been able to hold our annual dinner. And hence, that means less money. And what that means is less money for our programs that really need it, like YLD and our public outreach programs. So my second priority in addition to trying to keep our members safe is to raise funds in alternative ways. I think we're looking at doing a silent auction, whether or not we hold a bar dinner, but we'll do a silent auction, which will hopefully allow to raise funds to go to these programs. Okay, we have about a minute left. And in that minute, I want to ask you what have you learned over the past couple of years from all the things that have been going on about life and law? What what has affected you? What have you learned? I feel like we might have all learned that we've all heard this word pivot, right? Another word for that would be be flexible. You can plan all you want. It's just going to get thrown out the window.  You've always got to look at least I do. I try to always look for that silver lining, and there always tends to be one. And that's been my motto that's been getting me through the last couple of years. Okay, well, Shannon, as the new president, I'm very impressed and thankful that we have you to lead us into the new year. I appreciate you being my guest today, and look forward to what the future holds. Aloha. Aloha. Thank you, Mark. It was a pleasure.


TFNN headline news update Everyone Basel Chapman here Tiger Tiger technicians our host. This is a TFNN noon update And we've got the Dow up 257 and 26,186 26,241 Just 60 points higher that was the higher the 25th of February before pullback to 25,252 The MACD finally has turned up stochastic still just okay at 61% But price is priced and you can see the weekly chart finally is breaking this downtrend line. It's a good start But it really needs to close Above the 26,241 level this week That'll be a big positive start leg B in the weekly chart unbelievable a leg B That's one single leg higher from the low of the 26th of December at 21,007 12 There's been only one Lower high bar to make a peak a then of course it was a they've been one two three four This is the fifth week We'll see if we can go to be after the set was just a five week consolidation very narrow holding the 14 period exponential moving average S&P right now is also up the Daza point ninety six the S&P is up point 82 of 23 at 28 57 28 60 point thirty one was the last high today's high so far 28 60 point zero four Really good chance is going to make a new high the next day or so And that'll start legs see in the weekly a little bit further along in the Chapman wave notation Let's just quickly go to the queues the queues up point ninety eight and up one seventy seven at 181 point forty seven hasn't gone above the 182 83 high of the 21st of March we'll be watching that closely IWM is much weaker gold is down a little bit gold was down about two Now it's down three at 1295 the dollars continued. It's moved to the upside Where did we go? There it is the dollars up at 97 21 and needs to get to 97 97 72 to start a leg D in the weekly chart that'll be really positive He has this v-shaped formation got another day or two to go to get to that level Remarkable steadiness in the dollar Kudall is up sharply. I'll talk more about these when we get back Look about the dial. This would be the transportation index utilities, etc I'll be right back straight after this break Basilchap and signing off for the update and I hope you can stay for the show Tiger technicians are coming up in another two three minutes