Hello everyone and welcome to this virtual presentation, I'm Yao Jiang. This talk is about analyzing the security notions based on unique and bidirectional updates and constructing a post-content updateable encryption scheme. I will first talk about what updateable encryption is and offer a motivational example to show a use case of updateable encryption. Let's consider a cloud problem. A cloud user Alice wishes to outsource some data to the cloud storage provider. She has a key K0 which can be used to encrypt data. Alice encrypts data in locally and sends the ciphertext C0 to the cloud. The cloud will store this ciphertext. However, Alice's key might become compromised. The adversary who has this key and the ciphertext stored in the cloud could recover the encrypted data. The standard technique for mitigating key compromise is to regularly rotate the encryption keys. That is generate new ones and switch the ciphertext to encryption under the new keys. A cloud user can do key rotation by downloading, decrypting, re-encrypting and uploading its data. This is a very expensive approach. Updateable encryption provides a solution that allows the cloud to update ciphertext from an old key to a new key. The cloud user generates an update token and sends it to the cloud. The cloud server uses this update token to update ciphertext. The cloud user will delete the old key and the token when she sends out the update token. An honest cloud server will delete all the old ciphertext and the update token after it has finished all the updates. It is reasonable to expect that fresh encryptions, updated ciphertexts and the tokens shouldn't reveal anything about plaintexts to an adversary. The time period when a key is valid is called an epoch. An updateable encryption scheme operates in epochs. The update token can be used to move ciphertext from epoch i to epoch i plus 1. The main benefit of using an updateable encryption scheme is that it offers an efficient way for key rotation, where an update token can be used to update ciphertext. However, this property is a double-edged sword. The update token can potentially be used to derive ciphertexts and keys in the adjacent epochs and elix additional information. If an updateable encryption scheme has unidirectional key updates, the update token can be used to infer the new key from the old key. It can't be used to derive the old key from the new key. If an updateable encryption scheme has unidirectional ciphertexts updates, the update token can only move ciphertexts from the old key to the new key, but not vice versa. If an updateable encryption scheme has bidirectional key updates, the update token can both upgrade and downgrade keys. If an updateable encryption scheme has bidirectional ciphertexts updates, the update token can be used to move ciphertexts from the old key to the new key and vice versa. Intuitively, UE skins with unidirectional updates are desirable. Such skins leak less ciphertexts and key information to an adversary compared to skins with bidirectional updates. Now we have a question. Are unidirectional updates better? We will show that the security of UE skins are not influenced by unidirectional updates. In this work, we define a new update setting for UE skins. That is no directional key update setting. In the no directional key update setting, the update token cannot be used to derive keys. It thinks that UE skins with no directional key updates are the best, since they leak no additional key information. We will show that the no directional key update variant of a security notion is strictly stronger than the union bidirectional update variant of the same security notion. Confidentiality notions have been studied in prior work. Boy et al introduced a security notion for UE skins, which is in the UE. This security notion is defined by using experiment that is running between an adversary and a challenger. In the in the UE game, the adversary may send a number of oracle queries. At some time, the adversary sends a message and a ciphertext in the previous epoch as an input to a challenger query. This challenger randomly flips a coin B and responds either a fresh encryption or message in, or an updated ciphertext of C as a challenger ciphertext. Eventually, the adversary guesses the value of B. The adversary's task is to guess whether the challenger's ciphertext is freshly created or an update of the previous provided ciphertext. At the end of an experiment, the challenger evaluates whether or not the adversary wins. If a true win condition was triggered, the adversary will always lose. Now we look at how can the adversary truly win a security game. Here we only discuss one true win condition. For the analysis of all true win conditions, please refer to our paper for the details. Record that the updated tokens can be used to gain more information, which provides the adversary more power. In this toy example, token 2, token 4, key 2, key 3, key 5 and key 6 are corrupted. C1 and C4 are known to the adversary. The adversary can use these values to infer additional information. Assume the UE skin has unidirectional updates, then the adversary can infer key 4 from key 3 and token 4, infer token 6 from key 5 and key 6, infer key 2 from key 1 and token 2. If the UE skin has bidirectional updates, the adversary can infer the value above and infer key 1 from key 2 and token 2, infer key 3 from key 4 and token 4. Notice that the adversary can use key 4 to decrypt key 4 to truly win a security game. No matter the update setting of the UE skin is unidirectional. Note that security notions defined in prior work were designed for bidirectional updates. No security notion was introduced in unidirectional update setting. We now define six variants of Confidentiality notions. These six variants are a combination of three versions of key updates and two versions of CypherTex updates. Security notions for UE skins with unidirectional updates are included. The gains for these six variants are the same. The adversary and the challenger behave the same. The only change is how the challenger evaluates the trivial win conditions. The trivial wins depend on the update settings. For example, in bidirectional update settings, the adversary gains more information and it seems more likely for the adversary to trigger the trivial win conditions. We will show that in any security game, if the trivial win conditions in the bidirectional update settings are triggered, then the same trivial win conditions in the unidirectional update settings would be triggered as well. As a result, security notions with unidirectional and bidirectional updates are equivalent. Integrity notions for updatable encryption skins have been studied in the work of clues at all. In the integrity game, an adversary attempts to provide a valid new CypherTex to the challenger. The challenger will evaluate if it is new and decrypts to a valid message. If so, the adversary wins the integrity game. Note that if a trivial win condition was triggered, the adversary will always lose. We can similarly analyze the trivial wins for integrity notions as we did for confidentiality notions. The details are shown in our paper. We again define six variants of integrity notions. Similarly, the integrity notions for these six variants are the same. The only change is how the challenger evaluates the trivial win conditions. Now we present relations among six variants of the same security notion for UE skins. We prove that confidentiality or integrity notions with unidirectional and bidirectional updates are equivalent. But security notions with no directional key updates are strictly stronger. Recall that the gains for six variants of the same security notions are the same. The only difference is how the challenger evaluates the trivial win conditions. To prove security notions with uni and bidirectional updates are equivalent. It is equivalent to prove that in any security game, if the trivial wins in the bidirectional updates are triggered, then the same trivial win conditions in the unidirectional updates settings would be triggered as well. Let's look at some motivation examples, which helps us understanding this relationship and present the proof idea. Consider a confidentiality game, where we have an adversary against some variants of the confidentiality game for a UE skin. We reuse the corruption example presented before. Information in the red and pink boxes are revealed to the adversary, no matter uni or bidirectional updates. Information in the orange boxes are revealed to the adversary, only in bidirectional updates. Notice that in both uni and bidirectional update settings, the adversary can trivial win the confidentiality game. If it asks for one of C1266, and the adversary will not trivial win the confidentiality game, if it asks for none of C12C6. For example, if the adversary asks for C1, it can influence C2 by the knowledge of token 2. If it knows C2, then it can use K2 to decrypt C2 and knows the underlying plaintext to trivial win a confidentiality game. Hence, the adversary can trivial win a confidentiality game if it asks for C1 or C2. This result holds for both uni and bidirectional update settings. Similarly, we can consider C3, C4, and C5, C6. This example implies that in a confidentiality game, the adversary either triggers trivial win conditions in both uni and bidirectional update settings or never triggers trivial win conditions of either settings. This means that uni's gains with uni-directional updates doesn't provide more security than uni's gains with bidirectional updates. Then we look at the same corruption action, but in the no-directional key update setting and uni-directional self-attacks update setting. In this example, the adversary cannot trivial win the confidentiality game in its action. Recall that the adversary can trivial win the confidentiality game with this action if the update setting is uni or bidirectional. This example implies that the security notions with no directional key updates are strictly stronger. Similarly, we can consider the integrity gains. Please refer to our paper for the details. We will now discuss our post-quantum secure UE construction. In the table of this slide, we provide a comparison of UE skins from prior literature. BLMR is an application of key homomorphic PRFs. However, the encrypted nouns in the self-attacks can be decrypted by an update token, which makes it impossible for BLMR to achieve in the UE security. The security of RISE, NEE UAE, encrypt and mark and shine are based on the hard problems in the classic setting. They cannot achieve post-quantum security. The question mark represents that we have not proved the security result for NEE UAE, encrypt and mark. We believe these security results are true. Notice that existing self-attacks independent UE skins are either vulnerable to quantum computers or not able to achieve in the UE security. In this work, we also want to solve a problem that finding a post-quantum secure UE skin. We now introduce our update for encryption skin LWE UE, which is parameterized by an LWE-based PKE skin. We use the encryption and decryption algorithm of PKE skin to encrypt the message and decrypt self-attacks. The update token is the difference over two continuous secret E4 keys. To update self-attacks, LWE use a re-randomization that is similar to the idea of RISE in the work by Leama and Takuma. The update algorithm uses the update token to update self-attacks from an older one to a new one. More precisely, the update algorithm first moves self-attacks from the older key to the new key. This newly created mid-term self-attacks is a valid self-attacks on the new E4 key. However, the mid-term self-attacks may not be independent from the older self-attacks, which is not enough to provide the security for the desired UE skin. That is why we want to do re-randomization. The update algorithm re-randomizes mid-term self-attacks to a fresh new self-attacks by adding a random self-attacks which is an encrypted self-attacks of the zero element. The final output of the update algorithm is a valid updated self-attacks and is a random self-attacks that ensures the security of this UE skin. Notice that errors in updated self-attacks increase when they are updated. Since the total number of epochs will be a comparatively small interval in practice, errors in updated self-attacks will not grow too big and the decryption will be correct with overwhelming probability. We also have the result that LWE is rendering the UE CPA secure. The security proof is not that simple. It includes a lot of technical problems. Please refer to our paper for the details. Now I conclude our contributions. We introduced six variants of security notions for UE skins. There are a combination of three versions of key updates and two versions of self-attacked updates. We proved that our security notions with UNI and bi-directional updates are equivalent. When we analyze the security, we can see that bi and unidirectional UE skins are the same. The security will not be influenced by the update direction. This means that UE skins with unidirectional updates will not provide more security than UE skins with bi-directional updates. This is a surprising result. We also demonstrated that security notions with no direction of any updates are strictly stronger. Our second major contribution is designing a post-quantum secure UE skin. There are two open problems remained to be considered. The first one is to construct UE skins with no directional key updates. Whether such UE skin exists is unknown to us as well. The second open problem is finding UE skins with chosen cyber attacks post-quantum security. Thank you for your attention and that is the end of my talk.


