Kemi-resistive sensors based on hybrid functional materials are promising candidates for gas sensing with high responsivity, good selectivity, fast response slash recovery, room working temperature, low cost, and easy to fabricate, for versatile applications. This progress report reviews the advantages and advances of these structures compared with the single constituent. This article was authored by Inying Jian, Wenwen Hu, Zhenhuanzhao, and others.


Ah hey! Well hello and welcome to day two of Vlun. It is Sunday and I'm just having a casual day. I do realize I am wearing blue. This is just one of those like lightweight sweatshirts that's not like fuzzy because it's like 60 something degrees outside.  He likes to prance around before we go. He goes all the way around the sofa and then he comes all the way back. He clearly doesn't like me documenting his process. So we're gonna go on a walk. I will um I'm gonna take you guys with me a little bit and uh show you our walk. I don't know. I've got like not much to do today. I am currently doing all the bedding laundry upstairs so I've got stuff in the dryer and then stuff in the wash as well so that's kind of what's going on here and then I will put the bed back together. It's a very exciting time in my life clearly and uh here's Doyle's thing. So I've got a poop bag already so I'm good to go. So yeah let's go on a walk and uh I don't know. I'll just show you Doyle being real choosy about where he wants to pee and where he wants to poo because that's what happens. Let's go on a walk. So Doyle's deciding where he wants to go. Oh censored. Well this was a really quick walk today.  Doyle's also kind of gross and he likes to uh lick and try to chomp on all the grass. He's just a gross guy. Hey Doyle. Doyle come here. That is the opposite of come here sir. Yep okay we're going home now. Come on bud. Let's go home. Oh you don't need to stop at every little thing. He likes to stop at all the things. Smell all the smells. Yep this is what I like to walk with Doyle. Usually he stops for way longer than this. Come on bud. I'm a stinker. Let's go. All right I'm going home. I'll see you guys. I want to get there. All right so we are home but after the poop is discarded in the garage in the garbage can clearly Doyle gets a treat and he has several different treats for several different things. Uh so these are his kennel treats and he even says a kennel on them. These are for a pee walk and then these are for a poo walk. The reason I have them labeled is not because I need them labeled but my mom was here earlier in the month. No she was here at the very beginning of May so I had them labeled for her and these are just some freeze dried chicken raw hides. I got him at Target. He likes them. So yeah so let's see. All right buddy watch your raw hide. Oh good job. Oh get it get it get it get it. Oh I'm gonna get it I'm gonna get it I'm gonna get it. What are you doing bud? Oh there you go. He's gotta take it to the carpeting to eat it properly. Oh goodness sorry if it was a little windy out there. I can never tell like if the footage is gonna come out right or whatever. So yeah I don't really have much to do today besides the laundry project I have going on. I don't have anything to film. I mean I have stuff to film but like I'm waiting on a few things so I kind of can't. Like I have a pile of awesomeness over there that I need to film but I'm just waiting on a couple more things to show up before I do that. I have some other things that are already pre-filmed and in the pipeline and actually not on my YouTube channel but already like scheduled if that makes sense. So yeah well I'll check in with you guys on things that were more interesting because I don't know what I'm gonna do today um but yeah so I just wanted to say hello and uh hope you guys are enjoying balloon. I know my life was a little bit boring but some of you said in June or in uh the vlog number one that you actually like that I have a really boring life because you guys have a really hectic life so uh a little bit of escapism there. So anyway Doyle and I are gonna hang out and I will check in with you guys when things get more interesting.  My bedding is still in the dryer. I have this one blanket that just takes like I feel like it takes about two and a half cycles for it to get completely dry which is kind of annoying but and I clean the filter like every single time so it's just like a very thick blanket which is why I only launder it like once a month because it's just like a lot of energy to use you know what I mean. Anyway but I'm downstairs.  I probably like laid down for like an hour and um now I'm jamming on my planner so let me show you my week this week and then um yeah. So this is my planner this week. Very exciting. So I've got a few things I mean obviously like this was um you know like patriotic whatever and yeah I don't know. So yeah my parents so I put this in so my parents are driving to Minnesota and then they got here on Thursday and then they came over for dinner at my house and then on Friday I had a reunion meeting um it's for high school so our mascot was the tiger so I thought that would be kind of cute to put in there so I did that and then we're into June so I'm vlogging here and then I did some laundry in the morning these were like my regular laundry kind of all morning went to the baby shower and cub as you know and edited and then I'm doing the bedding laundry today it's like a little lazy day and how I'm jamming on my planner you guys like this is this is the boringness of me um but yeah so I used I like I really like this sticker that says weekend it's a Chrissy and Designs it's from her um Celebrations collection I believe that they're now on her website I have a link below if you guys are interested in checking out her stickers they're amazing this is actually the Chrissy and Designs binder that I made for myself because I have so many stickers it's like a problem I used to have two binders chocked full and then I downsized and this is what I have now so yeah and I actually have a delivery coming for a few more sheets not too many but just a few more but um yes it's kind of my you know thing here I don't know and then as you guys can see I like really love these scallop stickers and these are all these are by coffee break planner again link below and um there's a coupon code down below too so yeah this is just what my week looked like last week very exciting very patriotic you know um so yeah that's it so I'm really not going to do much for the rest of the day um I really wish I had like more exciting things to share with you guys however I just looked in my planner and next weekend something really fun is going to happen um Jody from Life's Organized KS and Ryan from A Man with the Plans you guys should all go check them out and all go subscribe to them they have amazing content they are going to be coming over this Saturday so I'm very excited about that and um we might film something you never know I will be vlogging so I'll put them on the vlog and even if it's just for like a moment which is fine um but we might be doing some filming you never know you never know with us what we're up to um like hashtag Minnesota trio right so anyway I don't know that's kind of it I'm like so oh you saw Doyle get up there um I am like so chomping at the bit by the way to get into my new planner I'm like is it July yet because oh my gosh I want to use this thing so bad my new binder but it's not July yet so I have to wait um I know some people have actually converted theirs so they can start it early like they took some of the pages that they knew they weren't going to use and then like covered up you know covered updates and stuff but I just I don't know I can't do that I wish I could but I can't but um yeah wait until July one here but I will probably do I know I haven't done a plan with me video in like forever but I've just been like really liking the like me time of just jamming on my planner whenever the heck I want and not worrying about the lighting and all that because like if you can see my lighting is all crazy right now because it's kind of the end of the day so it gets a little little weird over here where I like to film so yeah but I think my first plan with me in this new planner I will I will do a plan with me I will I will do that I'm looking forward to it plus it's holiday week which is kind of fun um so it'll definitely be very like a fourth of July if he me and everything so yeah but that's uh what's going on I'll show you guys Doyle because I know you guys are always like very interested in like what he's up to let's see y'all here he is guys here he is hey booger what are you doing kid you don't even know you don't even know yeah do you have anything to say to everybody yep you're looking for food you're hungry you're always hungry he's always hungry guys he's always hungry but I think I'm gonna say goodbye for the day um I don't know I don't have anything else going on today and I think I'm just gonna make a little bit of dinner and then had to bed I mean this is this is a life guys this is the life right doobie doodle boy doodle oh anyways so yeah that's gonna be it for me today hope you guys enjoyed the video if you did give it a thumbs up or a paw up whatever whatever floats your boat and I feel free to subscribe I'm gonna be vlogging every day in the month of June and um can't wait to see you guys tomorrow yes tomorrow all right you guys have a great day and I will see you then bye guys oh I'm not done petting you okay I got it silly boy bye well folks it's time to kick it old school


