LFGA Web

Week 4 - What I learned


Overview

This week we continue learning about quantum physics and computation but now we saw son appliances of that. We also got to know how big tech companies do testing and how their culture has changed. We also see how these companies do their real testing within the team. We also learned what is pretotying and chaos engineering. A lot of stuff going on this week.



Computing & Science


Seth Lloyd on Programming the Universe

Things to learn or note:

It seems like we are going to here some experiences of Seth working with quantum computers.


Discussion:

This made me think a lot of stuff. The first thing that comes to my mind is that we don't know who we are and that we don't know what's around us and that kind of interesting. I mean the information, the computations, and maybe the answers are just out there in the universe and we don't know how to read them. I like the title of the presentation, programming the universe means to me taking the information that the universe has and make it compute.

Every time I see something about quantum computation I can't avoid thinking about cryptography. This makes me realize that this invention can change a lot of things in our lives. Maybe these computers could give us a lot of answers. I will like to know why we are here.

Seth Lloyd: Quantum Machine Learning

Things to learn or note:
Discussion:

The Pretotyping Manifesto

Things to learn or note:
Discussion:

I like the idea, we are kind of iterating in the development of the product. I think the most important here is to validate what we are doing, we sometimes think that our ideas are good and well.. sometimes is not true so we need people to tell us that kind of thing. I also notice that you can get quick feedback about your work also if you are going to fail you will do it quickly.

I just have a question. When do I know which is my MVP? What I can understand is the one with the basic functions. What can I also understand from the examples is that you don't even have to develop it, you could show even a picture or a drawing.


Stephen Wolfram: Computing a theory of everything

Things to learn or note:
Discussion:

Dude...!! Look what I can do!

This is so cool how they gather data and try to answer questions using simple language.

What I can see here is a different application of computation and there are trying, once again, to answer questions and almost the same questions who we are? how the universe works?. But this guy is talking about difficulties that they encounter, like no having the technology they need and they have to create it. But what I like is that they have a belief and they are working for it.


Seth Lloyd: Quantum Machine Learning

Come on let's learn how Machine learning is going to be with quantum computers.

Things to learn or note:
Discussion:

What I could understand is that you have to transform first the data to the quantum state in Qbits. At this point, I stopped and try to figure out why do scientists want to do machine learning on quantum computers, then later on in the video, I realized that it was way faster. Now, you have data you need a QRAM that can code information to quantum information. At this point, you can start manipulating data, but some of the algorithms run on their own, or it's easy to apply them, it's all about linear algebra. With these conditions, you can have faster algorithms running.

I can't even imagine how it's the future going to be with all these crazy things improving the way we do things. It seems like very far in time but I wish these kinds of inventions work for good. This was so interesting!


Why you should have your own black box

Things to learn or note:
Discussion:

I talked before about growth mindset but in this video, we saw some examples, and what I most take is that talent is not enough, and thinking that talent is enough stagnates us. You have to be able to learn new things, grow, and change. Our errors and understanding those are the way that we can grow.


Richard Feynman

Things to learn or note:
Discussion:

First of all, I have to say that I didn't know who was Richard Feynman, and well... I feel guilty for that. What I can say that I learned from this series of videos is that he did a lot of stuff of computing and science, I think is the way he thinks that made him learn and discover a lot of things but I'll get to that, he was great and I'm grateful that I could see these videos.

The other part that I want to talk about is his attitude, the first thing that jumped to me was the fact that he was curious and extrovert, so it seems that he was somebody energetic and he used all the energy on stuff he wanted to learn. One of the things also that I can note is that he was humble, he recognized he couldn't do something(like the computations needed) so this leads him to find new solutions to create new ways of doing things. I think this was one of the points that made him different from other scientists. He had a growth mindset.

The last point is the scientific method that he mentions 3 points: guess, compute and compare. What he thinks and that I take with me is that we can never be right, we can only prove we're wrong.



Testing & Automation


Breaking Things at Netflix

Things to learn or note:
Discussion:

I also like breaking things, and I agree with a couple of points breaking things or systems gives you a different perspective on how the system works and how could be improved, and this generates new learning. The other point that I also agree with is that system must have a mechanism in case of failure but that will depend on the nature of the system and needs.