The surgical community objects to the characterization of bariatric surgery as merely internal jaw-wiring and cutting into healthy organs just to discipline people's behavior. They've gone as far as to rename it metabolic surgery, suggesting the anatomical rearrangements cause changes in digestive hormones that offer unique physiological benefits. As evidence, they point to the remarkable remission rates for type 2 diabetes. After bariatric surgery, about 50% of obese diabetics and 75% of super-obese diabetics go into remission, meaning they have normal blood sugars on a regular diet off all diabetes medications. The normalization of blood sugars can happen within literally days after the surgery, and then 15 years after the surgery 30% may remain free from their diabetes compared to a 7% curate in a non-surgical control group. Are we sure it was the surgery, though? One of those challenging parts of bariatric surgery is lifting the liver. Since obese individuals tend to have such large fatty livers, this can be tricky risking liver injury and bleeding. And large livers are one of the most common reasons less invasive laparoscopic surgery turns into fully invasive open surgery, leaving the patient with a large full belly scar and increased risk of wound infections, complications, and recovery time. But lose even just 5% of your body weight and your fatty liver may shrink by 10%. That's why those awaiting bariatric surgery are put on a diet. Then after surgery, patients are typically placed on an extremely low-calorie liquid diet for weeks. Could their improvement in blood sugars just be from the calorie restriction, rather than some sort of surgical metabolic magic? Researchers decided to put it to the test. At a bariatric surgery clinic at the University of Texas, patients with type 2 diabetes scheduled for gastric bypass volunteered to first undergo an identical period of calorie restriction, but without the surgery. They were placed in the hospital and put on the same diet they would be on immediately before and after the surgery for 10 days, averaging less than 500 calories a day to mimic the surgical situation. Then the researchers waited a few months so the patients would gain the weight back and then put them through the actual surgery matched day to day for the diets they were on before. So same patients, same diets, just with or without the actual surgery. If there was some sort of metabolic benefit to the anatomical rearrangement, they would have done better after the actual surgery, but in some ways they actually did worse. The calorie restriction alone resulted in similar improvements in blood sugar, pancreatic function, and insulin sensitivity, but several measures of diabetic control improved significantly more without the surgery. So the surgery seemed to put them at a metabolic disadvantage. The calorie restriction works by first mobilizing fat out of the liver. Type 2 diabetes is thought to be caused by fat building up in the liver and then spilling over into the pancreas. Everyone may have a personal fat threshold for the safe storage of excess fat. When that limit is exceeded, fat gets deposited into the liver, where it causes insulin resistance.  By the time diabetes is diagnosed, half of our insulin-producing cells may have been destroyed. To put people on a low-calorie diet, though, and the entire process can be reversed, a large enough negative calorie balance can cause a profound drop in liver fat sufficient to resurrect liver insulin sensitivity within seven days.  Once you drop below your personal fat threshold, you should then be able to resume normal intake and still keep your diabetes at bay. The bottom line is that type 2 diabetes is reversible with weight loss if you catch it early enough. Lose more than 30 pounds, and nearly 90% of those who've had type 2 diabetes for less than four years can achieve remission, whereas it may only be reversible in 50% of those who've lived with the disease for longer than eight years. What's losing weight with diet alone, though? The remission numbers for diabetics losing even more than twice as much weight with bariatric surgery may only be around 75% up to eight years and 40% after that. Losing weight without resorting to surgery may offer other benefits as well. Diabetics losing weight with diet alone can significantly improve markers of systemic inflammation, such as tumor necrosis factor, whereas levels significantly worsened when about the same amount of weight was lost from a gastric bypass. What about diabetic complications? One of the reasons we don't want diabetes is we don't want to go blind, and we don't want to have to go on dialysis. Reversing diabetes with bariatric surgery can improve kidney function, but surprisingly it may not prevent the appearance or progression of diabetic vision loss, perhaps, because bariatric surgery affects diet quantity, but not necessarily diet quality. This reminds me of a famous study published in the New England Journal of Medicine that randomized thousands of diabetics to an intensive lifestyle program that focused on weight loss. Ten years in, the study was stopped prematurely because the diabetics weren't living any longer or having any fewer heart attacks. This may be because they remained on the same heart-clogging diet, but just in smaller portions.