I don't know if you see those shoes are amazing great. I'm Mark Wunch. I'm from Gilt. My Twitter is at Mark Wunch so send me a toot. Geologic time scale. So the geologic time scale is this system of measurement that relates strict tritigraphy which is like the study of rock layers to time. Yeah disclaimer I am not a geologist. I am not an earth scientist of any kind. I've learned everything about this particular subject on Wikipedia so I'm now somewhat of an expert. This is a metaphor that I'll be using and that metaphor will be stretched to its limits. But like anybody who writes JavaScript professionally I am not without a lot of hubris so let's be careful. I really love this concept of deep time. So the earth is over four and a half billion years old. That expanse of time is so impressive and impossible to comprehend and modern web development is about what ten years old maybe. But we suffer I think as an industry of real short-sightedness and so this is the second backbone conference and I'm very excited to be here and honored to be here but really we're just discussing this really small sliver of technology just like this one tiny layer and in the tiny moment in time and at this conference you're going to hear a lot about implementations and you've heard a lot about certain processes and patterns to follow and you'll hear more about that tomorrow. But what I would like to do now is invite us all to take a big step back and take a really top down view of web technologies and what what brought us to this place today. I work at Guilt. Guilt if you don't know is an e-commerce company. We sell shoes and stuff. We do flash sales. So what that means starting at noon Eastern time usually we sell a limited amount of inventory for luxury goods fashion at a steep discount for us a small period of time and I'm going to use Guilt as a case study because I work there but in my time there we've also tried a lot of different approaches to building web applications. So we have our website which is you know I guess a traditional e-commerce experience or a traditional e-commerce technology stack. We have some experiments this is Guilt live which is live.guilt.com which uses real-time web sockets to update what people are buying so you can see what people are buying right at that minute right at that second I should say and finally our mobile web application which is like a single-page app and all of these use backbones and backbone that singular in various capacities. So Guilt is at scale and what you would say is at organizational scale so there's about 60 engineers contributing to this experience and what I hope to answer today is what influenced us at Guilt to turn to specific technologies one of them being back home. So today I'm going to talk about stratigraphy so studying the layers of the Guilt tech stack. I'm going to talk about this technology it's called asynchronous JavaScript and XML maybe you guys have heard of that one. So we're going to talk about that in the context of a particularly tough problem which is the problem of pagination. I'm going to talk about robots and code that we write for robots. I'm going to talk about templates and how we use templates to keep the balance between robots and humans in check. I'll discuss a very serious and important architecture very serious business called models views and whatever and finally I'll close by attempting to predict the future as I said before hubris. Stratigraphy so I'm going to start by talking about the strata of our web application and in a business like Guilt these layers of technology form sort of one on top of the other and by examining a cross-section of that system we can infer a lot about the past several years of modern web development. What's interesting about stratigraphy is that it's bounded by a set of laws or principles so the first one is the principle of superposition and this one it is simple what's at the bottom is older than the things that are at the top pretty simple and you can see what's at the bottom of your web application you just do a git log reverse and in this case it actually doesn't help very much import from subversion so so I guess this is like pre Cambrian era or something this is in 2008 but I guess that's old enough to call legacy now the principle of original horizontality this states that layers will tend to deposit horizontally so guilt like many businesses started as a Ruby on Rails application yeah and with Rails back then you got this thing called prototype I want to take some time to give lots of respect to prototype.js yeah in many ways so ahead of its time and it's so impressive and it doesn't get the love and it doesn't do you get the love it deserved back then because like most people jQuery was becoming preferable and so we went through this painful process and I don't know how many of you went through this process of replacing prototype with jQuery it was painful and what we've created here is what they call in geology and unconformity so the layers are no longer continuous which brings us to the principle of lateral continuity the technology layers continue to build up and we continue to modify and chip away at certain areas and update others and you get to something like that so this was our system about two two and a half years ago and you can see that things are no longer deposited horizontally so the principle of lateral continuity states that at some point these layers were continuous but something happened some technical erosion so the deposit of this technical sediment continues until we reach where we are today and you can see there's backbone in there and I don't know there's some coffee scripts in there sure I don't know what MPM is doing there but okay and if you cut the top layer you're standing on the top soil it looks like a modern web stack but as you observe cross sections from different angles you see a peak at something older more hidden something that's been buried so in order to get a truly comprehensive understanding of the full front-end guilt technology stack this is just the front-end by the way you need to hold all of this in your head and that's daunting so you might call this technical debt that's a nice term for it but part of scaling a business at a technical organization is confronting the legacy of these layers hidden beneath the surface so I want you to keep this layer cake in mind as I continue and as we talk about scope and applications growing often what we mean is we're adding layers to the system and sometimes we induce technical erosion so think about maintainability keyword maintainability now here's a good question why do we need all of these technologies why why didn't one work for us what is so hard about the web that we introduce layer after layer of technology and complexity it's Ajax the Ajax is the fundamental piece of the modern web experience where would we be without asynchronous communication between the client and the server probably not here at this conference but for something that's so core and so basic we really only recently begin to grasp the best way to do Ajax communication I think that Ajax helps a lot to do with the strata we saw earlier and each one of those technology layers has an opinion about how to manage this client-server communication so I made a point earlier to draw your attention to the original usage of the term Ajax there used to be that you used Ajax to do these naive remote procedure calls with XML anybody remember those days show of hands yeah it wasn't great but it worked your HTTP calls that look and still look kind of like this so get and we have a URL called add to cart get add to cart this is not idempotent this is not restful it's not ideal but it works and worked does anybody remember RJS yeah this is kind of crazy so you make an Ajax request and you get back a dynamically generated JavaScript snippet and you still see this a bunch if it's not RJS it's not great but it worked here's something you still see from time to time and we still see it get all of these examples are not like we think of these things as a ancient history but the recent so the server tells you this was successful but the content of the response tells you it wasn't it's not ideal but it works and so all of this comes back to maintainability and I'm going to touch on this point a few more times all of these Ajax approaches though maybe on appealing are still Ajax what makes us uneasy about those approaches is that we say they are unmaintainable we question their maintainability and dealing with a large system means that you come across previous approaches we're maintaining it feels like a burden and that's why you keep adding new layers so let's continue so we did it we're successful we got a restful API that brings back a JSON response and now what do we do with that so it used to be you know when it was Ajax with an X with XML you would you would just take that markup and dependent to the DOM and worked okay now we have these client-side templating languages so when we're using JSON you could either concatenate a bunch of strings together or you apply that JSON object to a template and I just want to point out which is more complex so on one hand you take a bunch of DOM markup you get from the server and do inner HTML or something like that on the other you do some non-trivial parsing of a templating file and a templating language and then apply a JSON document to that and then apply that to the DOM and I like client-side templating I think it's awesome right there's no no argument there but it's just we've introduced complexity and if we want to pick a templating language that's a new layer we have to think about so I just want to pose that question rhetorically is that a win and every piece of technology results in some kind of trade-off one last bit of technology I want to address in the world of Ajax is this little JavaScript call right here which is awesome but it's one more layer of complexity and the important thing that I want to point out here is the word state as in the kind of mutable state you must maintain and if each one of these pieces in our strata have different opinions about Ajax there's something else to have an opinion on and history the history API brings so many improvements to the Ajax user experience it's unquestionable but I think it's a good transition to what I think is probably the most challenging user experience puzzle front-end engineers have to work out I think there is nothing more difficult than implementing your own infinite scrolling pagination mechanism there are so many trade-offs to consider there is no one-size-fits-all solution and just about every implementation the night I think you know just think about this for a second every implementation has just one kind of bug or one kind of user experience quirk that makes it awful right like it once you experience that bug you're like this is terrible flip table so so let's talk about this problem a little bit more in-depth so you start with pagination this works pretty well right but there's too many pages and I said there's too many pages like imagine like an infomercial there's too many pages so and your user analytics shows that nobody is going past page two or three so you decide okay well we need to try infinite scrolling and we've done this at guilt we made that same decision and you end up with this huge queue of trade-offs and choices how to load the pages in a memory efficient way how to manage the page states so everything works how to get the content from the server do you even attempt a custom solution or do you go with what Paul Irish did for you it's a total mess it's analysis paralysis so read this blog post the hope everyone's read it it's really good at explaining the complexities of good infinite scrolling but it requires this architectural consensus and remember we have layers that are really old it's not always possible to get that kind of consensus and even after you implemented infinite scrolling it might not be the best thing for your users at guilt we've tried several different implementations of this pattern with the products so I'm going to show you what the most recent one look like look like this we're back to where we started yeah we found that a better experience is to try to get the user to see less of the thing we paginated through so you use tools like filtering use tools like search that's a better user experience and I'm going to come back to this but it's important to understand how the choices in UX and user experience affect the technology stack so how do those choices affect maintainability another thing that we have to factor into our technical decisions at guilt is we have to think about robots robots that spider the site so guilt gets a not insignificant portion of its revenue thanks to search engine optimization so Google Facebook we have to make sure that our data is available to them a colleague suggested that what we ought to do is build one version of the website for robots and another version for humans which isn't a bad idea but it goes back to that question of maintainability so this is what it looks like when I browse guilt comm in links if you know what it's like to be if you want to know what it's like to be a robot try using links so you can get insight into your help how your pages work making our site work for robots is a requirement for our business therefore serving HTML for from the server is a requirement but what about single-page app experiences users love this stuff if SEO is a priority can we do this without sacrificing too much maintainability I recognize that this is a client-side application conference and it seems strange to talk at length about server-side rendering but enabling SEO and web spiders is something that the web is really good at and it'd be a shame to lose out on that and I think we can strike a balance between the robots and the humans but it takes technology applied at the right level so I'm going to talk about templates now I think there's a lot that can be done in the templating layer of an application stack that allows us to get the benefits of a rich client-driven application without hamstringing the server-side so there was this thought when node.js came to prominence that if you write a server in the same programming language as the client you get this sort of boost in efficiency and maintainability I think the dust is settled and I don't think that's correct so I disagree with that but if you think about a web app framework either client or server-side so much logic gets buried in the templating language so here's an example this is JSP nobody likes JSP nobody it's nearly impossible to reason about what's happening in the server-side of a traditional web framework without diving into the templating layer and when it's JSP you want to avoid that as much as possible so this is Hilt JSP I don't even want to begin it's like quicksand and then on the client side we have something different and at guilt we use handlebars.js and handlebars is awesome right but as long as we have this mismatch between our client-side templating layer and our server-side templating layer which is an unconformity there's very little sharing we can do between those two layers so at guilt our preferred web stack is Scala and the play framework which we're big fans of so I wrote a handlebars implementation in Scala we call it Scandalbars internally it's open source and we use it in production for more and more things our navigation is rendered with Scandalbars more and more of our products are rendered with Scandalbars and the reason I chose to do this is so that we can decide we can make a decision when appropriate whether or not to render something on the server side or the client side so we can use one template to render on the server side for robots or for users who hit a URL for the first time or we can serialize those same Scala models into JSON and send them down into the client where the same template renders them client-side so we can leverage the same templates everywhere and choose to make rich single-page user experiences where appropriate our templating layer now acts as one continuous uniform layer instead of being broken up into different stratum so it's not foolproof it's a Scala implementation of a JavaScript code base but it works pretty good let's talk about backbone backbone is great because as we've heard it helps you reason about the concerns of your application this is a tweet I wrote quite proud of this tweet if you can't read it MVC stands for model view computers so the truth is it doesn't matter what the letters mean or anything like that arguing about the M's and the V's in your architecture doesn't really do anything of value who cares so at its worst backbone provides too little opinions about how your code should be structured but at its best it can act as this tunnel it connects these packed layers of technology and backbone provides us a mechanism to mine our legacy technology stack because it's not so opinionated as to require a tectonic shift in our architecture on the server side so let's go back to this pagination example so we'll now use scandal bars and backbone when the user hovers over the next action we make an Ajax request back to the server to get the next page we expect Jason back from the server we have the same templates on the client side as we do on the server side so those templates come are rendered based on this Jason and they're stored in memory as a backbone view in this case and then when the user does click when the mouse down action occurs the newly rendered page is already in memory you know from the whatever many milliseconds of hover state and then we just replace the dump and in this way our application can either render server side or client side so if you're rendering on the server side and you have a bookmark to page to you'll get page to really fast because it's rendered from the server if you click the next page you're going to get that rich fast single page like experience that's how we use those two things together so what we ask of backbone is this this is what we expect from any JavaScript application framework I think can it give structure to web apps and that's the point it gives you a backbone to work with can it bring some sanity to the complex client server calls can it effectively manage page state by page state I mean URLs can map URLs to state can it provide rich experiences without sacrificing search engine optimization doesn't have a footprint that's small enough for mobile I didn't talk a lot about mobile but it's important and doesn't make my life easier arguably the most important thing and I think the answer is yes but it takes work it takes effort unlike some more opinionated solutions like maybe angular or ember backbone is viscous it's like lava it conforms to the shape of its surroundings so you can get all of these things but it might take more effort so remember how I keep harping about maintainability yeah I've talked a lot about maintainability and how layers of technology are added to ease maintainability but maintainability offers no intrinsic value to users or to your business the relative maintainability of the code is of no interest to them maintainability can only provide velocity which allows you the programmer to deliver value at a greater rate flexibility on the code of the up on the code on the other hand is related directly to the programmers ability to provide value ad hoc as needed I think backbone might sacrifice relative maintainability for flexibility I like that trade-off so those things designed for maintainability large frameworks often end up buried under those things that prove flexibility so if you think about the civilization civilizations of code that guilt has buried you have rails you have prototype you have Java flexibility wins so given a constellation of technical choices backbone was the best choice given at that precise moment in time but the right path is not always clear or easy and sometimes you have to go through hell to find it so a guilt some colleagues of mine have created their own JavaScript and VC framework it's a contentious decision and we're watching that play out technical erosion will take its course there's also a big push to use angular or ember or something more rich we have to battle to prove that flexibility wins and hopefully I've done that I'm not informed enough about angular to really weigh in but I hope that we continue to choose the path of flexibility in our front-end technology all right it's kind of dark last couple things let's talk about the future so having observed the strata of guilt front-end stack I'm going to try to predict where I think we will see more movement more shifts in our geological foundation a reminder that modernity what you're standing on now is the top layer and there's layers beneath you so where will we be I think more tools like marionette or chaplain will become more prominent and we'll see more like them the back plugs that was new to me really impressive so backbone is so lightweight it's a kernel it's a kernel for modern web development and because of that I actually think we'll see more robust frameworks written on top of it I think Brian talked a little bit about this dependency management and build tools will become a standard tool in everybody's library I think Sam alluded to this modules and components are the future so at guilt we built this build system for front-end packages before bower emerged and bower is really appealing there's this thing called web jars that are emerging out of the JVM that look really interesting as well there's so much more room here to grow and as applications increase in scope we'll have to figure out how to isolate front-end dependency graphs it's a very hard problem is the Dom good enough so I was talking about this with you guys earlier it's Tom de la Huiz so there's this idea that there's this cohort of JavaScript developers who know nothing beyond jQuery and I think jQuery is waning in its relevancy I think the Dom has improved as browsers get more modern and influence the standardization process more and I think the Dom can be really powerful mobile but I think we're going to have to face some uncomfortable truths regarding mobile performance I don't know if you've read this blog post why mobile web apps are slow it's it's really good everybody ought to read it mobile and desktop web will converge and we're seeing that already a guilt I'm on the mobile team a guilt pretty recently so one last prognostication someone controversial there's a reasoned argument to be made that static typing works better in larger organizations so with a dynamically typed or gonna type dynamically type language you have to depend on test coverage to make sure your app works test coverage is so important because it enables continuous integration which enables continuous delivery which means you can press a button your application is on the internet distributed to millions of people but tests can fail tests require in order to get to that level the continuous delivery level you have to have a really good testing infrastructure and that means people have to write tests which means you have to enforce really good test writing practices and even then they can fail a statically typed language enforces API contracts like free tests so type script is a language coming out of Microsoft that's a typed super set of JavaScript it looks really interesting and at guilt we're keeping a close eye on it I should mention I sell some t-shirts there's a backbone and angular and Embers shirt gang of four t-shirt these shirts are great for summer wear transition well into the fall season once again my name is Mark lunch thank you so much so I ended early but I plenty of time for questions hi have you solved the problem of duplication of URLs with the backbone router and then URLs are your forcing out on your server side to share my guys also have you did you guys evaluate mustache as a templating language before you chose to go with handlebars sure I'll answer the second question first which is did we evaluate mustache before choosing handlebars and the answer is yes mustache is arguably more language agnostic and that's because it's stricter it's it's a very strict logicless language and the downside to mustache for many engineers is that it's so strict it is logicless so it's like a double-edged sword and there was just we couldn't keep people from using handlebars on the client side there are scholar implementations of mustache but the handlebar handlebars can provide that that the sort of logic you need without being a burden but there are parts of handlebars that are like a true foot can so yes we did the other question was related to sort of the complexity of duplication of routes between the backbone router and a server side router so we have solved that because we do not use backbone router so one of the things that play provides is a Java play framework which is the framework we prefer provides sort of a JavaScript API to get information about routes so we just use that API and that tells us how to get in practice it's it's not so hard we we don't do we don't do enough complex state interactions that require a new URL state of a new URL basically means that state has changed and we don't do enough of those state transitions to really warrant something like backbone router yeah over how long did it take um guilt's tech stack to evolve from the beginning as you said to now and were there any major you know forks in the road that you might have done differently amazing question so the answer is is guilt was founded in 2007 so that's what six years it's nothing it's like a blink in the eye in that time we've changed our primary programming language three times so is there something we would have done differently yeah maybe maybe we would have started with the JVM earlier there was a really contentious decision so just before you I've been a guilt for three years there was a contentious decision when we moved from Ruby to to JRuby and then to Java we moved to you know just hopefully Java without all the crap but it's hard to get that was very contentious moving from that point I think that's the biggest shift but yeah guilt has like has like has is like a microcosm of like a 20 year technology company like but it's been I think a good thing because we've been able to move quickly and yeah we have these layers which you know are technical debt but there's something I think we're getting rid of a lot of that debt and there's some things that are okay to just be maintained it doesn't hurt anybody then answer your question hi do you use handlebar helpers and if so how do you manage the logic on that server side and on the client side okay great question handlebar helpers an effective foot cannon for handlebars so what's what's what's what will make you just blow your foot off with handlebars helpers is that there they can sort of act when they're tied to a global scope they're bound to the handlebars object in JavaScript which is it's less than ideal and they can manipulate all kinds of things so I I try to stress to avoid them and only use them when absolutely needed and there are cases when they are needed and in that case yeah Scandal bars does support helpers obviously you you do not it's not the same language you have to implement them in two different things and Scandal bars because it's a different programming language in a different environment has constraints on what a helper can or can't do but a good helper should fit into those constraints I'm working on a sort of rewrite to the parser and to some of those parts to make it a little bit more palatable because the transition from JavaScript to Scala is not the easiest one to make and I'd like to make that a little bit easier but Scala is a functional language and so can can have helpers so yeah we write helpers for both the client side and server side anybody else so you were saying that Ted script is kind of a stand-in for testing somewhat does that mean is there a place you're using as a replacement for testing no no so the type script is a statically type language uses a compiler and that compiler checks types so you have to declare this is this returns a string and the compiler was say you tried to do something where that wasn't the case you're wrong but it's but as any statically type language via type script or Java or Scala is not the compiler is not sufficient alone to replace tests the compiler just writes tests that you don't think about and enforces API's so rather than making something that might not be test writing code that might not be tested the compiler will say by the way you violated this contract that this API was saying so that's all of this I think that's just the benefit of static typing in general not really to be honest I have it's not something I've really dug in deep about is there anything is something specific that you found in yeah I don't have anything person like per se I don't know the memory footprint or the CPU like effect that handlebars has never really profiled handlebars but in general yeah I I'm with Nicholas Zakas like I think I don't know if I pronounce his name right but I think less JavaScript it can be better and the templating layer is probably a really good layer to push a lot of this complexity yeah I can answer your question unfortunately but now you've got me very curious the question was how do you evaluate how much logic to put into handlebars and when is when is too much too much so the answer is I try to constrain it so that I put as little logic into handlebars as possible and the way we try to do this is in the Scala in the server side we have these view models basically what what do we need to render a template what what do we need just to render that template and hopefully the view model encapsulates most of the logic and then that we have sort of another API in backbone in a backbone view that sort of replicates the methods but can be basically hydrated from a serialized view model from the server so the answer is we try to limit the amount of logic as much as possible now that's not always easy because people just want to take whatever objects they have and put them put them where they need to go and in that case they'll hit the pain or anybody like you you know when it's painful because all of a sudden you're calling all of these weird methods on an object and you're violating I believe the law of Demeter Demeter the one that says don't don't talk to your friends but you can talk to your that one you're violating that yeah you can't talk to your friends friends social contract but you know it like because it begins to get painful and any refactoring of that model breaks okay thanks everyone


