<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Welcome to My Notebook on Son's Notebook</title><link>https://sntpham.github.io/</link><description>Recent content in Welcome to My Notebook on Son's Notebook</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 04 Jul 2026 13:32:00 -0400</lastBuildDate><atom:link href="https://sntpham.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>Tutorial on Kicad, Solidworks for Quick Prototyping</title><link>https://sntpham.github.io/docs/work/tips/2025-12-24-tutorial-on-kicad-solidworks-for-quick-prototyping/</link><pubDate>Wed, 24 Dec 2025 00:00:00 +0000</pubDate><guid>https://sntpham.github.io/docs/work/tips/2025-12-24-tutorial-on-kicad-solidworks-for-quick-prototyping/</guid><description>&lt;p&gt;Hello, fellow students! I&amp;rsquo;m Son, a beginner in KiCad and SolidWorks. The steps below will help you get familiar with KiCad or SolidWorks quickly. I hope that after following these basic steps, you&amp;rsquo;ll be able to start building simple prototypes.&lt;/p&gt;
&lt;h1 id="final-product"&gt;Final Product&lt;a class="anchor" href="#final-product"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;figure&gt;&lt;img src="https://sntpham.github.io/docs/work/tips/2025-12-24-tutorial-on-kicad-solidworks-for-quick-prototyping/tut-assets/tut_full_assembly.png" width="400px"&gt;
&lt;/figure&gt;

&lt;h1 id="kicad"&gt;Kicad&lt;a class="anchor" href="#kicad"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;figure&gt;&lt;img src="https://sntpham.github.io/docs/work/tips/2025-12-24-tutorial-on-kicad-solidworks-for-quick-prototyping/tut-assets/tut_kicad_schematic.png" width="400px"&gt;
&lt;/figure&gt;

&lt;h2 id="requirement"&gt;Requirement&lt;a class="anchor" href="#requirement"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;First, we need to define what we&amp;rsquo;re designing. Our goal is to create a fuse box for voltage sense lines.&lt;/p&gt;
&lt;p&gt;We have a total of 11 sense lines, and each one must have a fuse to protect the end device or downstream device. Our device can handle up to 300mA at peak, so choosing a 500mA fuse seems like a good option.&lt;/p&gt;</description></item><item><title>Things I wish I knew working on a research paper</title><link>https://sntpham.github.io/docs/work/tips/2026-04-02-how-i-write-my-paper/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><guid>https://sntpham.github.io/docs/work/tips/2026-04-02-how-i-write-my-paper/</guid><description>&lt;p&gt;Hi community fellows. This note is based on my experience. And I hope it will save you time working on a research paper for the first time. In this note, I will show how I organize files and folders to make a research more systematic.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Date: 4/2/2026
Revision: 4/2/2026&lt;/code&gt;&lt;/pre&gt;&lt;!-- raw HTML omitted --&gt;
&lt;h2 id="survey--or-review"&gt;Survey ( or review)&lt;a class="anchor" href="#survey--or-review"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The purpose of a research is to find something new or make an improvement on existing thing. To do so we need to review existing works.&lt;/p&gt;</description></item><item><title>On Learning</title><link>https://sntpham.github.io/docs/coffee/2025-07-07-on-learning/</link><pubDate>Sat, 04 Jul 2026 13:32:00 -0400</pubDate><guid>https://sntpham.github.io/docs/coffee/2025-07-07-on-learning/</guid><description>&lt;p&gt;The knowledge that each person has always stunned me. I have two ways of learning: from books and from other people. However, we should note that books are products of people. Essentially, we just learn from experience, observation, and thoughts of other human being. What we learn here are vast. Why I keep on learning? I guess it&amp;rsquo;s a low risk, high return activity to enjoy life.&lt;/p&gt;
&lt;h1 id="learning-from-reading-materials"&gt;Learning from Reading Materials&lt;a class="anchor" href="#learning-from-reading-materials"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="books"&gt;Books&lt;a class="anchor" href="#books"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="self-help"&gt;Self-Help&lt;a class="anchor" href="#self-help"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;I don&amp;rsquo;t know if self-help belongs to non-fiction or fiction. I read a few books and see a common pattern. They can be into two categories: motivational, and life improvement.&lt;/p&gt;</description></item><item><title>Keep on writing</title><link>https://sntpham.github.io/docs/coffee/2025-07-27-keep-on-writing/</link><pubDate>Sat, 04 Jul 2026 13:26:00 -0400</pubDate><guid>https://sntpham.github.io/docs/coffee/2025-07-27-keep-on-writing/</guid><description>&lt;p&gt;I like the ideas and the blog of &lt;a href="https://zhurnaly.com/"&gt;Mark Zimmerman&lt;/a&gt;. This is a type of blog I can spend hours on reading. It is similar to &lt;a href="https://www.paulgraham.com/articles.html"&gt;Paul Graham&amp;rsquo;s essays&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Mr. Zimmerman writes small note to share his thinking. Every note has a concise topic.&lt;/p&gt;
&lt;p&gt;&amp;ndash;
Relate Notes:
&lt;a href="https://sntpham.github.io/coffee/2025/07/07/on-learning.html"&gt;On Learning&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Build hugo site with github page</title><link>https://sntpham.github.io/docs/work/tips/2026-07-04-build-hugo-site-with-github-page/</link><pubDate>Sat, 04 Jul 2026 00:00:00 +0000</pubDate><guid>https://sntpham.github.io/docs/work/tips/2026-07-04-build-hugo-site-with-github-page/</guid><description>&lt;p&gt;The reason I want to move to Hugo is because it is more modern and flexible compared to my Jekyll site.&lt;/p&gt;
&lt;p&gt;The instruction is quite clear on their site &lt;a href="https://gohugo.io/host-and-deploy/host-on-github-pages/"&gt;https://gohugo.io/host-and-deploy/host-on-github-pages/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;First, as always we need to create a github repo, and clone it in our local machine.&lt;/p&gt;
&lt;p&gt;Next, we will need to create a Hugo project. I&amp;rsquo;m using Windows so I will select Extended-edition &lt;a href="https://gohugo.io/installation/windows/#extended-edition"&gt;here&lt;/a&gt;. To access PowerShell, from command prompt we can type &lt;code&gt;pwsh&lt;/code&gt;&lt;/p&gt;</description></item><item><title>On Things Around Us</title><link>https://sntpham.github.io/docs/coffee/2025-07-29-on-things-around-us/</link><pubDate>Tue, 29 Jul 2025 00:00:00 +0000</pubDate><guid>https://sntpham.github.io/docs/coffee/2025-07-29-on-things-around-us/</guid><description>&lt;p&gt;On a late night walk, what I have read came back to me. I like the idea from the book The Little Book of Being. It is introduced in Mark&amp;rsquo;s &lt;a href="https://zhurnaly.com/z/Little%20Book%20of%20Being.html"&gt;blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I read about a mindfulness practice that fully scan over our body to see all things that construct us. I have not read or might have missed the concept of scanning the surrounding space.
In Chapter 32, Diana Winston&amp;rsquo;s suggest one to explore all directions.&lt;/p&gt;</description></item><item><title>On Solitude</title><link>https://sntpham.github.io/docs/coffee/2025-06-09-being-alone/</link><pubDate>Mon, 09 Jun 2025 00:00:00 +0000</pubDate><guid>https://sntpham.github.io/docs/coffee/2025-06-09-being-alone/</guid><description>&lt;p&gt;This writing is inspired by a book from an American Psychologist, Clark E. Moustakas.&lt;/p&gt;
&lt;p&gt;Loneliness is not alone. Many may say alone is by choice. In contrast, loneliness is due to our inaction or inability to connect with other people; however, in my perspective, they are all the same.&lt;/p&gt;
&lt;p&gt;&lt;img src="flowers.png" alt="lily of the valley" /&gt;&lt;/p&gt;
&lt;p&gt;The journey starts on the day we were born and ends someday that we don’t know yet.&lt;/p&gt;</description></item><item><title>Road Trip to Quebec with Random Questions</title><link>https://sntpham.github.io/docs/coffee/2025-01-05-road-trip-to-quebec-with-random-questions/</link><pubDate>Sun, 05 Jan 2025 00:00:00 +0000</pubDate><guid>https://sntpham.github.io/docs/coffee/2025-01-05-road-trip-to-quebec-with-random-questions/</guid><description>&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&amp;ldquo;I write to remember, to challenge my initial thought and intuition&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;img src="1736144007281.png" alt="1736144007281" /&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m gratefult to have friends around and invite me to discover the world with them. We are born as travellers at least in my family. Sometimes, we stuck in work and did not realize that we have a choice to just stop for a moment and continue explore the world that we thought we all knew about.&lt;/p&gt;</description></item><item><title>50 Places to Visit in Canada</title><link>https://sntpham.github.io/docs/coffee/2024-04-22-50-places-to-visit-in-canada/</link><pubDate>Mon, 22 Apr 2024 00:00:00 +0000</pubDate><guid>https://sntpham.github.io/docs/coffee/2024-04-22-50-places-to-visit-in-canada/</guid><description>&lt;p&gt;I continued to work with the code from the previous post. I made a list of beautiful places in Canada and learned many new things from it, especially about the Kermode bear.&lt;/p&gt;
&lt;h3 id="algonquin-provincial-park-ontario-"&gt;Algonquin Provincial Park, Ontario ✅&lt;a class="anchor" href="#algonquin-provincial-park-ontario-"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th style="text-align: center"&gt;Map&lt;/th&gt;
					&lt;th style="text-align: center"&gt;Img&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td style="text-align: center"&gt;&lt;img src="50_places_in_canada/map/algonquin_provincial_park-ontario.png" alt="algonqion" /&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;&lt;img src="50_places_in_canada/place_image/algonquin_provincial_park-ontario.jpg" alt="" /&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Geographical Location&lt;/strong&gt;: Ontario, Canada; between Georgian Bay and the Ottawa River.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Establishment Date&lt;/strong&gt;: Established in 1893.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Purpose&lt;/strong&gt;: Algonquin Provincial Park serves as a provincial park to protect the environment and provide recreational activities.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Special Features&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;Contains over 2,400 lakes and 1,200 kilometers of streams and rivers.&lt;/li&gt;