The other part that I like is that organizations are changing and they are giving more freedom to testers and this is great because we can learn and find bugs or failures and we can do this without worrying about budget, I mean is great we can do this.


GTAC 2014: Test coverage at Google

Things to learn or note:
Discussion:

The most important thing that I can note is that they care for testing, it's relevant for google. They are trying to reach 85% of test coverage. So, it means that almost all the code has an automated test. Now what I can conclude from this it's that this improves the quality of the software. The other point it's that tests also work as documentation so if google has an 85% of test coverage then because it's worth it.


I Don't Test Often ... But When I Do, I Test in Production

Things to learn or note:
Discussion:

What I can note here is that software engineers and in general, the industry is changing the traditional way that is testing. They are creating new big ways of testing because is necessary to test software from different views. I like the way they are using creativity to break the system and how they let engineers the responsibility of testing and proposing solutions. The main point, in my opinion, is to test do it the way you want and need, but do it.


GTAC 2014: The Testing User Experience

Things to learn or note:
Discussion:

Well, there are a lot of things that I didn't understand, I mean is how google changed the way testing was done and... well their process. Some technical issues and how they solve them... I don't know... maybe in others places works differently right.

What I can see it's that they faced a problem, they had a lot of issues with testing, the main that I can see is that engineers think is a waste of time testing, and yeah sometimes it is if you are adding a simple functionality and well you are going to waste more time testing than coding it. The way and I think is the correct way is to help people understand that testing is not a waste of time and more important... they change the way that test could be done. I think it was a great approach to try to ease a hard problem and this changes the user testing experience.


GTAC 2014: The Testing User Experience

Let's learn about google's integration tools.

Things to learn or note:
Discussion:

Wow more than a way to test they got a whole culture to testing, I mean they had to change the way they work but having in mind testing. I liked the explanation, it was so technical some things could understand but I could manage to understand the process of how they integrate and then tests runs. I think also that this is very agile I mean if something it's not right the go back and fix it but this has to be quick.

I also like how Google and employees al willing to share that information with us, I mean they are trying to say that testing is important and that is part of their culture and also have metrics and the put types and they know their limitations, I also think that they learn a lot of their errors. Finally, I liked how they do it on google but could have some problems in other areas.


Testing Engineering@Google & The Release Process for Google's Chrome for iOS

Things to learn or note:
Discussion:

I have used a couple of time chrome canary and I didn't know the reason to be "canary". in this video I discovered that it's the result of a channel and here they have different functionalities which are still testing and yes, it offers other things. What I can learn from this is the way that they are testing, just adding new functionalities to other channel or app, and they finally when everything is working properly add it to the main app.

Also what I can notice is that they understand that is a hard process and sometimes they are going to have problems and sometimes the app is going to get rejected. I think this is the main reason to do another app and take the time to test everything and make sure that everything works properly. This a different way to see things regarding testing.


Chaos Engineering: the history, principles, and practice

Let's see what is Chaos Engineering, I did a cheatsheet for this, I'm going to paste it here.



Three experiments on premise validation using the pretotyping technique

By: Ivan Alberto Aguilar Castillo, Hernán José Cervera Manzanilla and Luis Fernando García.

May 3, 2021.


Cooking App for Everyday Recipes: Suggestions Based on Ingredients You Already Have

Description

We know from experience that most college students or people just beginning to live alone tend to have trouble cooking. The idea of this app is to give users an easy way to check a variety of recipes, furthermore, it would allow users to register their ingredients so that they can search for recipes that they could do with what they have in home. The main objective of this application is to help users with little cooking knowledge to start preparing food and improve their culinary skills.

Hypothesis

People who are curious about learning how to cook would be interested in using an application for finding recipes according to specific ingredients.

Experiment description

The idea of the experiment is giving people a series of drawings that represent the user interface of the system, these drawings will be linked by hyperlinks. After that, the user will answer 3 questions about their experience. The purpose is to validate if they would be interested in using the application.

The process is the following:

The message that is sent to the groups is the following:

¿Te interesa aprender a cocinar? Esta es una aplicación para buscar recetas, cuya función principal es la de agregar ingredientes (los que tengas en casa, por ejemplo) y buscar recetas en base a los ingredientes que agregaste. Validation