Hey babe, so while they were doing my cleaning at the dentist They said that I need like Emergency like canal because if I don't get it done now It will just get worse and worse and can lead to an infection So they have to put me under like anesthesia and do the whole procedure So I probably won't be home for another hour Yeah, they said it would wear off within like probably a half hour after they're done So I'll probably just chill here because by the time you come here to pick me up or whatever I'll I'll be able to drive home anyway. So I'm gonna go do all that now. So I don't have to come back a different day I know I know so I'm literally gonna be under like anesthesia. So just like how you were for your wisdom teeth Okay Well, I'll see how I am afterwards because they're just gonna have me sitting in there and waiting until like I'm good enough to Like either go in the waiting room or drive All right. Well, I love you. I know I love you and I'll see you in a little bit This girl thinks that I'm gonna be going under literally like what you get your wisdom teeth on You know how they give like anesthesia and like you're all loopy and stuff basically I told her I had to get a root canal as you just heard and if you don't know what a root canal is that is like One of the worst things that you could possibly get done to your teeth because that means they literally have to drill All the way down into your gums and literally take out the whole tooth drill into your root It's it's a bad experience that pray to God None of you have to go through and if you have you don't have to do it again But the catch is I'm not gonna tell her what I'm done So I'm just gonna show up at the house act like I drove home under anesthesia with don't do I would never do I would always have someone pick me up because that is very dangerous and tell this girl. I don't love Oh my god, it sounds so bad, but stay tuned I'm doing this for your enjoyment and my future enjoyment because I'm not gonna enjoy how she reacts in the moment But once we watch this video back, I'm sure it's gonna be super hilarious give this video a huge thumbs up team Bill is coming back today.  So give this video a thumbs up. Stay tuned because Mariah is going to react in probably a way I've never seen her react before All right, we just got out teeth are all clean look at these I love that every single dentist office I'm pretty sure almost every single one. They always leave you with a gift bag full of like a toothbrush and floss and like All the stuff that you would need to like brush your teeth I think it's so funny that they do that but be for real who flosses Okay, comment down below if you floss because like good for you I like I try to floss and I always just forget, but I usually have pretty good teeth Okay, I don't have cavities usually but I did find out that I actually have one cavity and they found this out last Time we just never planned a day to go get it done So I'm literally coming back here in just a couple days to get my cavity filled but enough of me It's time for the main of that time for the main show We got a ten minute drive home, and then we are going to be meeting up with Mariah But I got to start getting my acting on I got to start acting like I'm on anesthesia Okay, so I'm gonna be like all loopy right that's what I think happens when you're on anesthesia. So what is it like? Okay, that was horrible. Okay, hold on hold on so I'm a walk-in.  Oh my god. Oh, that's a good that is a good impression Hold on hold on ready. I just I don't love you. I can start like fake crying. It's okay. I got this I got this. I'm not gonna spoil all of it, but I'm gonna start practicing.  Okay, she also gave me a bag of gauze like shout out to my dentist She's like the nicest person in the world So she gave me a bag of gauze that I can use for this prank to make it look more real like I actually Did get something done So I'm put all this gauze in my mouth and just like be like trying to talk through the gauze while acting loopy and Tell Mariah. I don't love her Just parked at the car in the garage and I just super quick like have to just stuff my mouth with gauze now I don't even know I'm not I'm not even gonna make it nice. I'm just gonna like curl it up and put it in like this side. Oh My god, it looks so legit. Hold on. I'm gonna do ball side just to make it look better It already is making like it sound better home All right Yo, this is legit right now. I really sound like I just got my ways of doing like that It's okay. I need to be quiet because I don't know where Mariah is but hi guys. All right guys Let's get it. I'm gonna try to film as much as I can but I still have to try to set the camera up So like I don't know we'll see what happens. Oh Oh Yeah, are you are you still like I feel great actually I feel so good Baby, I felt like I was playing Mario Kart and I was driving home. It was so funny Why did they let you drive home? Okay, I got God we need to change out my God Okay, because it is bleeding. I got a root canal Why would you need gauze for a root canal? Cause it was bleeding. What do you mean? It was bleeding. It was messy. What? Are you okay? Yeah I'm great. I'm chilling. I honestly feel like amazing I just need I need to sit down. I'm busy. Can you give me some water? Are you okay? Can you give me some water? Yeah, I have the best day ever today, babe Yeah, I'm chill. I said I'm chilling. I know, but why did they drag you like that? Okay, sit down. I got busy. Sit down. Can you just take care of me? It doesn't even hurt. Okay, I don't think that's all there's for a root canal. I don't even feel it. Stop touching yourself. I don't even feel it. I don't think that's right for a root canal. I think they messed you up. Let's go outside. Let's go swimming. No, we're not going to go swimming. Sit down.  No, babe, I'm actually concerned. Why would they put you on a stage for a root canal? Why did they just numb you? Oh, this is, I... Sit down. I did close it suddenly deep in the mouth. I want to go research this and call the mother. That's not right. I was turned home. I was putting Mario cards. I was picking up, I think Luigi. I was Mario. I was literally picking up some glass blocks and something else. Okay, if you stop.  I was like... Babe, stop the food. Babe, no. I'm hungry. Babe, actually, that's not... Give me some mac and cheese. No. Come on. No, you don't got mac and cheese.  I am the one that's injured. You're not seeing my face? Okay. I am the one that's injured here. I'm like, out of words, because I don't think that's right for a root canal. Why?  You don't... Why would they put you on a stage? I don't... Thank you. No, I'm kind of mad. When they say that I have a mac and cheese... You don't think you're bloody, babe. You're not bleeding anymore. You're not bleeding anymore. Babe, just stop the bleeding. I have to move them out and we'll go. Do it. Yeah. Okay. I'm not a scientist. I follow rules. Just sit on the couch and be like, I don't know if you want me to... I'm gonna win it. Okay. Just like Mario Kart. Okay. Oh my God, you should have said what you were mad. Alright. You're mad, babe. Okay. Why are you being weird? I just don't get why I'm mad. Can you just take care of me? And look at this dog. Can you just take care of me? That's not right. I'm hungry. That's not right. Babe, I'm hungry. You can't eat it, right? Oh my God. Babe, this is why I don't love you. Because you do s*** like this. What did you say? This is why I don't love you. Because you're ignoring me. I'm Google. I don't love you. Okay, look. I don't love you. The dentist will apply some on your gums to close the effect on you. And it's easier. In your veins. Fall into them. And why do you say you love me? Because you are acting rude. You're on Google. You're not taking care of me. I'm big. First of all, Can you change my gosh?   No, because you shouldn't draw something like that. I do not love you. I've been waiting to tell you that for a long time. But I feel so good right now that I just want you to know that. Because I've been holding back. No, that's not true. I've been holding back, okay? That's not true. Okay, whatever you want to say. Babe, I'm just concerned that we do not have to go under like this. You're concerned and I'm all I love. I have no more love to give you. You didn't even tell me you were going to be like this. You're done.  You're done. And I just can't believe you drove home. What are you going to do? Uh-oh. Why can't you take care of me? Look, I'm really begging you. This is why I'm all I love. And you don't even love me. Why would I help someone who's loving? I don't know. So you actually don't love me? Sorry. You don't love me? I don't know. Then why are you married me then? Because. Why are you married me? I love you. Do you love? Now I do. It's that simple. You're not going to sign a child. You don't play download. You're not going to download all of it. That's not love. It's down. You can't put me back up. Alright. Alright, bye. That's fine. You can't put me back up. That's fine. Alright, tell me that's alright. That's right. What's wrong with you? Love me? No, I do love you. I love you. I do love you, baby. I just love you so much. Enough to prank you. No, no, no, no, no, no. Wait, wait, wait, wait, wait. Tell me why. Tell me why. I did not get a root canal. Okay. And you believed. You believed that gate. No, I did not. That was all fake. I was just sitting in the parking lot. Literally for like 30 minutes. Do you have one cavity? Oh, I do have one cavity. I have to get done. But no, no, no, no. But besides that, I said root canal because that's the closest thing that they give you anesthesia. What else do they do at the dentist's office? I don't know. That's not even funny. I really thought you drove me high like that. I know. Baby, baby. I just want you to know something. I love you so much. But I know that what's the like, there's not a better time to do that, especially if you think I'm all drugged up. I mean, that was, I won't give it to you. Wait, my question is Marvel Squad. Why is it pink? It's actually red. Like the gauze is actually red. They did put it on it? They did put it at the end. The only thing I could think of is at the end of when you get your teeth clean, they put like a nice tasty layer. They gave it to me. Yeah, she literally was like, oh yeah, I'll give you gauze. She gave me a whole bag. Look at this. Oh, you have it right there. What did you see? She gave me a whole freaking bag. Yeah, she was dope. She was like, oh, I'm going to help you get Mariah.  Like she has to change it out and stuff. But baby, I got the dang dentist in on this one. How do you feel? Oh, I know it. The dentist, I'm going to have a long talk with her when I go in there. It smells good. It smells good. It smells good. It smells good. She did a deep clean, really deep clean. I guess I had a cavity and we never made an appointment to go get it done. So literally, I had one for like six months. Oh. Yeah, so now I have to go back one day. So we'll go and then after that, then I'll come home. We'll go to the gym and then we'll go get, I'll get the cavity done and then. Yeah, I'll be home panning and then getting ready and we'll be good.  Like actually really good. You're so annoying. I like genuinely was concerned because first of all, they don't do that for root canals. Second of all, I- How are you supposed to know it? Have you ever gotten one done? No, but bad people get root canals and they just numb it. It's like a normal cavity, I feel like. Well, it's not normal for, I don't know. Even some people get it. I don't know. I just, it just didn't seem right. Either way, Mama Squad, I hope you enjoyed this video. I tried to keep up the act as long as I could, but like promise you, it was hard to talk.  That's how, that's like the point that I was at. But I literally sounded like legit. You did. When I put the gauze in, I was trying to practice in the car and I'm like, oh my God, I don't even sound that good. But once I put the gauze in, it literally, that's what makes you sound funny. That's what literally makes a person on anesthesia sound funny is the gauze. Mama Squad, I hope you enjoyed this video. Thank you so much for watching this once again, Mariah. I'm sorry, but Team Bill came back today. So, it is, it is pretty funny. It is, it is actually really funny. But I hope you guys have a great rest of your day and we will see you in the next video, but until then, peace. Love you guys.