Hi there, my name is Hannah and I'm going to show you how you can identify your competitors using Maz's brand new True competitor tool. It can be really hard to figure out who your competitors are, let's say if you're a new business, or just somebody who hasn't really thought that much about it before. But that's where True competitor can help. Firstly, if you'd like to learn more about this tool, you'll notice that there's a more info button here and you can click it. It's going to give you an overview of the competitive research suite of tools as it holds, including some videos and some guides. The first thing you're going to see when you want to go look for your True competitors is that you're going to be able to enter a website. I've been the huge lately, so I'm going to pick Steve Madden. You can also select your domain type, whether it be domain or subdomain. Personally, I'm going to stick with domain for this example. And finally, you just need to choose the country of your preferred market, then hit find competitors. So the first thing you're going to see is your website and your domain authority. The DA is a Maz metric that is used to predict how likely it is that a website will rank. It's calculated by evaluating multiple factors, including linking your domains and the total number of links into a single DA score. Domain authority scores range from 1 to 100, with higher scores corresponding to a greater likelihood of ranking. So from there, we'll scroll down and you'll see that Maz will generate a list of up to 25 competitors listing them from most competitive to least competitive. You'll see the list of competitors on this left hand side, and we can also see several metrics. We can see the DA for each competitor, as well as two new metrics, overlap and rivalry. The overlap metric refers to the percentage of keywords that we analyze that you share with a given competitor. The rivalry metric is on a scale of 1 to 100 and combines your DA, your competitors DA, keyword overlap, keyword volume, and your rankings to identify your biggest rivals. You can filter this list by each of the metrics that we see here at the top to analyze further. You can also export this file to a CSV that you can view outside of MazPro. I hope this video was helpful in you finding out for once and for all who your true competitors are. Thanks for watching!