&lt;li&gt;Named a National Historic Site in 1992 for its influence in park management and visitor interpretation programs.&lt;/li&gt;
&lt;li&gt;Home to diverse plant and animal species due to its unique location at the transition between northern coniferous forest and southern deciduous forest.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Summary&lt;/strong&gt;: Algonquin Provincial Park is not only the oldest provincial park in Canada but also one of the most popular, due to its extensive size, variety of lakes and rivers, and its location near major urban centers like Toronto and Ottawa.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Note from son:&lt;/strong&gt;
Algonquian peoples are group of North American Native.&lt;/p&gt;</description></item><item><title>50 Famous Places in the World</title><link>https://sntpham.github.io/docs/coffee/2024-04-14-50-places-to-visit-in-the-world/</link><pubDate>Sun, 14 Apr 2024 00:00:00 +0000</pubDate><guid>https://sntpham.github.io/docs/coffee/2024-04-14-50-places-to-visit-in-the-world/</guid><description>&lt;p&gt;After final exam, I decide to do something fun. I know a friend who can remember most of the capitals of countries in the world. So I decided to learn geography. And made a list of places that I wanted to go. With AI, this task took me about 5 hours; however, with the code structure available, we can expand to many other topics such as anatomy, psychology, and many more.&lt;/p&gt;</description></item><item><title>Example of axis in numpy</title><link>https://sntpham.github.io/docs/work/python/2023-06-27-example-of-axis-in-numpy/</link><pubDate>Tue, 27 Jun 2023 00:00:00 +0000</pubDate><guid>https://sntpham.github.io/docs/work/python/2023-06-27-example-of-axis-in-numpy/</guid><description>&lt;p&gt;While working on the Kohonen Self Organizing Map, I encountered difficulties in understanding how the axis parameter in NumPy works. Initially, in a 2-dimensional scenario, we have coordinates (x, y), where x represents the width or number of rows, and y represents the height or number of columns in the matrix. However, things become more complex when we introduce another dimension.&lt;/p&gt;
&lt;p&gt;For instance, let&amp;rsquo;s consider an array of pixels with a size of 10x10 and three color channels: Red, Green, and Blue. This array would be represented as (10, 10, 3), indicating the dimensions of width, height, and depth respectively. Here&amp;rsquo;s my understanding of it:&lt;/p&gt;</description></item><item><title>Racket for Beginners</title><link>https://sntpham.github.io/docs/work/racket/2023-05-09-racket-for-beginners/</link><pubDate>Tue, 09 May 2023 00:00:00 +0000</pubDate><guid>https://sntpham.github.io/docs/work/racket/2023-05-09-racket-for-beginners/</guid><description>&lt;p&gt;Racket, why racket? I don&amp;rsquo;t know the main reason, but it is interesting and importantly my professor requires it for our Psychology course. I have never learned Racket before but I have a bit of experience in Erlang. In Erlang we cannot assign a value to a variable like Racket because &lt;code&gt;=&lt;/code&gt; operator is a pattern matching that is similar to &lt;code&gt;car&lt;/code&gt; and &lt;code&gt;cdr&lt;/code&gt;. The game is totally changed in Racket. Now we can just &lt;code&gt;define whatever value&lt;/code&gt; we want.&lt;/p&gt;</description></item><item><title>English Connectives</title><link>https://sntpham.github.io/docs/work/tips/2023-05-04-english-connectives/</link><pubDate>Thu, 04 May 2023 00:00:00 +0000</pubDate><guid>https://sntpham.github.io/docs/work/tips/2023-05-04-english-connectives/</guid><description>&lt;p&gt;After many hours of googling, mermaid is finally run on Github Page, thanks to &lt;a href="https://jojozhuang.github.io/tutorial/jekyll-diagram-with-mermaid/"&gt;Jojozhuang&lt;/a&gt;. I may not write another note for mermaid so I put the info here.&lt;/p&gt;
&lt;p&gt;First, we need to add &lt;code&gt;mermaid: true&lt;/code&gt; into our post layout. Second, we need to use div tag as below.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&amp;lt;!--
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt; to use mermaid in Jekyll we need to wrap it with &amp;lt;div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#f92672"&gt;div&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;class&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;mermaid&amp;#34;&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; your_mermaid_chart
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;/&lt;span style="color:#f92672"&gt;div&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note: this tutorial is for Jekyll. Currently, this site is ran on Hugo with Book theme. For this theme, we only need to add fenced code blocks:&lt;/p&gt;</description></item><item><title>Note for International Students in Waterloo Region</title><link>https://sntpham.github.io/docs/coffee/2023-05-03-note-for-international-student-in-waterloo-region/</link><pubDate>Wed, 03 May 2023 13:29:00 -0400</pubDate><guid>https://sntpham.github.io/docs/coffee/2023-05-03-note-for-international-student-in-waterloo-region/</guid><description>&lt;p&gt;Congrats to all of you that already here in Waterloo Region. Today I will summarize the process of becoming an international student in Canada. And I hope you will have a great experience here!&lt;/p&gt;
&lt;h2 id="prep-before-the-trip"&gt;Prep before the trip&lt;a class="anchor" href="#prep-before-the-trip"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Firstly, I obtained a bachelor&amp;rsquo;s degree from a university in the US. While working, I prepared my application for a study permit and applied for graduate school in Canada. After submitting my biometric information, paying the required fee, and providing supporting documents, the embassy sent me a letter of introduction. This allowed me to obtain my study permit and begin my studies in Canada. Now you are relieved with paperwork. Let&amp;rsquo;s pack up and go. Before you book an airplane ticket please note that if you transit in the US, you must have a transit visa or travel visa. And don&amp;rsquo;t forget to bring some cash before your flight. Next, I will talk about the process at the airport.&lt;/p&gt;</description></item><item><title>R Notebook - dplyr</title><link>https://sntpham.github.io/docs/work/r-programming/2021-10-25-r-notebook-dplyr/</link><pubDate>Mon, 25 Oct 2021 00:00:00 +0000</pubDate><guid>https://sntpham.github.io/docs/work/r-programming/2021-10-25-r-notebook-dplyr/</guid><description>&lt;p&gt;We are gonna go through filter(), arrange(), select(), mutate(), summarise(), group_by(), slice(), rename(), transmute(), sample_n(), sample_frac()&lt;/p&gt;
&lt;h2 id="pipe"&gt;Pipe&lt;a class="anchor" href="#pipe"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;%&amp;gt;%&lt;/code&gt; is pronounced THEN&lt;/p&gt;
&lt;h2 id="all-in-one-example"&gt;All-in-one Example&lt;a class="anchor" href="#all-in-one-example"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;manager &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;c&lt;/span&gt;(&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;date &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;c&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;10/24/08&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;10/28/08&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;10/1/08&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;10/12/08&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;5/1/09&amp;#34;&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;country &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;c&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;US&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;US&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;UK&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;UK&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;UK&amp;#34;&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gender &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;c&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;M&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;F&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;F&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;M&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;F&amp;#34;&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;age &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;c&lt;/span&gt;(&lt;span style="color:#ae81ff"&gt;32&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;45&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;25&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;39&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;99&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;q1 &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;c&lt;/span&gt;(&lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;q2 &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;c&lt;/span&gt;(&lt;span style="color:#ae81ff"&gt;4&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;q3 &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;c&lt;/span&gt;(&lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;q4 &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;c&lt;/span&gt;(&lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;q5 &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;c&lt;/span&gt;(&lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;leadership &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;data.frame&lt;/span&gt;(manager, date, country, gender, age, 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; q1, q2, q3, q4, q5, stringsAsFactors&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;FALSE&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt; leadership
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;leadership &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; leadership &lt;span style="color:#f92672"&gt;%&amp;gt;%&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;mutate&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; manager date country gender age q1 q2 q3 q4 q5
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;24&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; US M &lt;span style="color:#ae81ff"&gt;32&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;28&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; US F &lt;span style="color:#ae81ff"&gt;45&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; UK F &lt;span style="color:#ae81ff"&gt;25&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;12&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; UK M &lt;span style="color:#ae81ff"&gt;39&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;09&lt;/span&gt; UK F &lt;span style="color:#ae81ff"&gt;99&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;library&lt;/span&gt;(dplyr) &lt;span style="color:#75715e"&gt;#A &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# add total_score and mean_score columns&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;leadership &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;mutate&lt;/span&gt;(leadership, &lt;span style="color:#75715e"&gt;#B &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; total_score &lt;span style="color:#f92672"&gt;=&lt;/span&gt; q1 &lt;span style="color:#f92672"&gt;+&lt;/span&gt; q2 &lt;span style="color:#f92672"&gt;+&lt;/span&gt; q3 &lt;span style="color:#f92672"&gt;+&lt;/span&gt; q4 &lt;span style="color:#f92672"&gt;+&lt;/span&gt; q5, &lt;span style="color:#75715e"&gt;#B &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mean_score &lt;span style="color:#f92672"&gt;=&lt;/span&gt; total_score &lt;span style="color:#f92672"&gt;/&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;) &lt;span style="color:#75715e"&gt;#B &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt; leadership
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; manager date country gender age q1 q2 q3 q4 q5 total_score mean_score
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;24&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; US M &lt;span style="color:#ae81ff"&gt;32&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;24&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;28&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; US F &lt;span style="color:#ae81ff"&gt;45&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;20&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; UK F &lt;span style="color:#ae81ff"&gt;25&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;20&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;12&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; UK M &lt;span style="color:#ae81ff"&gt;39&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;09&lt;/span&gt; UK F &lt;span style="color:#ae81ff"&gt;99&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;8&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1.6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# recode or change item in variable gender to M::male, F::female&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# this is similar to search and replace&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;leadership&lt;span style="color:#f92672"&gt;$&lt;/span&gt;gender &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;recode&lt;/span&gt;(leadership&lt;span style="color:#f92672"&gt;$&lt;/span&gt;gender, &lt;span style="color:#75715e"&gt;#C &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;M&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;male&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;F&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;female&amp;#34;&lt;/span&gt;) &lt;span style="color:#75715e"&gt;#C &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt; leadership
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; manager date country gender age q1 q2 q3 q4 q5 total_score mean_score
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;24&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; US male &lt;span style="color:#ae81ff"&gt;32&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;24&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;28&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; US female &lt;span style="color:#ae81ff"&gt;45&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;20&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; UK female &lt;span style="color:#ae81ff"&gt;25&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;20&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;12&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; UK male &lt;span style="color:#ae81ff"&gt;39&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;09&lt;/span&gt; UK female &lt;span style="color:#ae81ff"&gt;99&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;8&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1.6&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# recode is similar to renaming the row, and rename is for columns&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# right to left&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;leadership &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;rename&lt;/span&gt;(leadership, ID &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;manager&amp;#34;&lt;/span&gt;, sex &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;gender&amp;#34;&lt;/span&gt;)&lt;span style="color:#75715e"&gt;#D&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt; leadership
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ID date country sex age q1 q2 q3 q4 q5 total_score mean_score
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;24&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; US male &lt;span style="color:#ae81ff"&gt;32&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;24&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;28&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; US female &lt;span style="color:#ae81ff"&gt;45&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;20&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; UK female &lt;span style="color:#ae81ff"&gt;25&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;20&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;12&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; UK male &lt;span style="color:#ae81ff"&gt;39&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;09&lt;/span&gt; UK female &lt;span style="color:#ae81ff"&gt;99&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;8&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1.6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;leadership &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;arrange&lt;/span&gt;(leadership, sex, total_score) &lt;span style="color:#75715e"&gt;#E &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt; leadership
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ID date country sex age q1 q2 q3 q4 q5 total_score mean_score
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;09&lt;/span&gt; UK female &lt;span style="color:#ae81ff"&gt;99&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;8&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1.6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;28&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; US female &lt;span style="color:#ae81ff"&gt;45&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;20&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; UK female &lt;span style="color:#ae81ff"&gt;25&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;20&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;24&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; US male &lt;span style="color:#ae81ff"&gt;32&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;24&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;12&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; UK male &lt;span style="color:#ae81ff"&gt;39&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt; leadership &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;arrange&lt;/span&gt;(leadership, sex, &lt;span style="color:#a6e22e"&gt;desc&lt;/span&gt;(total_score)) &lt;span style="color:#75715e"&gt;#E&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt; leadership
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ID date country sex age q1 q2 q3 q4 q5 total_score mean_score
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;28&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; US female &lt;span style="color:#ae81ff"&gt;45&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;20&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; UK female &lt;span style="color:#ae81ff"&gt;25&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;20&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;09&lt;/span&gt; UK female &lt;span style="color:#ae81ff"&gt;99&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;8&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1.6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;24&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; US male &lt;span style="color:#ae81ff"&gt;32&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;24&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;12&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; UK male &lt;span style="color:#ae81ff"&gt;39&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt; leadership_ratings &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;select&lt;/span&gt;(leadership, ID, mean_score) &lt;span style="color:#75715e"&gt;#F&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt; leadership_ratings
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ID mean_score
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1.6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;NA&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;leadership_men_high &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;filter&lt;/span&gt;(leadership, &lt;span style="color:#75715e"&gt;#G&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sex &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;male&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt; total_score &lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;) &lt;span style="color:#75715e"&gt;#G &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt; leadership_men_high &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;filter&lt;/span&gt;(leadership, &lt;span style="color:#75715e"&gt;#G&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;+&lt;/span&gt; sex &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;male&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt; total_score &lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;) &lt;span style="color:#75715e"&gt;#G&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt; leadership_men_high
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ID date country sex age q1 q2 q3 q4 q5 total_score mean_score
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;24&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;08&lt;/span&gt; US male &lt;span style="color:#ae81ff"&gt;32&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;24&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;4.8&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="filter"&gt;filter()&lt;a class="anchor" href="#filter"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;library&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#39;nycflights13&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;library&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#39;dplyr&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;filter&lt;/span&gt;(flights, month &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;, day &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;, dep_delay &lt;span style="color:#f92672"&gt;&amp;gt;=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;15&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;flights[flights&lt;span style="color:#f92672"&gt;$&lt;/span&gt;month &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt; flights&lt;span style="color:#f92672"&gt;$&lt;/span&gt;day &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt; flights&lt;span style="color:#f92672"&gt;$&lt;/span&gt;dep_delay &lt;span style="color:#f92672"&gt;&amp;gt;=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;15&lt;/span&gt;, ]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# this is similar &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;subset&lt;/span&gt;(flights, month &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt; day &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt; dep_delay &lt;span style="color:#f92672"&gt;&amp;gt;=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;15&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# better &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;filter(), with %in%, select specific values in a col&lt;/p&gt;</description></item><item><title>Explaining TCP flows</title><link>https://sntpham.github.io/docs/work/tips/2021-08-27-explaining-tcp-flows/</link><pubDate>Fri, 27 Aug 2021 00:00:00 +0000</pubDate><guid>https://sntpham.github.io/docs/work/tips/2021-08-27-explaining-tcp-flows/</guid><description>&lt;p&gt;A few days ago, I wrote a note detailing how to set up a simple TCP client and server using netcat. Today, I have taken things a step further by capturing packets in Wireshark and providing a step-by-step explanation of how the TCP flow works. In the table below, you can find a general overview of this process.&lt;/p&gt;
&lt;hr&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Flow&lt;/th&gt;
					&lt;th&gt;Packet captured from Wireshark&lt;/th&gt;
					&lt;th&gt;Explaination&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;client -[SYN]-&amp;gt; server&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Transmission Control Protocol, Src Port: 24491, Dst Port: 5000, Seq: 0, Len: 0&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Source Port: 24491&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; Destination Port: 5000&lt;!-- raw HTML omitted --&gt; [Stream index: 0]&lt;!-- raw HTML omitted --&gt; [TCP Segment Len: 0]&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Sequence Number: 0&lt;/strong&gt; (relative sequence number)&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Sequence Number (raw): 4126488336&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; [Next Sequence Number: 1 (relative sequence number)]&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Acknowledgment Number: 0&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Acknowledgment number (raw): 0&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; 1000 &amp;hellip;. = Header Length: 32 bytes (8)&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Flags: 0x002 (SYN)&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Window: 65535&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; [Calculated window size: 65535]&lt;!-- raw HTML omitted --&gt; Checksum: 0xd6b0 [unverified]&lt;!-- raw HTML omitted --&gt; [Checksum Status: Unverified]&lt;!-- raw HTML omitted --&gt; Urgent Pointer: 0&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
					&lt;td&gt;First, client says &amp;ldquo;hi there, I&amp;rsquo;d like to connect, here is my number &lt;strong&gt;xxxxxxx36&lt;/strong&gt; &amp;ldquo;&lt;!-- raw HTML omitted --&gt;&lt;!-- raw HTML omitted --&gt;When client send a SYN packet to server. Wireshark will show you the relative sequence, or ACK number which is 0. But actually, it is a random number .&lt;!-- raw HTML omitted --&gt;&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;client &amp;lt;-[SYN,ACK]- server&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Transmission Control Protocol, Src Port: 5000, Dst Port: 24491, Seq: 0, Ack: 1, Len: 0&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Source Port: 5000&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; Destination Port: 24491&lt;!-- raw HTML omitted --&gt; [Stream index: 0]&lt;!-- raw HTML omitted --&gt; [TCP Segment Len: 0]&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Sequence Number: 0&lt;/strong&gt; (relative sequence number)&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Sequence Number (raw): 547479085&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; [Next Sequence Number: 1 (relative sequence number)]&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Acknowledgment Number: 1&lt;/strong&gt; (relative ack number)&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Acknowledgment number (raw): 4126488337&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; 1000 &amp;hellip;. = Header Length: 32 bytes (8)&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Flags: 0x012 (SYN, ACK)&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Window: 65535&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; [Calculated window size: 65535]&lt;!-- raw HTML omitted --&gt; Checksum: 0xd7d0 [unverified]&lt;!-- raw HTML omitted --&gt; [Checksum Status: Unverified]&lt;!-- raw HTML omitted --&gt; Urgent Pointer: 0&lt;!-- raw HTML omitted --&gt; Options: (12 bytes), Maximum segment size, No-Operation (NOP), Window scale, No-Operation (NOP), No-Operation (NOP), SACK permitted&lt;!-- raw HTML omitted --&gt; [SEQ/ACK analysis]&lt;!-- raw HTML omitted --&gt; [Timestamps]&lt;/td&gt;
					&lt;td&gt;Server responses &amp;ldquo;oh sure, I&amp;rsquo;ve received your number &lt;strong&gt;xxxxxxx36&lt;/strong&gt;. And I add one to keep track, so now it is &lt;strong&gt;xxxxxxx37&lt;/strong&gt;. Please take my number &lt;strong&gt;xxxxxxx85&lt;/strong&gt; &amp;ldquo;&lt;!-- raw HTML omitted --&gt;After received the packet from client, server will send its own Sequence number &lt;strong&gt;547479085&lt;/strong&gt; and Ackowledgement number.&lt;!-- raw HTML omitted --&gt;The Acknowledge number is the client&amp;rsquo;s Sequence number + 1 which is &lt;strong&gt;4126488337&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;client -[ACK]-&amp;gt; server&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Transmission Control Protocol, Src Port: 24491, Dst Port: 5000, Seq: 1, Ack: 1, Len: 0&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Source Port: 24491&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; Destination Port: 5000&lt;!-- raw HTML omitted --&gt; [Stream index: 0]&lt;!-- raw HTML omitted --&gt; [TCP Segment Len: 0]&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Sequence Number: 1 (relative sequence number)&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Sequence Number (raw): 4126488337&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; [Next Sequence Number: 1 (relative sequence number)]&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Acknowledgment Number: 1 (relative ack number)&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Acknowledgment number (raw): 547479086&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; 0101 &amp;hellip;. = Header Length: 20 bytes (5)&lt;!-- raw HTML omitted --&gt; Flags: 0x010 (ACK)&lt;!-- raw HTML omitted --&gt; Window: 10233&lt;!-- raw HTML omitted --&gt; [Calculated window size: 2619648]&lt;!-- raw HTML omitted --&gt; [Window size scaling factor: 256]&lt;!-- raw HTML omitted --&gt; Checksum: 0xeace [unverified]&lt;!-- raw HTML omitted --&gt; [Checksum Status: Unverified]&lt;!-- raw HTML omitted --&gt; Urgent Pointer: 0&lt;!-- raw HTML omitted --&gt; [SEQ/ACK analysis]&lt;!-- raw HTML omitted --&gt; [Timestamps]&lt;/td&gt;
					&lt;td&gt;Client responses &amp;ldquo;I&amp;rsquo;ve received your number &lt;strong&gt;xxxxxxx85&lt;/strong&gt;. And I add one to keep track, so now it is &lt;strong&gt;xxxxxxx86&lt;/strong&gt;. We are synced&amp;rdquo;&lt;!-- raw HTML omitted --&gt;Client verifies receiving packet from the server by sending ACK (acknowledge) message.&lt;!-- raw HTML omitted --&gt; The ACK number is server&amp;rsquo;s Squence number + 1, &lt;strong&gt;547479086&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;client -[PSH,ACK]-&amp;gt; server&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Transmission Control Protocol, Src Port: 24491, Dst Port: 5000, Seq: 1, Ack: 1, Len: 34&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; Source Port: 24491&lt;!-- raw HTML omitted --&gt; Destination Port: 5000&lt;!-- raw HTML omitted --&gt; [Stream index: 0]&lt;!-- raw HTML omitted --&gt; [TCP Segment Len: 34]&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Sequence Number: 1 (relative sequence number)&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Sequence Number (raw): 4126488337&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;[Next Sequence Number: 35 (relative sequence number)]&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Acknowledgment Number: 1 (relative ack number)&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Acknowledgment number (raw): 547479086&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; 0101 &amp;hellip;. = Header Length: 20 bytes (5)&lt;!-- raw HTML omitted --&gt; Flags: 0x018 (PSH, ACK)&lt;!-- raw HTML omitted --&gt; Window: 10233&lt;!-- raw HTML omitted --&gt; [Calculated window size: 2619648]&lt;!-- raw HTML omitted --&gt; [Window size scaling factor: 256]&lt;!-- raw HTML omitted --&gt; Checksum: 0xd07d [unverified]&lt;!-- raw HTML omitted --&gt; [Checksum Status: Unverified]&lt;!-- raw HTML omitted --&gt; Urgent Pointer: 0&lt;!-- raw HTML omitted --&gt; [SEQ/ACK analysis]&lt;!-- raw HTML omitted --&gt; [Timestamps]&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;TCP payload (34 bytes)&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt;Data (34 bytes)&lt;/td&gt;
					&lt;td&gt;Now, client starts sending messages with flag &lt;strong&gt;PSH&lt;/strong&gt; meaning &amp;ldquo;I have packed all the good stuffs, please send it imediately&amp;rdquo;&lt;!-- raw HTML omitted --&gt; Also, Next Sequence Number is expected to be 35 because it is sending out 34 bytes payload. ACK number is still &lt;strong&gt;547479086&lt;/strong&gt; because it has not received anything from server&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;client &amp;lt;-[ACK]- server&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Transmission Control Protocol, Src Port: 5000, Dst Port: 24491, Seq: 1, Ack: 35, Len: 0&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; Source Port: 5000&lt;!-- raw HTML omitted --&gt; Destination Port: 24491&lt;!-- raw HTML omitted --&gt; [Stream index: 0]&lt;!-- raw HTML omitted --&gt; [TCP Segment Len: 0]&lt;!-- raw HTML omitted --&gt; Sequence Number: 1 (relative sequence number)&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Sequence Number (raw): 547479086&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; [Next Sequence Number: 1 (relative sequence number)]&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Acknowledgment Number: 35 (relative ack number)&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Acknowledgment number (raw): 4126488371&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; 0101 &amp;hellip;. = Header Length: 20 bytes (5)&lt;!-- raw HTML omitted --&gt; Flags: 0x010 (ACK)&lt;!-- raw HTML omitted --&gt; Window: 10233&lt;!-- raw HTML omitted --&gt; [Calculated window size: 2619648]&lt;!-- raw HTML omitted --&gt; [Window size scaling factor: 256]&lt;!-- raw HTML omitted --&gt; Checksum: 0xeaac [unverified]&lt;!-- raw HTML omitted --&gt; [Checksum Status: Unverified]&lt;!-- raw HTML omitted --&gt; Urgent Pointer: 0&lt;!-- raw HTML omitted --&gt; [SEQ/ACK analysis]&lt;!-- raw HTML omitted --&gt; [Timestamps]&lt;/td&gt;
					&lt;td&gt;After receiving the packet, server sends the ACK with previous ACK payload size (34). 4126488337 + 34 = &lt;strong&gt;4126488371&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;client -[FIN,ACK]-&amp;gt; server&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Transmission Control Protocol, Src Port: 24491, Dst Port: 5000, Seq: 35, Ack: 1, Len: 0&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; Source Port: 24491&lt;!-- raw HTML omitted --&gt; Destination Port: 5000&lt;!-- raw HTML omitted --&gt; [Stream index: 0]&lt;!-- raw HTML omitted --&gt; [TCP Segment Len: 0]&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Sequence Number: 35 (relative sequence number)&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Sequence Number (raw): 4126488371&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; [Next Sequence Number: 36 (relative sequence number)]&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Acknowledgment Number: 1 (relative ack number)&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Acknowledgment number (raw): 547479086&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; 0101 &amp;hellip;. = Header Length: 20 bytes (5)&lt;!-- raw HTML omitted --&gt; Flags: 0x011 (FIN, ACK)&lt;!-- raw HTML omitted --&gt; Window: 10233&lt;!-- raw HTML omitted --&gt; [Calculated window size: 2619648]&lt;!-- raw HTML omitted --&gt; [Window size scaling factor: 256]&lt;!-- raw HTML omitted --&gt; Checksum: 0xeaab [unverified]&lt;!-- raw HTML omitted --&gt; [Checksum Status: Unverified]&lt;!-- raw HTML omitted --&gt; Urgent Pointer: 0&lt;!-- raw HTML omitted --&gt; [Timestamps]&lt;/td&gt;
					&lt;td&gt;After sending a note, client terminal is close, so it sends FIN (finish?) and ACK to server. At this time, both Sequence number and ACK number are the same as the above because server did not send anything.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;client &amp;lt;-[ACK]- server&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Transmission Control Protocol, Src Port: 5000, Dst Port: 24491, Seq: 1, Ack: 36, Len: 0&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; Source Port: 5000&lt;!-- raw HTML omitted --&gt; Destination Port: 24491&lt;!-- raw HTML omitted --&gt; [Stream index: 0]&lt;!-- raw HTML omitted --&gt; [TCP Segment Len: 0]&lt;!-- raw HTML omitted --&gt; Sequence Number: 1 (relative sequence number)&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Sequence Number (raw): 547479086&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; [Next Sequence Number: 1 (relative sequence number)]&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Acknowledgment Number: 36 (relative ack number)&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Acknowledgment number (raw): 4126488372&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; 0101 &amp;hellip;. = Header Length: 20 bytes (5)&lt;!-- raw HTML omitted --&gt; Flags: 0x010 (ACK)&lt;!-- raw HTML omitted --&gt; Window: 10233&lt;!-- raw HTML omitted --&gt; [Calculated window size: 2619648]&lt;!-- raw HTML omitted --&gt; [Window size scaling factor: 256]&lt;!-- raw HTML omitted --&gt; Checksum: 0xeaab [unverified]&lt;!-- raw HTML omitted --&gt; [Checksum Status: Unverified]&lt;!-- raw HTML omitted --&gt; Urgent Pointer: 0&lt;!-- raw HTML omitted --&gt; [SEQ/ACK analysis]&lt;!-- raw HTML omitted --&gt; [Timestamps]&lt;/td&gt;
					&lt;td&gt;After receiving the FIN flag, server response with an ACK message + 1.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;client &amp;lt;-[FIN,ACK]- server&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Transmission Control Protocol, Src Port: 5000, Dst Port: 24491, Seq: 1, Ack: 36, Len: 0&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; Source Port: 5000&lt;!-- raw HTML omitted --&gt; Destination Port: 24491&lt;!-- raw HTML omitted --&gt; [Stream index: 0]&lt;!-- raw HTML omitted --&gt; [TCP Segment Len: 0]&lt;!-- raw HTML omitted --&gt; Sequence Number: 1 (relative sequence number)&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Sequence Number (raw): 547479086&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; [Next Sequence Number: 2 (relative sequence number)]&lt;!-- raw HTML omitted --&gt; Acknowledgment Number: 36 (relative ack number)&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Acknowledgment number (raw): 4126488372&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; 0101 &amp;hellip;. = Header Length: 20 bytes (5)&lt;!-- raw HTML omitted --&gt; &lt;strong&gt;Flags: 0x011 (FIN, ACK)&lt;/strong&gt;&lt;!-- raw HTML omitted --&gt; Window: 10233&lt;!-- raw HTML omitted --&gt; [Calculated window size: 2619648]&lt;!-- raw HTML omitted --&gt; [Window size scaling factor: 256]&lt;!-- raw HTML omitted --&gt; Checksum: 0xeaaa [unverified]&lt;!-- raw HTML omitted --&gt; [Checksum Status: Unverified]&lt;!-- raw HTML omitted --&gt; Urgent Pointer: 0&lt;!-- raw HTML omitted --&gt; [Timestamps]&lt;/td&gt;
					&lt;td&gt;Now, server closes its portal &amp;ldquo;hey client, I&amp;rsquo;m done with you&amp;rdquo;. Notice, Seq, and ACK are the same as above because server has not received anything from client.c&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;client -[ACK]- &amp;gt;server&lt;/td&gt;
					&lt;td&gt;Transmission Control Protocol, Src Port: 24491, Dst Port: 5000, Seq: 36, Ack: 2, Len: 0&lt;!-- raw HTML omitted --&gt; Source Port: 24491&lt;!-- raw HTML omitted --&gt; Destination Port: 5000&lt;!-- raw HTML omitted --&gt; [Stream index: 0]&lt;!-- raw HTML omitted --&gt; [TCP Segment Len: 0]&lt;!-- raw HTML omitted --&gt; Sequence Number: 36 (relative sequence number)&lt;!-- raw HTML omitted --&gt; Sequence Number (raw): 4126488372&lt;!-- raw HTML omitted --&gt; [Next Sequence Number: 36 (relative sequence number)]&lt;!-- raw HTML omitted --&gt; Acknowledgment Number: 2 (relative ack number)&lt;!-- raw HTML omitted --&gt; Acknowledgment number (raw): 547479087&lt;!-- raw HTML omitted --&gt; 0101 &amp;hellip;. = Header Length: 20 bytes (5)&lt;!-- raw HTML omitted --&gt; Flags: 0x010 (ACK)&lt;!-- raw HTML omitted --&gt; Window: 10233&lt;!-- raw HTML omitted --&gt; [Calculated window size: 2619648]&lt;!-- raw HTML omitted --&gt; [Window size scaling factor: 256]&lt;!-- raw HTML omitted --&gt; Checksum: 0xeaaa [unverified]&lt;!-- raw HTML omitted --&gt; [Checksum Status: Unverified]&lt;!-- raw HTML omitted --&gt; Urgent Pointer: 0&lt;!-- raw HTML omitted --&gt; [SEQ/ACK analysis]&lt;!-- raw HTML omitted --&gt; [Timestamps]&lt;/td&gt;
					&lt;td&gt;&amp;ldquo;Okay server, I have received your farewell letter so I will increase the ACK # to one &amp;ldquo;.&lt;!-- raw HTML omitted --&gt; Let reverse engineering, Client&amp;rsquo;s seq:36, in which we know it has sent 1 byte for SYN, 1 byte for FIN, and the rest are the payload. Client&amp;rsquo;s ack:2 shows us that it received 1 SYN and 1 FIN from server&lt;!-- raw HTML omitted --&gt; Also, Server&amp;rsquo;s seq:1 means it has sent 1 byte for SYN, and probally closes. That is why we don&amp;rsquo;t see the 2 seq. Server&amp;rsquo;s ack:36 shows that clent sent 1 SYN, 1 FIN, and 34 bytes of payload.&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;/td&gt;
					&lt;td&gt;&lt;/td&gt;
					&lt;td&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Quick Note - Decibel dB vs dBm</title><link>https://sntpham.github.io/docs/work/tips/2021-08-24-quick-note-db-dbm/</link><pubDate>Tue, 24 Aug 2021 00:00:00 +0000</pubDate><guid>https://sntpham.github.io/docs/work/tips/2021-08-24-quick-note-db-dbm/</guid><description>&lt;link rel="stylesheet" href="https://sntpham.github.io/katex/katex.min.css" /&gt;&lt;script defer src="https://sntpham.github.io/katex/katex.min.js"&gt;&lt;/script&gt;&lt;script defer src="https://sntpham.github.io/katex/auto-render.min.js" onload="renderMathInElement(document.body, {&amp;#34;delimiters&amp;#34;:[{&amp;#34;left&amp;#34;:&amp;#34;$$&amp;#34;,&amp;#34;right&amp;#34;:&amp;#34;$$&amp;#34;,&amp;#34;display&amp;#34;:true},{&amp;#34;left&amp;#34;:&amp;#34;\\(&amp;#34;,&amp;#34;right&amp;#34;:&amp;#34;\\)&amp;#34;,&amp;#34;display&amp;#34;:false},{&amp;#34;left&amp;#34;:&amp;#34;\\[&amp;#34;,&amp;#34;right&amp;#34;:&amp;#34;\\]&amp;#34;,&amp;#34;display&amp;#34;:true}]});"&gt;&lt;/script&gt;
&lt;p&gt;Many of us have heard about decibel unit in our daily lives, as it can be used to describe the loudness of our speakers, the strength of our antennas, or the signal strength from a transceiver. But what exactly are decibels (dB) and dBm? In this discussion, let&amp;rsquo;s explore these concepts and expand our understanding.&lt;/p&gt;
&lt;h2 id="explanation"&gt;Explanation&lt;a class="anchor" href="#explanation"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Deci-bel is ten time of a Bel (10 x Bel)&lt;br&gt;
Bel is named after an inventor Alexander Graham Bell, in Bell Lab.&lt;br&gt;
It is an unit of a ratio on base 10 logarithm scale&lt;br&gt;
Bel is defined as $$X = \log\frac{P2}{P1} $$&lt;/p&gt;</description></item><item><title>TCP/UDP Flow Analysis with Wireshark and Windows Subsystem for Linux</title><link>https://sntpham.github.io/docs/work/tips/2021-08-20-learn-tcp-udp-with-wireshark-and-wsl/</link><pubDate>Fri, 20 Aug 2021 00:00:00 +0000</pubDate><guid>https://sntpham.github.io/docs/work/tips/2021-08-20-learn-tcp-udp-with-wireshark-and-wsl/</guid><description>&lt;p&gt;During many of my interviews, I have been asked whether I understood TCP and UDP, and how they differed from each other. While I knew that TCP had an error-checking procedure that made the protocol more reliable but slower than UDP, my understanding was limited. Although I had learned about the detailed structure of these protocols in school, I didn&amp;rsquo;t have a chance to get hands-on experience with them. However, I later discovered an easy way to explore TCP and UDP packets using Windows Subsystem for Linux (WSL) and WireShark. As a result, I would like to share what I have learned today.&lt;/p&gt;</description></item><item><title>Basic Git commands</title><link>https://sntpham.github.io/docs/work/git/2020-09-25-basic-git-commands/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sntpham.github.io/docs/work/git/2020-09-25-basic-git-commands/</guid><description>&lt;h2 id="creating-and-managing-git-repositories"&gt;Creating and Managing Git Repositories&lt;a class="anchor" href="#creating-and-managing-git-repositories"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you&amp;rsquo;re thinking of creating a project for your class, you&amp;rsquo;ll need to create a Git repository. Here are the steps:&lt;/p&gt;</description></item><item><title>Basic JavaScript Part 1</title><link>https://sntpham.github.io/docs/work/javascript/2021-08-03-basic-javascript-part-1/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sntpham.github.io/docs/work/javascript/2021-08-03-basic-javascript-part-1/</guid><description>&lt;p&gt;In this tutorial, I will introduce a few steps to access and edit elements in JavaScript. Mastering and understanding these steps can help you make a simple form, handling submission, and change the outlook of your website.&lt;/p&gt;
&lt;p&gt;Table of Contents:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Placeholder for Table of Content (Must not be removed)
{:toc}&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="edit-a-text-or-html-via-jquery"&gt;Edit a text or HTML via jQuery&lt;a class="anchor" href="#edit-a-text-or-html-via-jquery"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;This example implement jQuery.&lt;/p&gt;
&lt;p&gt;jQuery is a popular JavaScript library that simplifies DOM manipulation and event handling in web development. One of its key strengths is its ability to quickly and easily edit the content of text or HTML elements on a web page.&lt;/p&gt;</description></item><item><title>Using Ajax, Xhttp, Fetch, and Axios to get page content</title><link>https://sntpham.github.io/docs/work/javascript/2020-10-15-using-ajax-xhttp-and-axios-to-fetch/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sntpham.github.io/docs/work/javascript/2020-10-15-using-ajax-xhttp-and-axios-to-fetch/</guid><description>&lt;p&gt;Axios is a popular JavaScript library used for making HTTP requests from a browser or Node.js. It provides a simple and elegant way to make asynchronous HTTP requests to a server, and handle responses in a clean and efficient manner.&lt;/p&gt;
&lt;p&gt;Fetch is a built-in web API in modern browsers that allows you to make HTTP requests to a server and retrieve data in a simple and straightforward way. It provides an alternative to the traditional XMLHttpRequest (XHR) API, and is designed to be easy to use and flexible.&lt;/p&gt;</description></item></channel></rss>