Mr. Aman Gupta co-founder Boat Lifestyle, who will now speak on the topic Boat Sleep Sound Repeat, the brand that made the uproar. Ladies and gentlemen, please join me in welcoming Mr. Aman Gupta. So, I always wear this t-shirt. It's like a uniform for me now. So, you know, this is what I wanted to show. This was the old way of marketing where people used to do conjoint analysis, which we studied in our business schools before launching products. And then they used to say that if you have like 100 rupees, spend 70% in ATL, 30, 20, BTL and 10 in digital. That's what they used to tell us. And then, you know, even in digital, they said, first go to Google, then do YouTube and divide the money there. The CMO, brand and the marketing and all the research teams were there to do all that. So, I'll come back to this slide later. And then there was a lot of chatter when we entered that they were, you know, mobile guys who tried it also. What will these guys do? This is a very commoditized space. Those were the chatter we used to hear a lot.  How will you do what other people can do better there?  So, I'll give you the overview of the brand. We are a startup focusing on launching India's first global lifestyle brand. That's what we are. We are both welcome to our world. Our brand is a reflection of our personality. We are bold without being in your face. We are innovative in a manner that simplifies, then complicates. We are young without being immature. And importantly, we are witty without being bearish. So, what do we sell? We sell these products, headphones, speakers, simple. Where do we play? We play at an intersection of technology, sport, music and fashion. We are not only technology. We are not just sport. We play somewhere in between. That's where we play in the chart of our competitors. We believe in subcultures. You know, we believe that India be and seek, you know, Hollywood and cricket. That's what India loves. And we believe on targeting these subcultures separately. So, this is a brand for millennials, by millennials, our average age of our company is 24.  When I was starting this four years back, there was Instagram, which was getting popular. And I was like, why do we have to be on Instagram? I told my CMO who was that time 20 years old. And I told him that why do we have to be there? And he says that, you know, because when I post a picture with me and my girlfriend, my mamaji responds on Facebook. So these guys moved to Instagram, right? And because they feel that the others were not there. So the changing consumers, they are changing. The millennials are changing. The marketing has to be tuned towards people like him. Another one, you know, why this segment? The market was changing. The market is changing. There is rise of OTT content. Mobile market is growing. So mobile penetration is going. So the devices market and the accessories become a part of this market. So why this? As I said, consumers were changing. They are people are becoming lawless. Product was more is becoming more important than the brand for the initial stage. And then the brand takes over for chasing capacities increasing. So people just don't want to buy you for price. Price is not the only factor people buy you for reviews and research because of the online space. There are a lot of reviews. People are, you know, in a few years back, there used to be people who used to be like the gadget gurus and people used to ask before buying any device. Used to ask these gadget gurus whether it's a mamaji or Chacha or somebody in the family. What should I buy today? They are everybody's talking to each other. There is there are millions of reviews available. They are YouTubers who buy your product and do the research. So there are a lot of talking happening between each other there. So this is what consumers say about us. This is this is just a word cloud. So what do we work with? The other thing spoke about filter coffee. We do a lot of work with filter coffee when we were starting for the awareness part. We work with, you know, we believe that as I said, cricket, Bollywood and music is where we work in. And this is the subcultures. These are these are the people who are a part of our subculture. We have Kartik, Kiara, Jacqueline. We work very closely with the Bollywood community and the cricketers. These are all our boat heads. We call them boat heads. So as I said, sound of the champion, glamour of the stars and soul of the musicians. That's what Boat wants to be. We work very closely with Percept for Sunburn. We were their sponsor. So this is where the youth is.  They want to spend on experiences rather than anything else. And this is where they are. This is where we want to be. This year, we've got, you know, we partnered with the, you know, IPL is huge in India. Everybody knows that. So we've partnered with another one. We've partnered with Punjab also. We've got five teams. We are the audio partners too. We, you know, this was also very strangely, people used to say, what is an audio brand doing at Lakmay Fashion Week? So this was the first time they saw at a Fashion Week, there were models walking the ramp wearing our headphones. So we made, we tried to make headphones as fashionable as lifestyle and not just a part of communication device. The first brand, you know, when we started off, we had, you know, we used or we, you know, we partnered with all of these celebrities. They had a total reach of 100 million base in terms of their consumers who were following them. And we did not have a lot of money to spend on ATL and BTL. So we used, we used, going back to the first slide, we use 100% of our money only on Instagram and Facebook and nothing else. Then, you know, we started selling our awareness became huge, you know, in 18 to 24, that's the age group we target and we are probably number one there. Then we wanted to expand from 18 to 20, from 18 to 22 to beyond the beyond 22. And that is where the paper, you know, the ATL market is strong.  And that's where we started reaching out to a larger community to increase the cult of boatheads. We did some paper ads also. What's our core advantage?  These are the guys who make us who we are. They are the ones who spread the message of the quality and the perception of boat. These are the guys who made us. They trust the quality pricing style of boat. We do a lot of things for these boatheads. That's the community of people who, for which our company is working for, our brand is made by them and it's for them. So we were the underdogs, revoltors, challengers, the idiots, the hustlers and the dreamers. That's what we are. We are boatheads. In terms of technology, our products are good. It's not that we only sell on marketing. Our products, you know, we developed world's first Alexa speaker at a sub 2K price point. We've made our, India's first Google certified. This CES, that was the first time at both Google and Amazon Booth, our products were for our showcase. We are among the best-rated and reviewed products in consumer electronics online. You know, we've got like 4 lakh plus ratings. And this is the type of, you know, these are assets today. These research and reviews, nobody can buy them. They speak for themselves and that's what spreads the love for our products. So we don't use a lot of, you know, we don't have, we don't know a lot of marketing jargon. We just, you know, these guys wanted me to tell what is right. Frankly speaking, in today's world, you have the right product. You move online, you move offline. It's not that the brand has to be made offline and then it goes online. Today, companies like ours, we didn't have the luxury of money, where we could spend millions and billions of dollars on advertising and marketing. So we were made online. We reached to the right, you know, today online serves 97% of the pin codes. So we reached through them to the 97% of India. Then we started offline and now there is offline which is helping online. There is online which is helping offline. You know, we didn't have, we didn't have the luxury of an old brand, which are the, you know, the vintage brands have those luxuries where they can, you know, the customers buy it because of their brand name. We were, we sold because of our product, our reviews and our ratings and we amplified it with our brand ambassadors. And, you know, there's a very old saying that customer is the king, which is true today as, which is the most true today. Customers are the king and they can, you know, if you, if you try to sell them something which is not good, they will bash you up on social media on YouTube, on Facebook, on reviews, they will, they are eventually the king. That's the old saying, which is true today too. Community building, as I said, you know, we believe that's more important than ever. And everybody, every market, every brand has to talk to the community in the language which they understand.  And I'm like, dude, can you check your spelling please? It's called Friday. And that, and then this guy says like sir, I'm going to handle. We know marketing. So, so these guys talk in a language which four years back, you know, I wanted to understand I couldn't these yellow Momo and you know, all these generations. And now, you know, I try to understand, try to learn from them because that those are the guys who talk in a language which sometimes I also don't understand. This is our team. We got some awards that I want to show. We have, you know, fireside ventures. Caval is on our board. He's an, he's an, he's our investor. He's, he's invested in yoga bar, paper board mama. And we've got Sachin with Navi and you know, when as our venture debt investors, they invested last year, you know, to help us grow from where we are to where we want to be. In these doubtful moments, you do what you got to do. Our targeting or marketing or advertising is never centered around the product. It's always centered around the community. It's always centered around the, the style and the aspiration which we want to create. So, yeah, employees love us. We've got, you know, they, I call them partners, shareholders, because they all have esophage. We have got a 98% retention rate. Retailers love us because we help them sell more investors love us. We don't burn money in it. You know, as soon as you see the slides of investors, people think again, another brand has come, which must be burning money. So we don't burn money. We earn money. We are profitable. Our Boathead community, our head Boathead, all the brand ambassadors love us. You know, we had Karthik Aryan just after his first movie was launched. Kiara was there even before the first movie was launched. I think when we signed up, you know, he had like less than 100K followers. K.L. Rahul, they've been a lot of chatter for last one year where he was not performing as good as he was. So we've got them. You know, these are the young guys. People follow them. People love them. And eventually, you know, all of them have been with us since, since they started their career and we started ours. So we've, I would say we've grown together. We've just signed up another guy, Shreyas Ayer. We signed him six months back even before he made his, you know, he became who he was at number five. So yesterday you should, you know, this is a very proud moment. In fact, yesterday IDC released their report on hearables and earables.  And yesterday it was launched and we were, we were the number one brand in earables in a short span of four years. Thank you.