Thank you Okay Let's get started. So this talk named from fun to business is about Maybe like three main things the first one is the most important thing fun Have more fun, please. This is like my major call to action. I want you to have more fun And it's also a bit about open source. It's a bit about how we grew the koala open source project and Then in the end we will be talking about like Even what what do you do if your open source project takes over your life and you're like 30 hours a week in your free time Maybe you can try making business with that while keeping the stuff that makes fun So fun is really essential That actually means or Can mean in my case Sometimes making less money Can help you making more money per hour like just like do only stuff that is fun and if you have like not enough time and People are willing to buy that time. It's a normal freelancer You can just charge more per hour for example So we will be talking about those kind of stuff as well as then being an entrepreneur So the red line through this is basically just my personal story because I Basically started out as a student in a university and I was bored So when you're bored, there's basically nothing better you can do with your time than writing operating system, right? So that's what I did and and that was called Yafos yet another free operating system and That was like a I was a colonel it had it even had like multi-processing in the end and it was printing ace and bees and parallel on the screen and I was very very Excitedly showing that to my girlfriend and she was looking at me like a sheep But you know it was fun and I learned a lot about it and I never regretted doing this kind of project But what went from this project? Eventually we had lots of code and it was lots of shitty code and I had a friend I was like Hey, do you want to join this? This is really fun writing an operating system colonel and see he was like no way I'm going to try something new Python And I was like very skeptical a language that uses indentation But he did his stuff and then he wrote He wrote basically the first version of koala back then which was a Code checker that actually already dynamically loaded Python routines that would check my source code because it was also ugly and badly readable to Go to be a bit a little sidetracked from that story What happened then was my introduction to open source and that was a Google summer of code short Gsoc For those who don't know a Google summer of code who knows Google summer of code Great who raises his hand when they ask him to raise his hand like everyone raises hand Okay, that didn't work interesting Google summer of code For those few who didn't raise their hand is a program of Google and they set out scholarships For Pete for students to work on open source projects over the summer. The motto is basically flip bits instead of burgers It works pretty well, and I had a Google summer of code at GNOME So I was working with GNOME, and I was learning a lot especially about gits Gits and git commit messages And more about gits. So that really shaped the way I am nowadays working and thinking and it was the first time I worked on real life project and that and that was way beyond University stuff because much of that like especially like how you work together in a team is never being taught properly in universities and All that people know outside universities seems to be the git flow Which half of the people think they use but don't use and the other half of the people maybe use I don't know But do you do to this Google summer of code I got involved in open source and Eventually we made koala like a proper open source project and we renamed it and we rewrote it and out of sudden people became interested and This was really unexpected This whole project was just done so we could have a refund you see a pattern here, right? So eventually people got interesting interested and helped us doing this Because a lot of people are asking also last time after the talk like what is koala anyway I Will do like very very quick presentation of what koala is koala. I mentioned this earlier Analyze source code it finds problems in the source code and it also can fix some of them So it can give you patches. It's like a linter, but it's a linter framework So if we look at the world of linters, we have lots of different tools Like really lots and lots and lots of tools and we have lots of ways to use those tools And it's basically like rewriting labor off is just a spell checking for another language, which is kind of stupid But that's how the world currently looks like So koala is a framework that allows you to write code analysis and it gives you the whole user interface for free So you just write the logic And what we also did was We wrapped the existing tools so koala is one central API I can take all tools wrap them to it and then again you can use all those tools in Sublime if I want to or maybe directly in GitHub as though currently the code analysis provided is for more than 60 languages and If you want to know more you can come to our stand, which we have in the hall. We're also some of the food is At some point we had a problem a Very comfortable problem to say so So this is the graph of the github stars, but the contributions like the number of contributors behaved similarly and with programs like Google Summer of Code and with hackathons we had Lots and lots of people joining the project Lots of people also only for a short amount of time But some not and we had a community that was steadily growing And we really had a problem of we have those great Mainteners who are all helping us And they are all busy Inviting newcomers assigning them to issues GitHub permission system is totally broken in case you don't know it like you can't Give somebody access to take an issue without giving him full right access on everything Also, you don't want to have all your maintenance have administration excess being able to change everything like inclusion Including branch protections. I wish even I couldn't change that so with that we had the need for automation and Also, we Investigated like what makes people come to open source projects and what makes it easier for them to get started So as for the last thing I basically took like what I learned from gnome and what I think that so to say went wrong Or that could have been better and a few of I'm now presenting like a few things a few tips and tricks if you want to if you want to make An open source project if you want to get contributors and it basically is down to make contribution easy and make contribution also rewarding if you can Because in the beginning as a newcomer you have two problems You need to fix an issue in a code base that you don't know and At the same time you also need to learn a new workflow and that is the git workflow usually the workflows in open source projects are like More complicated than what people know from their company or from the university Especially if you have like a proper workflow meaning no merges and fast for us because you want to have your passing CIO also passing on master So you can for example introduce issue levels and That is a very simple tool It basically says like whenever you see a typo in your documentation or anywhere Something that is really really simple to fix something that you can you can grab any person on the world Tell that to who can speak a little bit of English tell that person to fix it and that person can fix that issue That's a newcomer issue And the newcomer issue is critical So people can learn the git workflow people can learn the git rebase people can learn how they can make pull requests and if they can do all that not that's fine, then they're done with this in five minutes and if not then they learn this and Usually like I think almost every contributor and that includes to experience people because workflows are special every contributor learns something The next thing is that You also have the problem like you have few maintenance and you have lots of newcomers At the same time like those newcomers You want them to be part of your community and you want them to grow up You don't want them to feel like I'm just a contributor and there's those holy mighty maintainers So what you can actually do is like let them review code of the maintainers and the maintainers review code of the newcomers because The maintainers are maybe more experienced but the newcomers are also providing a fresh site a fresh view on the code and They they are a good complement to each other and at the same time newcomers feel respected and their opinions are taken into account and then they also grow up faster and They can become a maintainer eventually and This this whole border of maintainer and newcomers just like a permission thing There's nothing more Yeah, so those quotes I sometimes have quotes here those are things like when I asked the Call our community about like what do you like or not like about our newcomer process? We I don't think we had any negative comments on stuff that we did accept that Reviews are not fast enough. That is Problem for us at the moment so the next thing is same a Bit in the lines of before we can learn from newcomers like we the holy mighty maintainers We can learn from the new people Especially when it comes for example to the newcomer workflow like how did this go for you? Did you have any problems? Where are your problems? It's like you can use ability test your newcomer workflow And then you can make it very easy to contribute and then you can get more contributions It's basically as simple as that So you have to iterate and you have to think like a startup and That is a decision that you really have to make Because you can't really Progress like super fast with the maximum of power that would be like having all maintainers working on all important features And instead you can decide you don't have to to grow your community And that will cost time it will cost a lot of time for the maintenance and everyone But you will you will grow as a community and you will have to think like a startup because a startup Usually doesn't think about like revenue or short term goals. They want to grow as fast as possible and So I think this comparison is like really an interesting thing and that is something that an open source bridge It has to decide what is my priority? so eventually This became the full-time free-time occupation as I hinted earlier And now we're getting a bit into the automation part so We started writing a tool that Reviewed the pull requests of our people automatically using koala. We already had the code analysis tool So why not use it why not have the newcomers automatically being told hey your commit message is not an imperative tense Or you have a trailing period in your commit message. Those are like the most Common issues for newcomers are they have to learn the commit message guidelines or also the code style and This way newcomers get an instant feedback on GitHub for the code Yeah, I don't have a demo for this right now, but It's it's basically just a bot that automatically commenced right in the GitHub diff And You can go further you can automatically label issues if the issue label is in the issue text So people who don't have access to labeling issues can just mention them in the body You can build a chat bot to assign people to issues so they can self assign them without having right access to the GitHub Propositary I will do a lightning talk about the chat bot right after the stock in the lightning talk session and The next steps for us are we definitely want to look into finding duplicate issues for example Because the issue base grows and this is all stuff that sucks up maintainer time and that you can automate So thinking about how can we turn this into business we have this I'm working on this. This is all great. It's totally fun But it's not really sustainable forever and open source community can only grow so far with love and error, right? So I personally started to go freelance at some time Problem with freelancing is it's kind of hope business As the founder of an open-source project you usually have something that you can show to people and that definitely works It's usually being perceived as a very impressive thing, although like It's just luck, right? Plus a bit of like iterate and take feedback seriously, but it's nothing really special So What I try to do with my freelance business is I basically try to make a sustainable business model And then I tried building this website and this totally failed So I'm not showing an advertisement here, right? This is a failed product Because I think it's also important to show things that do not work This was for example like hey, we're good with open source We can grow open source communities and we have shown success here We can show off stuff and let's just Try to build packages that companies would pay on a monthly basis That to help companies building open source projects and Like we didn't fully check that business model like to the book with some lean startup methods but I did talk to a few people here and there and We had the website up and there was No interest at all in this like nothing so we screwed this and I found a new project new product which is Working on MVPs for startups, which seems to go better I think one lesson here is if things are screwed up Just throw them away like that's okay, and then maybe you wasted a bit of time But that's no reason to waste more time, right? so Apart from this freelance business we were like how can we make a Business that suites more than one person. It's again like how can we make a product? Also, especially a product that is related to koala and That is basically what we tried with gitmate or what we are currently trying with gitmate and We're a startup. It's completely chaotic. We have no idea where we're going I think it's good that way. It's very fun. It's exciting Actually, I can show it like this was the automation that I talked about earlier So every poor request would get a poor request state and You can you can have comments right in the diff that basically show you how to build better source code and We are not fully sure how we are going to make a working business out of this We got some government funding. We have a first client that pays us for GitLab support for this basically But it is possible to Go out with open source products to build Solutions that are free or at least largely free. We are still considering the open core model Which is what GitLab also does? But it is possible to do that and I'm saying you can do that and I can do that like you just have to just do it and The main lesson is again Have fun in whatever you're doing and Don't be afraid of I Need a hundred bucks more in my bank account If you don't really need it, I don't know there may be cases where it really matters, but In my case like it does not really matter. I can pay my rent. It's not a lot, but it works and I can have fun doing what I want and I think that's more important than having way more money that I would need or can eat And that's basically the main message and with that I'm Opening up there on for questions With the hint if you want to speak more like if there's any questions that we can't talk about We have a koala stand in the main Hall where all the other stands are I'm mostly there and you can approach us with any question you like I don't know and if it's what do you take per hour? I don't know be blunt, right? Just come around and also consider coming at the hackathon if you want to get hands-on on Anything koala git made or your own project Right Okay, so any questions Thank you. Last for this wonderful talk. We have some question We can go for Okay, do you want to add more about the project itself? We have some minutes. Are you sure there's no questions? Okay, I Don't know. Is there anything that anyone would like to know? I Don't want to bubble all day long with nobody actually wanting to hear more information And we can just close this and if you have questions Yes, so you just you just take some time for the first question to come Hello, my name is Hanyari and I have the same issue that described if GitHub not being allowed to give other uses to tag the issues or Assigned to people to fix. Did you try any other? Workflow instead of like having a bot to try to do that work Sorry, you're you're asking about the permission problem. Yes, and if we tried any Existing bots or solutions to that? I don't know. I just wondering because I Think it's a big issue for any community that you are trying to build to like not being blocked just because Someone decided no, this is a feature that we're not going to implement like giving permission for Brandon people So do you know the S flag for UNIX executables? Sorry, do you know the S flag for UNIX executables? So basically it says like this application has administration rights Even if a non administrator runs it, right? It's used for for example, plus plus WD like for changing your password You need access to a normally read-only file So you have applications that have root access that otherwise don't have root access We basically did the same with GitHub by having a bot I Can show you? so we have a chat bot and when newcomers come and the page loads They have to wait until the page is loaded and After that they basically just like right hello world into the chat And then we have a bot the bot has a github account that has full administration rights Okay, so much for that The bot has a github account that has full administration rights, so Here so when you write hello world the bot can just invite you to the organization and Tell you like here. Take care of that. Take care of that. We have documentation about newcomers guide and everything and Then you can just do portable assign me assign me to that issue give me that issue and All those newcomers don't have access to the repository but through that bot like this executable Which can perform actions for you But only selected actions the bot can assign people and then you don't have this permission problem anymore and That's this is open source at github.com Slash koala slash codeable. I will present it later in the lightning talks Did this answer your question? great We can take Okay, I think probably they're waiting for your lightning talk they will happen soon so Thank you so much last game