We will measure interest based on the average obtained from user responses. We will interpret each of the results of the questions based on percentages, where 100% will be the highest interest, and 0% the lowest.

The Google form tool directly provides the percentage of results per question. The hypothesis is accepted if at least two of these considerations are passed:

  • 1. The total of users that think the product would be useful (4) or very useful (5) is equal or higher than 80%.
  • 2. The total of users that would be interested (4) or very interested (5) in trying out the finished application is equal or higher than 80%.
  • 3. 80% or more of the users would recommend the working application to someone else.
  • Results

    The link and the form were shared in two different chat groups where 13 people tested the pretotype and answered the questions. The results are the following:

    Since two of the three considerations were approved, the hypothesis is accepted. We conclude that there are people who would be interested in using an application to search for recipes based on specific ingredients.


    Nutrition Meal Plan Recommender

    Description

    The idea of this app is to get a recommendation of a meal plan based on your lifestyle, weight, height, and other medical data. The twist is that if you are not sticking to your dieting plan, the app asks the user possible reasons why this might be and according to the input the diet plan changes. The main objective is to help users find meals that could keep them healthy.

    Hypothesis

    People who care about what they eat would be interested in using an application for getting a custom meal plan recommendation based on their lifestyle and medical status.

    Experiment description

    A post was created that describes the general idea and we are inviting people who are interested to click on a special link that could give them more information about the product. However, this link serves merely as a counter. This is the message we shared along with the link:

    App que recomienda planes de alimentación de acuerdo a tu estilo de vida, peso y e información de salud. Si no estás cumpliendo con el plan, la app cambia el plan de acuerdo a por qué le dices que no te está funcionando, p.ej. no te gusta el sabor, mucha preparación, monótono, etc.

    The duration of the experiment is of one day.

    Validation

    We are going to share the link in some groups and we can count the number of visits that the page is receiving. This way we want to measure how many people out of group could be interested in the app.

    Having this in mind we could measure the interest of the total group with the following formula:

    Interest percentage: 100 * (clicks received / total number of people)

    Results

    We shared the post in two groups, in the first group there were 22 people, and in the second one, there were 16. In total 38 people could see the post and click the link to get more info. Finally, we could see the number of interested people in the product:

    Interest percentage: 100 * (9/ 38) = 23.68%

    Since we didn't get to the expected percentage, we can say that the hypothesis is not accepted. People who care about what they eat are not interested in an application for getting custom meal plans. They aren't interested in the product.


    All the Nutrients You Need in One Beverage

    Description

    I (Hernán Cervera) sometimes have a very tight schedule and I realize that eating alone takes almost 3 hours of my day, which I think it is a lot of time that I could invest on other tasks. I believe that other people are in a similar situation, and if cooking is involved, the occupied time might be even more. The idea is to create a beverage which contains all the nutrients that you need for a meal, making eating a matter of drinking something which doesn’t taste awful and your nutritional requirements won’t be compromised.

    Hypothesis

    People who usually have busy days would be interested in a drinkable meal.

    Experiment description

    A Facebook (FB) page is created for the fake company Nutrición Concentrada, which has a post about the drinkable meal, a fake product of course. The post contains a short description and a mocked image of the product.

    The link to the post, along with a brief message, is shared to chat groups where we believe there might be people with tight schedules:

    ¿Quisieras invertir menos tiempo comiendo? ¡Este producto de Nutrición Concentrada ofrece los nutrientes de una comida entera en una bebida! En caso de estar interesado apreciamos reacciones a la publicación de FB, buen día 😁

    The duration of the experiment is one day.

    Validation

    We measure interest by the percentage of positive reactions (like, love, care, wow) to the post by the members of all chat groups combined.

    Interest = 100 * (positive_reactions / number_of_people)

    The hypothesis is accepted if the interest is greater than or equal to 80%.

    Results

    The link along with the message was shared in two chat groups with total 30 people. The FB post got a total of 5 reactions of the type “like”, which corresponds to a positive reaction.

    Interest = 100 * (5 / 30) = 16.66%

    Since the percentage rate is lower than 80% (an in fact, much lower), the hypothesis is not accepted. We conclude that people who usually have busy days would not be interested in the product.