Ladies and gentlemen, please welcome Chief Technology Officer, Cyberport, Dr. David Chung. How are you doing? So good afternoon. Before my presentation, I give you some of our video highlights of what Cyberport and our community cloud just launched recently. Yeah, please play the video first. Thank you. Thank you. So, well, since a number of you may be coming from overseas, maybe you have been enjoying our, you know, this infrastructure and our airport is so efficient.  You know, so, Hong Kong actually, we're quite proud of, you know, we have been deregulating the telco industry for a while. So we can enjoy very fast, efficient broadband network.  As you can see, a lot of reporters actually pointing Hong Kong as a very good, you know, e-commerce, e-business, as you can see, a lot of mobile is also helping all this. In terms of the readiness, you can see cloud readiness index actually pointing Hong Kong is actually ranked number three in the region that we are, you know, kind of ready for the cloud. And then, you know, a lot of this talking about Hong Kong is a very free economy. So all in all, this will kind of giving you that, you know, Hong Kong is kind of a good for ICT industry. So we are talking about 6.1% related to ICT, you know, contribute to the GDP of Hong Kong. And I think this momentum is continuing to grow as we can see this in the trend. And Cybertpoor is actually 100% owned by the Hong Kong government. This project is about 10 years now. And this is an incubator for a lot of ICT startup companies.  So Technology Center is one of our so-called center of excellence. We provide different kind of service as well as software hardware to support this startup. So our goal is really to lower the entry barrier for a lot of startup companies because we need the necessary service and support to make sure this startup company to thrive. And the journey is hard. We understand for a lot of startup companies. So that's why we have to be their so-called testing lab. So Cloud is one of the key initiatives that we kind of embarked on a couple of years ago. And so far, our community, we are growing about 300 to 400 startup. Some of them are university graduates. Some of them are seasoned professionals. So they leverage on this infrastructure, Hong Kong, as well as in the region to grow their business. Couple of companies has been profiled in different literature, for example, different magazine, et cetera, and also won a lot of awards recently. So this actually gives us some sign that maybe we can help them to be the next Tencent, next Baidu from Hong Kong. So what we can help them? Okay, so we actually gather a whole bunch of startup companies, and then about 24 or months ago, about two years ago, that we gather them and asking them, you know, if we provide cloud service, what kind of service or software they require. We could begin this journey by this focus group, and basically they are telling us that they are lack of, you know, IT or cloud expertise. And they don't know, they are still very much on the client server era, and a lot of database, they are still using the so-called traditional Intel kind of old architecture. And they are worried, you know, some of them are tasting, you know, some of the public cloud service, and they are worried about their uptime, the performance, et cetera. So this is Hong Kong after all. We don't have a lot of U.S. companies that set up their data center in Hong Kong two years ago. The support, and also the costing. And if they want to get the so-called image back from a lot of this cloud service provider, can they get it back? So these are all the questions they kind of are posting to us, and we are trying to help them on trying to resolve these kind of issues. So again, what kind of service?  But are we, you know, keep up with the industry? How about we sell out a cloud service that we can kind of compatible with the public cloud service offering, like infrastructure or service, or even some of the past services? So after all this kind of discussion, we kind of nailed down that, you know, maybe we should kind of position ourselves as the so-called the commodity cloud. So we have a hybrid model, you know, private, public, and then, you know, how we can leverage on this? We make sure that we have a very good tunnel, as well as a gateway to a lot of this cloud service provider. So we kind of realign ourselves that we have to be ensured that our cloud, if we build our own cloud, we have to ensure that we can replicate to a lot of this public cloud service provider, and then we can work with them together. As so-called the cloud service offering. So we try to look at our own infrastructure. Because our infrastructure, we have this network, we have this, you know, storage. So the first journey we try to, is to virtualize the storage. So we go to look around and then try to see what kind of technology are available out there.  Because there are a lot of this requirement from this startup company, they want efficient I.O. Because a lot of those are offering like, you know, streaming services, or maybe some of the, some of them require rendering, you know, software rendering. So we have to make sure this, the storage element, we have to make sure it is very efficient. On the network side, we also have been using VLAN to segment our network for a while, and then we are looking into different hypervisor.  So we can see the momentum is growing so fast, and it takes, you know, Linux of almost 10 years to kind of achieve. And we can see this, and then we want to be on board, you know. So we kind of doing this about a year. So we have gone through different iteration. We test out the Diablo S6. And then after we have received the Fawesome release, we think that maybe it's ready. So we gather 30 of the companies that we try to offer a pilot, you know, program for them. And this 30 of different startup companies, they have been, you know, heavy users of AWS or some other public cloud service. And they have different requirements. So we think that maybe we can offer this as a so-called test case. And so far, I think we are very successful to kind of conclude that this pilot has been very successful. And then it actually convinced us that maybe we should do it a bigger way. So, okay. So I can give you some of the successful case that have been using our cloud pilot. So you can tell this is one of the software rendering. We try to ensure the whole infrastructure is virtualized.  And then every so-called customer or a startup company, when they want to submit a job, they can submit different segments of the animation. And then we can take the load from the desktop. And this is very successful and we have managed to scale up a lot of these applications. And this is kind of offered this as a so-called software as a service to the user. Another type of, you know, kind of application is we call it IoT, you know, Internet of Things. So this application actually collects a lot of sound, you know, noise from all around Hong Kong. And then they have this, you know, this device and then sending all this data back to the cloud. This has been also very scalable because they have been using this longstop to collect different sound samples and then they will give alerts or even penalty if there is certain violate of the over certain noise level. Reader to IoT application is the building management. As you can understand, Hong Kong actually has a lot of high-rise building. And using or leveraging on this so-called Internet of Things, we can make sure the building are more intelligent. We can have less people and then we can try to collect a lot of data. For example, the temperature, as well as some of the, you know, for maintenance and repairing works can be conducted very efficiently. As you can understand, Hong Kong is also, you know, part of China. And China is actually getting their geographic information.  And so we have a company who has been leverage on this phenomenon and then take on this as well. So in the very near future, you know, in Hong Kong, you know, you can have using some of the map offered by this Tinder to the companies. Okay, so social media is also very important because you can have a spike. You know, for example, a conference, you ask for a Q&A so you can get instantaneous feedback from the audience. So this is also a very classic, you know, take advantage of the cloud computing power. So because of all the time you have idle resources, you can save a lot of loading on the server. But if you have the spike of traffic, you know, the cloud can spin up and then can increase the capacity to take care of this loading from the audience. So this is another good example of how they can leverage on the cloud. And this company has been pretty successful raising funding recently. Okay, we also try to share our own success and then we try to write up different, you know, successful story by leveraging on OpenStack, you know, this deployment. Okay, so this Monday before the summit, we take advantage of this to launch our community cloud. So I can share with you some of the so-called design goal. We try to help the companies or staff companies to look in to ensure that they don't have so-called vendor login problem by using different cloud service provider. And the self-provision is also very important. And we also include that because the community cloud we are writing on Grizzly release, so very timely we can have the neutron, the plug-in. So we also can enable the so-called SDN features within the cloud environment. And we also leverage on a third-party software to offer so-called cloud admin, you know, to manage different public cloud, as well as our private cloud. So this also available to our startup company. The load balancing as well as the API, all kind of come in a box. So the companies can kind of take advantage of this.  And they don't need to, you know, run around or sending email to one answer, and then we can help them to leverage on this platform and then try to build up their application. So we save a lot of their so-called time and energy. Okay, so we just launched it and it offered to our so-called community. So, and it's a self-provision, and we have been offering SDN, as I mentioned, and different network firewall as a service can be offered as a package. And so far we, you know, in our early trial, we have been enjoying pretty stable environment so we can offer like 99.95 uptime. And also the data center, we are on ISO 27,000 certification. So this all is kind of coming in to offer to our startup company. So this is kind of a promise that we've been to our Hong Kong startup.  And, you know, it's just a beginning of our cloud journey. And I'm sure that, you know, in a couple of months, we need to updo an upgrade and do a maintenance. So we are trying to improve our, you know, offering as well. So we are seriously looking into the past service as well and also the heat offering that we can have using the orchestration as well. So this is just a small step to a, I think this phenomenon will be continued. And I'm just, you know, need to thank for the community, you know, for the OpenStack, you know, all the contributor.  So yeah, so any questions, if I will? Okay. So if not, thank you.