object mapping is the process of translating the identity at the higher layer to the more tangible commonly known addressing at the lower layers. So we need to understand what are the identifiers and what are the options for identifying objects at various layers then what is what are the mapping requirements and what could be the possible options the identifier is basically the identity of an entity at a certain layer so a physical host like a computer could have multiple or many many objects or IDs associated with it each one requiring some unique identifier IPv6 ngn addressing for different types of objects requires each object to have connectivity to the network as well as globally recognizable and contactable attributes so unique object ID is crucial for end-to-end communication and we know that in internet of things and web of things each entity as small as a Fitbit or perhaps a user app needs to have an identity so we start off with very basic concepts of identifiers like URLs, URIs, the E.164 numbering scheme and the classical IP and MAC addressing let's now look at the mapping requirements the mapping requirements directly come out of the relationship between the objects their identifiers and the identities which are translated into more well-known addresses at the transport stratum so we have the application we have the applications where each user an object has to have some identities now these identities need to be given IDs and these IDs have to be translated into addresses the relationship could also be seen as names getting translated into URLs getting translated into MAC IPv6 addresses session IDs etc so the requirements which are going to come out of it are first of all the network layer has to provide separation of the node identity and the locator roles because we know that if you look at a IPv4 address in particular it has two purposes the first one is it identifies the location where this particular IPv4 address is situated then it also identifies the object or the host to which it is binded so we have certain protocols like the host identity protocol which performs this decoupling between the ID and the locator purpose of the IP addresses by using the identity tags it has its own implications it makes things more complex then we have a certain mapping options like we could have direct mapping or we could have indirect mapping direct mapping is where the object is directly located in the end host via the same point of attachment but in other cases an object could only be accessible through a gateway or through an ad care of address as in mobile IP version 6 so the mapping options which could possibly be realized could be that mapping could be one-to-one when the host itself is the object so we could have a computer or a telephone a simple example like that but we know that one host could have many objects so we need to have mapping between host and objects so in this case host is not the object but host has many objects so we need to provide the virtual and physical content based objects with own identifiers for that we need the object mapping that we've just discussed sometimes a gateway node maintains an object gateway table for mappings now this is a unique thing which could also be realized where we dedicate an entity known as the gateway that keeps track of all the objects which reside or are contained within a host


