Developing my skills
By: Patricia Yellianne Alonso Rojas
Tags: Learning And Development, Skills, Compression, Huffman Coding

In this video, the speakers talk about the genius or the perfect developer. But it is not possible because we are human and we make mistakes, we fail and that’s what makes us learn, grow and see what is next? What did I learn?. When you fail you learn but if it happens more than twice and in the same thing it means that you didn’t learn. Also remember that the practice is the key to being better in some activity, perhaps the first time you try something new the results won’t be the best but if you constantly practice and try again there will be a point where you will do it better. As humans we are vulnerables, vulnerability is not an option but it helps you to take responsabilities keeping in mind that not everything is easy to do, if you accept your vulnerability you help others to make feel them good because you let people express their fears and we know who we really are.

In this video, Colt McAnlis explains the performance of web pages. He talks about the performance tuning loop

A variable length code is a code in which a fixed number of symbols are encoded into a variable number of output symbols. Also a VLC allows the compression and decompression with zero error.

Morse code: is a method used to encode text characters into sequences of two different signal durations that are dot and dash.

Binary: is used by computers to process instructions. Use two symbols “0” and “1”.

Claude Shannon: was a mathematician and computer scientist who conceived the foundations for the information theory.

Entropy: is the average level of information in the possible outcome of a variable.

Prefix property: no codeword is the prefix of any other codeword.

Huffman code: is a method of compressing data. Use a tree with the frequencies of the characters and then generates a code for each character.

The LZ77 compression algorithm is used to analyze and reduce data. Sections of the data that are identical to sections previously encoded are replaced by a small amount of metadata.

Search buffer: contains characters that have been seen previously

Look ahead buffer: contains characters that have not been seen yet

Token: constains an offset, a length and the next token

LZ77 is used in GitZip, WinRaR and 7-Zip.

Is a mathematical system that undergoes transitions from one state to another state on a state space.

In this example, we can see three different habits of a person that eats grapes, cheese or lettuce considering some rules: the choice of tomorrow depends on what he ate today. If today he ate lettuce, tomorrow he will eat grapes with a probability of 4/10 or he will eat cheese with a probability of 6/10. There are some states that could return to the same state, for example if today he ate grapes, tomorrow he could eat grapes with a probability of 1/0, or he could eat cheese with a probability of 4/10 or he could eat lettuce with a probability of 5/10.

Surely we think the place to work should be in an office, with a set work schedule where each person does the activities that were asigned. But this talk describes how actually the places to work have changed and also the structure of a team. We might think that the leader has to give the ideas and take the responsability for the team but that is a big mistake.

The video describes that the most important thing is being responsible for making things happen, getting the job done and being available to your team not just sitting in one place for an amount of time. Take risks, it is allowed to take ris and leave our comfort zone. Take initiative, implement new things because you do not know if that is favorable for the team unless you try it.

Personall I consider myself part of the perple that do not make new things and take the initiative because of fear or the idea of losing my job but it is aloowed to be wrong.

This video is focused in the social skills not only for developers. When we are at a team technical knowledge is not enough. The speakers present different situations that could happen on a team. Imagine that the expert or a member of a team was hit by a bus, who would solve the problems that the person had? Here comes the importance of mantaining a complete team where at least two people have the knowledge of the complete system.

I said trying new things is not bad but there is someting that could be useful: the documentation. Here the ideas or activities that have been tested are described in a way that future generations try with other ideas.

In this video, Dave Thomas explains the different levels of developing expertise:

The novice: they don’t have experience, and don’t know how to respond to mistakes. A novice is gaining experience.

Advancer beginner: they start trying task on their own.

Competent: compared with the novice, the competents are able to solve problems by their own. They learn from the experience of others.

Proficient: you could feel lost because you relize things that you don’t know.

Expert: they have more context, are primary source of knowledge and information.

Linda Rising videos

Linda Rising is an independient consultant that has written and contributed to many books and articles. She present topics related to patterns, agile development, the cange process and influence strategies.

In “Perfection is an unrealistic goal” she mentioned the Agile process, in a way that we sleep in cycles. When we feel tired and if you go to sleep for 25 minutes, you will wake up with energy. In the Agile process we work in cycles, where we increment the productivity.

The video “The power of an Agile mindset” explains the difrerence between the Growth and Fixed mindset.

Fixed mindset: get discouraged easily. They are limited and statics. Avoid the challenge because of helplessness and think that effort is for those with no talent.

Effort mindset: enjoy the challenge, work hard. They see the better results of a person to learn. They can grow and learn. In challenges, they show resistance.

Exit codes can be used to execute commandssing the operators && (and) and || (or). Also can use a semicolon ; to separate commands.

If you want to find a file use the command find, example:

find . -name src -type d #find all directories named src

Finding code with the command grep, also have alternatives such as ack and rg.