And the tiger financial news network Welcome folks for the down just finished down 10 Nasdaq down for S&P's up to gold gold contract up $10 trade in a 2018 announced silver up at 19 cents trading it $25 27 cents announced light sweet crude flat $80.78 a barrel notes and bonds a 10-year note up one tick trading 1 14 13 the 30 year up six at 129 31 a king dollar king dollar down 352 ticks trading 101 751 Euro at 109 the yen at 134 in the British pound at 124 to 1 us dollar what also just happened out here is Fox just settled the the trial with dominion the stock's not moving right now because it doesn't say what they're settling at but Bottom line day that was on trial. They settled that baby But you over to the S&P's and we take a look at the S&P's what you have out here You know bottom line you don't have sellers out here So this high to me is still game the high that we're talking about here is at that 418 31 you know right now you just you've been going sideways slightly higher your volume is Contracting in a big way. So that's telling me the price is not going to hold up there because you have volume up There of 105 million you only need to 58 million today if we go take a look at the cues Same type of setup inside the cues the cues out here, you know, they're flat today They almost hit the high they missed the high if they missed the height Well, actually the volume is not that bad 43 million the highest 45 million if we go and it's gonna be all about the dollar folks Okay, bottom line to take a look at the dollar the dollar wants higher price And to me that higher price what we're talking about is only a dead cat bounce. That's what I'm talking about here Netflix Netflix bottom line and FLX That's that closed at that 330. It's trading the 300 right now. It had that high to 295 bottom line That has it's going into that high volume bar. So if it breaks that high volume bar bottom line to get down to the Lower end of the consolidation, which would be that 308 Right now it's trading right at the let's see where we are Yeah, 298 and numbers on Netflix go like this streaming paid 1.75 million they thought they're going to get 2.4 revenue 8.24 Estimate 8.47 so bottom line Netflix wants lower price have a great night folks Have a safe night come back and visit Tommy tomorrow morning kicks us off 9 a.m. Great show folks