So before I start, I just wanted to have a small quiz. How many of you are working on mobile? 20% of the audience? Anything on the mobile? Could be an app, UI interface. So my name is Naveen Satya. I'm head of design at Keypoint Technology. A little bit connection with the previous talk. So the Keypoint actually built third party keyboards. And we have a keyboard on 180 languages. So we cover almost every language in the world. So if you use our keyboard, you can see and at least write. It might not be that accurate or fast in all the languages, but you can type that. This is my Twitter handle. Naveen Satya, before Keypoint, I spent about five years at Microsoft.  Cortana is personal assistant at Microsoft. If you know Bing.com, it's a search engine. And the last one, probably, you know about Skype. We acquired, and I also spent some time on that. About two months back, I moved out of Microsoft. I joined the company, Keypoint Technology. And there I'm working on a new product called Exploree. I'm going to talk more about Exploree towards the end of the talk. So I think it's too much about me. Let's talk about this guy. So in a survey, it came out that three out of five people admit that they yell at their computers, which means that other two people are lying, because we all yell at our computers. And why do we do that? Because as human, we tend to get angry. And when we get angry, we blame things around us. It could be people. It could be product. It could be anything. And as human, we project human emotion on everything, everywhere and all the time. Let me talk a little bit more with an example. So if you see, there's a dude on the right, and there's a computer, or it can be an app or a software on the left. If everything goes well, if you're using an app and it matched with your expectations, you kind of like it. And many times, you talk to people also, hey, I love this app, because it matched with your expectations. But when it doesn't happen, the opposite is also true, then you start hitting it. You know, in response, you're going to install the app. So it's all about when you match the expectations, you see things working. If it doesn't match, it tends to disappointment. And sometime, as human, we even go and take some revenge. So revenge could be for an app, you uninstall the app. And that's why if you see in the mobile industry, 80% of the apps got installed on the same day when you install them, because they don't like it. So what my talk is about. So when I said bringing soul to your designs, I mean about making the emotional connections. I'm going to head this. So what is it? So it's all about understanding the connection between emotion and reaction, or an action. And if you do that, we can apply that knowledge to make a human connection through design. And that's what I'm going to talk about. So if you as a designer, or as a product owner, if you're working on it, what we want to do is we want to design an emotional response that increases the likelihood a user will perform a desired behavior. Now the desired behavior in your product or in your app, it could be the submit button on the checkout page. It could be convincing a user to upgrade so that they can pay for your service. Or it could be anything like starting to use a service. So I think what I talked so far is this is why we should care about the soul or emotion connection which you can make with the product. But also I'm going to cover today is why we should design for emotion. How do we do this? And I will end with a case study. So let's start with why design for emotion. So when I started my career about 10 years ago, usability was pretty big thing. But if I see the landscape which got changed because of mobile in the last two years, designing for usability isn't good enough. Any surprises? If you see our industry like tech industry, software, apps, if you make a usable interface, you are gonna do well in the industry. And I think that is true because our history is not very long. It could be 20 to 30 year old industry. But if I compare with other industries, look at the cars. This car was usable. It probably ugliest looking car I ever seen. It will take you from point A to point B, but we didn't stop there. We built something better than this. We built something which can bring emotional connection with the product. And that's why you see a lot of beautiful cars in the market. So the point I'm trying to make is, as a human, you'll see a lot of reports as well on this that as human, when we make a decision, we first rely on emotion and then comes the logic. And that's why thinking about emotion and how can we design product which can bring emotional connection is very important. I think none of the design talk can be done without Maslow's hierarchy, I think. So I think for mobile apps, especially, you start from functional, then you try to make it reliable and then you try to make it usable. I'm just modifying that a little bit and I'm just putting something on the top and I'm saying it should be pleasurable. The praise, and I think that quality is something which today a lot of users look for when they see the mobile apps or when they use your product. Is your product pleasurable? Do people get joy when they're using your product? So let's go a little bit deep into that. So this one more analogy is that the product with emotional connections feel magical and meaningful. I will explain through a couple of examples. Do you recognize this product? So Google Glass. So when it came out, it was so magical that I don't need to carry my devices. I can do everything through my glass. It was so magical, but still, in a society as a whole, people didn't accept it as a product. One of the reason was, yes, people find it magical but it was not meaningful. As a human, we are not finding it that it will fit in our last style that, hey, I can throw this glass in. I will always carry Google Glass and I'm done with it. This is another product. Anybody recall what is this? Yes, it was pure functional. There is no single shadow there, right? It's a product which is completely meaningful but there is no magic. And that's why you only go there when you need something. You don't go there for fun or for joy. This is the third example. You know any, what product is this? Uber. So if you have remembered your first journey on Uber, it was magical as well as meaningful. I was surprised that when I get out of the car, do I need to talk to driver or not? You know, earlier you always used to bargain that, hey, can I pay 100 rupees less, 50 rupees less? Now after Uber, you just get out of the car. And that's why a lot of people accepted that as a concept because it was magical in the beginning as well as meaningful or long period of time. So, okay. So if you're building a mobile product, how do you do this? Is there a framework? I'm gonna spend five million on that. So what happens is if you're working in a startup today or if you're in a large company, this is how leaders think. Hire bunch of designers, put them into a process and they will create delightful experiences for you. But my friends, the reality is when you go to a company, you can be alone or you can be surrounded by a bunch of other designers and then you will see a few of your friends, maybe product managers who cares for you that, okay, you are talking about something and maybe we should do that. But then you see a bunch of engineers, right? It's very hard to get convinced. It's very hard to get your ideas there. So it's very hard for us to sustain in that environment. Now, when you think that, hey, I wanted to create something delightful, how do you do that? So I'm gonna share a framework. There can be so many framework, the framework which I think I learned while working on a bunch of products in the past. The framework is very simple. It has two access. On one access I put, make it human. On the other access I put, keep it animal. And there is a good tension between these two. So when you're thinking about your apps, your product, keep these two things in mind. Now what do you get out of this? When you say make it human, it will create something awesome in your product. And when you say keep it animal, it will create something scary. You know, you can combine with both of them and say scare some or something like that. So I will go deep into both of these and I will walk through some of the examples. Keep it animal. So I think there are three things. Number one, attention is a scarce resource. I will explain this a little bit better. So there's a design concepts called flow. Now what flow is, if I put skill set of a user on one access, challenge on the other one, what you see in the middle is the flow. If a user taking a journey on your app is in the flow, it means he's in the right path. If you increase the challenge in the beginning, what you end up seeing is anxiety. People feel some tension, they're probably not gonna use it. And if you don't have a skill, and if you have a skillful user, if you don't have enough challenge, then they start to feel bored. You'll see boredom. And that's why if you see a lot of games, they try to balance both of them together. If you have used Angry Bird, you will see that initially you get very small challenges so that you can get skilled. And once you get skilled, your challenges rises and you keep on enjoying. You don't remember how could you spend like one to two hours, sometimes entire night on playing a game. Number two, we are built for patterns. So as a human, we seek patterns. And when we see things simple, we tend to adopt and tend to understand really quick. There's a Hicks law which says that the time it takes to make a decision increase with the number of alternatives. So if you put so many alternatives in your design, you're gonna lose the user. This is another example. Anybody use this app, cache app from square. So it's a very simple idea. You can send the money to someone through an email or SMS. You enter the amount, select the contact, it's done. Now compare this with our banking applications today. The job is the same. I am sending the money to someone else.  It's not an experience, but when you use this app, you feel like you are into an experience which bring you back, which make you... The third thing I'm gonna talk about is, in this one is attracting things works better. So our brain function differently when we see things which are attractive and beautiful. Dorm Norman did a lot of research on that and one code he made was attracting things which makes people feel good, which in turn makes them think more creatively. And how does that make something easier to use? Simple by making it easier for people to find solutions to problems they encounter. So when you see things are simple, you have inner motivation to use them and try to figure out how it works. There are some good examples in the industry. One is RadioApp, they use gorgeous images to make the app look really good. So there are three things I talked about how we should keep it animal. Attracting things works better, attention is a scarce resource and we are built for patents. The next thing in the puzzle is make it human. How do you do that? You can think about this as a relationship with your spouse or with your boyfriend or girlfriend. And when you think about that, you know that there can be, you can have n number of keywords, but it can be being fun with them, being a conversation with them, be empathetic with them. So these keywords comes to your mind when you think about people-to-people interaction. The same can also apply between people and products. I'll give some example. How can be fun? We can do that using product. So this is something we worked on Cortana. I'm gonna rush really fast. So Cortana is personal assistant where a user can ask anything, but we knew for sure that we can't answer everything for everybody. And there will be moment where we are ashamed that, hey, we don't know that. Or we feel sad. How do you portray that? So there are little personality we add through the circle icon, which brings that on the UI. This is another app. If you have used it, Polar, the different thing they have done is when you scroll down, they show different images of Polar beer. And that's why people keep on scrolling, like keep on pulling that, hey, I want new content. They don't want new content, but they just wanted to see what animal you're gonna see there. They could just put a loading icon, but they choose to do it something different. And the goal was that, business goal was that, how can you make it engaging? The clear app, I'm gonna skip it really quick. It's all about gestures. The second part of that was be conversational. And I think a lot of products nowadays are doing that. They are trying to greet you. They're trying to give advice and the messaging on those products are improving. They're trying to be conversational. Third one is be empathetic. What do we mean by empathetic is so that your app knows that, what do you want in that moment? And it will try to solve that. Google Maps does a good job.  They know that this is the most likely action you're gonna take. If you use Zomato, they know it's evening. They show you, hey, you probably are planning for a dinner. Or in another example, in Gugunand where they show a bunch of cards to do that. Surprise, surprise is another element. I will quickly go there, skip it. Facebook on this day. I'm sure all of you are familiar with that.   Do I have two to three minutes? No. Okay, so I have one more sections about what I'm doing right now, but I might end with this one, I think 30 second video clip that where the word is changing. So this is. Better angle. Oh, check it. Did that come out okay? That's the best one of the 300 pictures I've taken of myself today. Every girl in the picture is locked into her phone. Every single one is dialed in. Welcome to parenting in 2015. They're all just completely transfixed by the. So this is what is happening. This is a video last week, it got really viral. Everybody was sitting in a baseball game. Nobody's watching. They're all engaging. Even their photo or the video was telecast on the big screens. They didn't even bother to see that. So when people are using mobile so much, I think as a designer, we have to think it differently. We have to see that. How do we design those interaction experience which are more engaging and fun for users? Am I done?  You have to wrap up now. Okay. I'm running short of time. Okay, I will just take last one minute. So the challenge which my current company solving is what Google is holding right now. The mobile on, the search on mobile is not happening. It's very different. And that's where they talk about different moments that people seek information in different moments when they are on mobile phones. In my company, what we are trying to do is we are trying to build a product which will give you discoveries or things you need in those moments. So the experience is that you download Exploree. It start with X. It's a keyboard. As you start typing, we try to infer the intent and we give you the content right there on the app. It's universal. It works across all the apps. So for example, you're going out. You're chatting with your friend on Hangout. We give you suggestions right there. If you are planning to purchase something, you probably on WhatsApp, we bring the content right there. If you are on Facebook Messenger, planning your next adventure, we try to bring the content right there.  And when you are in those moments, we try to make use engaging and try to solve that problem. That's what we are doing. If you get time, try to download it. If you wanted to work for this product, do let me know. I will be here after this talk and you can chat about it. Thank you so much. Thank you.