Okay, good. So I haven't got any kind of visual aids or anything, so I'll just shut that off and have a lovely blue screen behind me. So what I'm going to talk about really is kind of taking a hackerish approach to mathematical discovery why you should and how you can with an example from something that I did recently. I don't know how long it's going to take me. I haven't prepared this very thoroughly, but sometime in the reason kind of five to ten minutes probably. So why you should well first of all I mean maybe not everyone agrees with this but I think discovering new mathematical things is one of the most brilliant things that you can do because for a brief period you know something that nobody else knows and that is I think a very exciting feeling. It's not as inaccessible as you might think. There are lots of things that can be discovered that you don't need kind of to spend years and years studying to get to the point where you can understand them and start to think about them and some of them are relatively accessible to being. So of course having discovered something you can't resist the urge to tell people about it so that that kind of private knowledge doesn't last for very long and other people aren't nearly as interested usually as you are because of course it's more fun to have discovered something yourself and hear about something that someone else has discovered. But the other thing is that you know pure mathematicians as a whole they're kind of chalk and blackboard kind of people right? Pencil and paper. It's a pretty old school profession on the whole. I mean you know they do use kind of more applied mathematicians use software and it's starting to creep in a little bit to so the more kind of traditional pure mathematical world but it's still really you know pure mathematicians are mostly not hackers and hackers are mostly speaking not pure mathematicians and that kind of creates opportunities. There are certain kinds of problems that are much more just vulnerable to a sort of hackers approach than to a pencil and paper approach. And so that creates opportunities for people like us to discover things that the pure mathematicians might have missed with their blackboards. So I mean the particular example that I have in mind is something that I did kind of recently like in the last couple of weeks it was a problem that I heard about on Reddit and as far as I know the best kind of theoretical result on this problem prior to this was the proof was written by an anonymous user on 4chan. So it's very atypical for mathematical proofs. It's unique in my experience for mathematical proofs. And the problem is the following one so ambulances right I know like fire engines they go nino nino nino are they going nino or are they going nor knee. Well it's both isn't it they're doing both. And so what's the shorter sequence of knees and nores that you need in order to get both possibilities in there. There you've got it got me nor the first two nor me the second and the third both the possibilities are in there. OK but fire engines you know I don't I'm not an expert on sirens maybe someone here isn't can tell me more details about sirens but I you know when you hear sirens kind of on the streets of London it's not just knees and nores all kinds of wibbles and and other sounds so I mean suppose there were three sounds that a fire engine can make me nor wibble then there are more possible permutations of that you've got OK bear with me knee nor wibble that's one of them knee wibble nor that's number two there should be six so let's see if this works nor knee wibble nor wibble knee wibble knee nor wibble nor knee right six possibilities so so what is the shortest kind of sequence of knees and nores and wibbles that the fire engine can play that will get all those possibilities in there somewhere so I know the answer to this I'll see if I can do it I'm going to have to think about this for a second knee nor wibble knee nor knee wibble nor knee right so so if you think about thank you so I mean if you if you if you think about that you'll you'll see that all the every all six possibilities have been included in there somewhere but there were only nine sounds in that sequence so it's more efficient than just doing all the six possibilities one by one you've you've saved some effort and there's a there's a there's a kind of algorithm that you can use to construct this kind of sequence with different numbers of sounds so super permutations was my ill considered title because someone in about 1993 decided that super permutations were what they wanted to call these sequences because they contain all the possible permutations so they're like super because they contain them all I guess is the idea like a super set so anyway so that you can construct super permutations and it turns out that for four symbols I'm not going to attempt to do this I'm sorry I did can think about it but I'd need to practice lots more than I have to do it but for four symbols it is what's 24 plus 9 it must be 33 33 sounds long is the shortest sequence of five sounds that contains all the possibilities and in general the construction goes it goes do you know about what a factorial is ok so it's it's a sum of factorial so for say for five sounds it would be one factorial plus two factorial plus three factorial plus four factorial plus five factorial and until about the spring of this year it was unknown whether this kind of so if you do one factorial plus three factorial plus three up to five factorial the answer is 153 and so you can construct a sequence of 153 I don't know what the five sounds be it would be like Do Re Mi La So is that right if they were if it was maybe more of a musical kind of fire engine than the traditional ones so that they would be at the sequence of 153 Do Re Mi La So but the the there's a proof as I say that the only written version of this proof that I'm aware of was written by an anonymous 4chan user which proves that the shortest possible sequence would be 152 sounds long so there was this kind of unknown question was it 152 or 153 the shortest one for five sounds and a bloke who whose day job is designing processors for Intel but who obviously is a mathematical hobbyist wrote a C program that used a relatively clever kind of technique to find out all the possible shortest five symbol things and anyway the answer is 153 is the shortest but there are eight different ways of doing it not just the obvious way so then am I out of time another three minutes perfect okay so there's a something called the traveling salesman problem so there's a salesman who has to travel around to lots of different cities to sell his underwear to all the people of these different cities and he wants to do this in the most efficient way possible so he wants the route that has takes the shortest distance that visits all these cities and then returns to where he started and so although maybe it's not obvious this particular problem is kind of the same problem really because your cities are all different permutations and the length of the route is the number of different sounds that you had to do to make the next one so you want to make all the different all the different permutations by the shortest possible route so basically this is an instance of the traveling salesman problem and it also turns out that very very smart people have been working out how ways to solve the traveling salesman problem ever since some guys at Rand Corporation in the 1950s first kind of started tackling this and it's really really well studied and there are really really really fucking good algorithms for doing it which you can download for free and they have a competition every year to see which one's the best and so so the question for the problem for six symbols was totally unknown but I kind of noticed that it was the same as the traveling salesman problem so I downloaded a program called LKH which finds solutions to the traveling salesman problem and I you know worked out its input syntax and fed this thing into it and I left it running overnight and then when I woke up the next morning it had disproved this 20 year old conjecture that the shortest thing for six symbols would be 673 symbols long was the conjecture I think if you added up but it's not true it's not true at all there's one that's 672 symbols long that had gone undiscovered for 20 years that actually you can discover in one night just by kind of reading the manual for a C program and leaving it running overnight so that's really the end of the story thanks. Anyone have any questions for Robin? I uploaded a kind of three page paper to the archive yeah so it's not technically published but good enough I think One right at the back, two at the back. Stop by the door. I did submit an edit to the online encyclopedia of integer sequences yes so that there is a sequence related to this problem which said that it was conjectured to be equal to this other sequence which is the sum of factorials and I submitted an edit saying it was conjectured to be equal to that sequence but actually it isn't and included a reference to that to my thing yeah. And one more question at the back. I've considered it yeah I left it running for a few days but it didn't really seem to be ending anywhere even close to the conjectured band so I think some more intelligent approach is likely to be needed just for seven. So I mean the other thing that's unknown is what the actual minimum is for six. So the program that I used is a heuristic solver it just searches for solutions but it doesn't prove that they're minimal. I tried an exact solver that proves that the solutions are minimal and it ran for a week and then crashed. So I still don't know the answer to that. Thank you.