diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910 b/.jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910
index af0fc87..a9b432b 100644
--- a/.jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910
@@ -1 +1 @@
-I""{"source"=>"/Users/pengzhan/Github/codersherlock.github.io", "destination"=>"/Users/pengzhan/Github/codersherlock.github.io/_site", "collections_dir"=>"", "cache_dir"=>".jekyll-cache", "plugins_dir"=>"_plugins", "layouts_dir"=>"_layouts", "data_dir"=>"_data", "includes_dir"=>"_includes", "collections"=>{"posts"=>{"output"=>true, "permalink"=>"/archivers/:title"}}, "safe"=>false, "include"=>[".htaccess"], "exclude"=>[".sass-cache", ".jekyll-cache", "gemfiles", "Gemfile", "Gemfile.lock", "node_modules", "vendor/bundle/", "vendor/cache/", "vendor/gems/", "vendor/ruby/"], "keep_files"=>[".git", ".svn"], "encoding"=>"utf-8", "markdown_ext"=>"markdown,mkdown,mkdn,mkd,md", "strict_front_matter"=>false, "show_drafts"=>nil, "limit_posts"=>0, "future"=>false, "unpublished"=>false, "whitelist"=>[], "plugins"=>[], "markdown"=>"kramdown", "highlighter"=>"rouge", "lsi"=>false, "excerpt_separator"=>"\n\n", "incremental"=>false, "detach"=>false, "port"=>"4000", "host"=>"127.0.0.1", "baseurl"=>"", "show_dir_listing"=>false, "permalink"=>"/archivers/:title", "paginate_path"=>"page:num", "timezone"=>nil, "quiet"=>false, "verbose"=>false, "defaults"=>[], "liquid"=>{"error_mode"=>"warn", "strict_filters"=>false, "strict_variables"=>false}, "kramdown"=>{"auto_ids"=>true, "toc_levels"=>[1, 2, 3, 4, 5, 6], "entity_output"=>"as_char", "smart_quotes"=>"lsquo,rsquo,ldquo,rdquo", "input"=>"GFM", "hard_wrap"=>false, "guess_lang"=>true, "footnote_nr"=>1, "show_warnings"=>false, "syntax_highlighter"=>"rouge"}, "title"=>"Stop Talking, Start Doing - 停止空想，开始行动", "author"=>"Pengzhan Hao", "avatar"=>"/static/avatar.jpg", "email"=>"haopengzhan@gmail.com", "description"=>"My personal blog, with some boring research staff and some tricks I was fancy to. I'll try my best to make this blog fun and useful. Not just a place I complain about all happens in my Lab.\n", "url"=>"https://codersherlock.github.com/", "github_username"=>"codersherlock", "disqus_shortname"=>"codersherlockblog", "gems"=>["jekyll-paginate", "jekyll-gist", "jemoji"], "paginate"=>5, "serving"=>false}:ET
\ No newline at end of file
+I"{"source"=>"/home/pengzhan/Github/CoderSherlock.github.io", "destination"=>"/home/pengzhan/Github/CoderSherlock.github.io/_site", "collections_dir"=>"", "cache_dir"=>".jekyll-cache", "plugins_dir"=>"_plugins", "layouts_dir"=>"_layouts", "data_dir"=>"_data", "includes_dir"=>"_includes", "collections"=>{"posts"=>{"output"=>true, "permalink"=>"/archivers/:title"}}, "safe"=>false, "include"=>[".htaccess"], "exclude"=>[".sass-cache", ".jekyll-cache", "gemfiles", "Gemfile", "Gemfile.lock", "node_modules", "vendor/bundle/", "vendor/cache/", "vendor/gems/", "vendor/ruby/"], "keep_files"=>[".git", ".svn"], "encoding"=>"utf-8", "markdown_ext"=>"markdown,mkdown,mkdn,mkd,md", "strict_front_matter"=>false, "show_drafts"=>nil, "limit_posts"=>0, "future"=>false, "unpublished"=>false, "whitelist"=>[], "plugins"=>[], "markdown"=>"kramdown", "highlighter"=>"rouge", "lsi"=>false, "excerpt_separator"=>"\n\n", "incremental"=>false, "detach"=>false, "port"=>"4000", "host"=>"127.0.0.1", "baseurl"=>"", "show_dir_listing"=>false, "permalink"=>"/archivers/:title", "paginate_path"=>"page:num", "timezone"=>nil, "quiet"=>false, "verbose"=>false, "defaults"=>[], "liquid"=>{"error_mode"=>"warn", "strict_filters"=>false, "strict_variables"=>false}, "kramdown"=>{"auto_ids"=>true, "toc_levels"=>[1, 2, 3, 4, 5, 6], "entity_output"=>"as_char", "smart_quotes"=>"lsquo,rsquo,ldquo,rdquo", "input"=>"GFM", "hard_wrap"=>false, "guess_lang"=>true, "footnote_nr"=>1, "show_warnings"=>false, "syntax_highlighter"=>"rouge"}, "title"=>"Stop Talking, Start Doing", "author"=>"Pengzhan Hao", "avatar"=>"/static/avatar.jpg", "email"=>"haopengzhan@gmail.com", "description"=>"My personal blog, with some boring research staff and some tricks I was fancy to. I'll try my best to make this blog fun and useful. Not just a place I complain about all happens in my Lab.\n", "url"=>"https://codersherlock.github.com/", "github_username"=>"codersherlock", "disqus_shortname"=>"codersherlockblog", "gems"=>["jekyll-paginate", "jekyll-gist", "jemoji"], "paginate"=>5, "serving"=>false}:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/37/304d816a1f295ed873c9a1e6385e65874ba0cbfe7214361894c78e973a9a85 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/37/304d816a1f295ed873c9a1e6385e65874ba0cbfe7214361894c78e973a9a85
deleted file mode 100644
index ed444c6..0000000
--- a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/37/304d816a1f295ed873c9a1e6385e65874ba0cbfe7214361894c78e973a9a85
+++ /dev/null
@@ -1,100 +0,0 @@
-I"�<h1 id="pengzhan-hao">Pengzhan Hao</h1>
-
-<p><strong>Position:</strong>	        Research Assistant in MOSLab<br />
-<strong>Education:</strong>	     Doctoral Student of SUNY at Binghamton<br />
-<strong>Email:</strong>		            phao3 at binghamton dot edu<br />
-<strong>Address:</strong><br />
-                        MOSLab, H-6 Engineering Building<br />
-                        Binghamton University<br />
-                        4400 Vestal Parkway East<br />
-                        Binghamton, NY 13902</p>
-
-<h2 id="education">Education</h2>
-<ul>
-  <li>2017.08 -                 Ph.D. in Computer Science, Binghamton University, NY, USA</li>
-  <li>2015.08 - 2017.05   M.E in Computer Science, Binghamton University, NY, USA</li>
-  <li>2011.08 - 2015.06   B.E in Software Engineering, Beihang University, Beijing, China</li>
-</ul>
-
-<h2 id="experience">Experience</h2>
-<ul>
-  <li>2013.10 - 2014.09   <strong><em>Research Intern</em></strong> @ Advanced computer application technology engineering Research Center, Ministry of Education, China
-    <ul>
-      <li>Analyzed real-time routing problem and reliable algorithm design</li>
-      <li>Led and developed a routing system mostly backend server program</li>
-      <li>Participated in vehicle internet research</li>
-      <li>Supervised by <a href="http://scse.buaa.edu.cn/buaa-css-web/toCardDetailAction.action?firstSelId=CARD_TMPL_OF_FIRST_NAVI_CN&amp;secondSelId=CARD_TMPL_OF_ALL_TEACHER_CN&amp;thirdSelId=&amp;cardId=105c1bfe787-4d33-48eb-a05f-e2a6f3934216&amp;language=0&amp;curSelectNavId=CARD_TMPL_OF_ALL_TEACHER_CN">Juhua Pu</a>, <a href="http://scse.buaa.edu.cn/buaa-css-web/toCardDetailAction.action?firstSelId=CARD_TMPL_OF_FIRST_NAVI_CN&amp;secondSelId=CARD_TMPL_OF_ALL_TEACHER_CN&amp;thirdSelId=&amp;cardId=3063cc45-7b8b-441a-86b2-3a4f59c26bd40&amp;language=0&amp;curSelectNavId=CARD_TMPL_OF_ALL_TEACHER_CN">Zhang Xiong</a>, Related project: <a href="https://www.microsoft.com/en-us/research/project/urban-computing/">Urban Computing</a></li>
-    </ul>
-  </li>
-  <li>2013.10 - 2014.01   <strong><em>Research Intern</em></strong> @ Institute of Software, Chinese Academy of Sciences, China
-    <ul>
-      <li>Analyzed mobile OS kernel and Localized portion with C language</li>
-      <li>Supervised by <a href="http://soft.buaa.edu.cn/info/1060/1307.htm">Cangzhou Yuan</a></li>
-    </ul>
-  </li>
-</ul>
-
-<h2 id="research">Research</h2>
-<ul>
-  <li>Graduate
-    <ul>
-      <li>Edge Computing
-        <ul>
-          <li>Network Performance</li>
-        </ul>
-      </li>
-      <li>Vitrualization</li>
-    </ul>
-  </li>
-  <li>Undergraduate
-    <ul>
-      <li>Urban Comuputing
-        <ul>
-          <li>Routing algorithm and system</li>
-          <li>Real-time data processing</li>
-        </ul>
-      </li>
-      <li>Mobile Operating System
-        <ul>
-          <li>Kernel Analysis</li>
-          <li>Locolization</li>
-        </ul>
-      </li>
-    </ul>
-  </li>
-</ul>
-
-<h2 id="publications">Publications</h2>
-<ul>
-  <li>
-    <p><strong><a href="">A Case for Web Service Bandwidth Reduction on Mobile Devices with Edge-hosted Personal Services </a></strong> <br />
-Yongshu Bai, <strong>Pengzhan Hao</strong>, and Yifan Zhang <br />
-The 37th IEEE International Conference on Computer Communications (<strong>IEEE INFOCOM</strong>)<br />
-Honolulu, HI, USA, 2018.</p>
-  </li>
-  <li>
-    <p><strong><a href="/static/2018-02/a7-hao.pdf">EdgeCourier: An Edge-hosted Personal Service for Low-bandwidth Document Synchronization in Mobile Cloud Storage Services</a></strong> <strong>[<a href="">slide</a>]</strong><br />
-<strong>Pengzhan Hao</strong>, Yongshu Bai, Xin Zhang, and Yifan Zhang<br />
-The 2nd ACM/IEEE Symposium on Edge Computing (<strong>ACM/IEEE SEC</strong>)<br />
-San Jose, CA, USA, 2017.</p>
-  </li>
-  <li>
-    <p><strong><a href="/static/2017-07/p169-zhang.pdf">Poster: Securing Device Inputs for Smartphones Using Hypervisor Based Approach</a></strong><br />
-Xin Zhang, Yongshu Bai, <strong>Pengzhan Hao</strong>, and Yifan Zhang<br />
-The 15th ACM International Conference on Mobile Systems, Applications, and Services (ACM MobiSys)<br />
-Niagara Falls, NY, USA, 2017.</p>
-  </li>
-  <li>
-    <p><strong><a href="/static/2017-07/p163-hao.pdf">Poster: EPS - Edge-hosted Personal Services for Mobile Users</a> [<a href="/static/2017-07/eps_poster.pdf">poster</a>]</strong><br />
-<strong>Pengzhan Hao</strong>, Yongshu Bai, Xin Zhang, and Yifan Zhang<br />
-The 15th ACM International Conference on Mobile Systems, Applications, and Services (ACM MobiSys)<br />
-Niagara Falls, NY, USA, 2017.</p>
-  </li>
-</ul>
-
-<h2 id="fun">Fun</h2>
-
-<ul>
-  <li>My <a href="/timeline/index.html">Timeline</a></li>
-</ul>
-:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/5b/738694e3f95b8a3b2a12932c08432a80a1f2f8ace52dc7b553610498d9c9d0 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/5b/738694e3f95b8a3b2a12932c08432a80a1f2f8ace52dc7b553610498d9c9d0
deleted file mode 100644
index 62616c7..0000000
--- a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/5b/738694e3f95b8a3b2a12932c08432a80a1f2f8ace52dc7b553610498d9c9d0
+++ /dev/null
@@ -1,19 +0,0 @@
-I"�	<p>I hate xv6, a stupid, useless education-oriented system. In this article, I will generally talk about how to implement system call to this operating system.</p>
-
-<h2 id="xv6-systemcall">Xv6 Systemcall</h2>
-<p>To invoke a system call, we have to first define a user mode function to be the interface of the kernel instruction  in file <em>user.h</em>.</p>
-
-<div class="language-c highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">void</span> <span class="nf">function</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
-</code></pre></div></div>
-
-<p>This interface-like function will then pass the function name, in this case function, to <em>usys.S</em>. When using user mode function in programs, <em>usys.S</em> will generate a reference to SYS_function and push system call number of this function into %eax. After that, system can know from <em>syscall.c</em> and determining whether this system call is available. We must define same name system function and add it into <em>syscall.h</em> and <em>syscall.c</em>.</p>
-
-<div class="language-c highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cp">#define SYS_function ##		// ## is the system call number
-</span><span class="p">[</span><span class="n">SYS_function</span><span class="p">]</span>  <span class="n">sys_function</span>	<span class="c1">// real system function name</span>
-<span class="k">extern</span> <span class="kt">int</span> <span class="nf">sys_function</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span>	<span class="c1">// real system function declaration</span>
-</code></pre></div></div>
-
-<p>After adding these sentences to syscall files, we can implement real function in specific place where you want to make the function works well.</p>
-
-<p>Sometimes, we need to pass variables among system calls. In this case, variables’ values are not necessary and even can’t be pass directly into system_function. When invoke a system call function, all variables of this system call will be pushed into current process’ stack. In file <em>syscall.c</em>, multiple functions are provided to get these variables from the process. I won’t waste time on explaining how to use these functions especially when elegant and detailed comments were written in source codes. However, I will explain concepts and how process organized and works in xv6 in future articles.</p>
-:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/f0/60afa57b13d66a67a3613983d015ea914eadd66b340ae88b9d45fd5fe8d87c b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/f0/60afa57b13d66a67a3613983d015ea914eadd66b340ae88b9d45fd5fe8d87c
deleted file mode 100644
index 29efb72..0000000
--- a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/f0/60afa57b13d66a67a3613983d015ea914eadd66b340ae88b9d45fd5fe8d87c
+++ /dev/null
@@ -1,2 +0,0 @@
-I"�<p>I hate xv6, a stupid, useless education-oriented system. In this article, I will generally talk about how to implement system call to this operating system.</p>
-:ET
\ No newline at end of file
diff --git a/_config.yml b/_config.yml
index fcf71f4..bacd958 100644
--- a/_config.yml
+++ b/_config.yml
@@ -6,7 +6,7 @@
 # 'jekyll serve'. If you change this file, please restart the server process.
 
 # Site settings
-title: Stop Talking, Start Doing - 停止空想，开始行动  
+title: Stop Talking, Start Doing
 author: Pengzhan Hao
 avatar: "/static/avatar.jpg"
 email: haopengzhan@gmail.com 
diff --git a/_includes/sidebar.html b/_includes/sidebar.html
index c7c729f..ced93f3 100644
--- a/_includes/sidebar.html
+++ b/_includes/sidebar.html
@@ -25,5 +25,5 @@
 </div>
 
 <div class="col-box post-toc hide">
-  <div class="col-box-title">TOC</div>
+  <div class="col-box-title">Indexes</div>
 </div>
\ No newline at end of file
diff --git a/_posts/2017-07-08-intro-xv6.md b/_posts/2017-07-08-intro-xv6.md
index 8821931..85c8a7c 100644
--- a/_posts/2017-07-08-intro-xv6.md
+++ b/_posts/2017-07-08-intro-xv6.md
@@ -5,10 +5,12 @@ date:   2017-07-28 14:56:55 -0400
 categories: xv6
 ---
 
-I hate xv6, a stupid, useless education-oriented system. In this article, I will generally talk about how to implement system call to this operating system.
-
+In this post, you will learn a few basic concepts of xv6. Learning path will be closed coupled to first project assignment I gave when I assisted in teaching OS classes.
+Understand system call and know how to implement a simple one will be coved as the first half.
+In the second half of this post, I will discuss a little bit more on how to debug xv6 using gdb.  
 
 ## Xv6 Systemcall
+
 To invoke a system call, we have to first define a user mode function to be the interface of the kernel instruction  in file *user.h*.
 
 ~~~~c
@@ -18,11 +20,66 @@ void function (void);
 This interface-like function will then pass the function name, in this case function, to *usys.S*. When using user mode function in programs, *usys.S* will generate a reference to SYS_function and push system call number of this function into %eax. After that, system can know from *syscall.c* and determining whether this system call is available. We must define same name system function and add it into *syscall.h* and *syscall.c*.
 
 ~~~~c
-#define SYS_function ##		// ## is the system call number
-[SYS_function]  sys_function	// real system function name
-extern int sys_function(void);	// real system function declaration
+#define SYS_function ##  // ## is the system call number
+[SYS_function]  sys_function // real system function name
+extern int sys_function(void); // real system function declaration
 ~~~~
 
 After adding these sentences to syscall files, we can implement real function in specific place where you want to make the function works well.
 
 Sometimes, we need to pass variables among system calls. In this case, variables’ values are not necessary and even can’t be pass directly into system_function. When invoke a system call function, all variables of this system call will be pushed into current process’ stack. In file *syscall.c*, multiple functions are provided to get these variables from the process. I won’t waste time on explaining how to use these functions especially when elegant and detailed comments were written in source codes. However, I will explain concepts and how process organized and works in xv6 in future articles.
+
+## Debug xv6 with gdb
+
+Please make sure that you have used gdb before.
+If you never used gdb, you may write a simple 50-100 lines c code and practice how to use gdb first.
+  
+- [GDB Manual](https://sourceware.org/gdb/current/onlinedocs/gdb/)
+- [GDB cheatsheet (pdf)](https://darkdust.net/files/GDB%20Cheat%20Sheet.pdf)
+  
+To make sure xv6 gdb enabled, please check if *.gdbinit.tmpl* file exist.
+This file is used for generate *.gdbinit* file which you can late consider it as a configuration for gdb.
+  
+Before running the xv6 instance in QEMU, one more thing you need to know is that using gdb to debug xv6 must be attached remotely.
+This is because xv6 was running within QEMU, and emulator is virtually gapped from the host device.
+Later when you start debugging, QEMU will open a gdb server to let gdb client connect to.
+  
+Once you want to start, using following command to compile and run xv6
+
+~~~~bash
+$ make qemu-nox-gdb
+*** Now run 'gdb'.
+qemu-system-i386 -nographic -drive file=fs.img,index=1,media=disk,format=raw -drive file=xv6.img,index=0,media=disk,format=raw -smp 2 7
+~~~~
+
+At this moment, it feels xv6 was stuck, this is because QEMU is ready to be connected by the gdb client.
+You may use the *.gdbinit* to automatically finish this remote connection by simple typein following command in another terminal.
+
+~~~~bash
+$ gdb -x .gdbinit
+GNU gdb (Debian 8.2.1-2+b3) 8.2.1
+
+...
+
+The target architecture is assumed to be i8086
+[f000:fff0]    0xffff0: ljmp   $0x3630,$0xf000e05b
+0x0000fff0 in ?? ()
++ symbol-file kernel
+warning: A handler for the OS ABI "GNU/Linux" is not built into this configuration
+of GDB.  Attempting to continue with the default i8086 settings.
+
+(gdb) 
+~~~~
+
+Now within this gdb client shell, type 'c' to continue the xv6, and you will see xv6 start execution in the first terminal.
+  
+At this moment, you may add breakpoints to your code to see if your code is correctly implemented or not.
+  
+**One more thing**, if you open *.gdbinit* file, you'll find that it by default connect to a localhost target.
+If you are working on some other environment that target and client were not placed in the same device, change the localhost to ip address correspondingly.
+Using ssh may connect to different physical devices under same domain name, this is because load balancer were used. To check ip address, search command *ip*.
+
+~~~~bash
+target remote localhost:28467
+# target remote [ip-addr]:28467
+~~~~
diff --git a/_posts/2020-09-15-generate-word-cloud-with-chinese-fenci.md b/_posts/2020-09-15-generate-word-cloud-with-chinese-fenci.md
index 5b8dc16..d1ab58e 100644
--- a/_posts/2020-09-15-generate-word-cloud-with-chinese-fenci.md
+++ b/_posts/2020-09-15-generate-word-cloud-with-chinese-fenci.md
@@ -4,7 +4,12 @@ title:  "Generate Word Cloud Figures with Chinese-Tokenization and WordCloud pyt
 date:   2020-09-15 22:00:14 -0400
 categories: visualization
 ---
-<img src="/static/2020-09/2020-06-28.png" height="350">
+
+Let's generate a word cloud like this. 
+Don't understand the language is not a big deal.
+If your written language is based on latin alphabet(or other language has space between words), skip tokenization.
+  
+<img src="/static/2020-09/2020-06-28.png" height="250">
 
 ## Background
 
diff --git a/_site/404.html b/_site/404.html
index 44d0f6f..8f3112b 100644
--- a/_site/404.html
+++ b/_site/404.html
@@ -6,7 +6,7 @@
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
 
-  <title>Page Not Found « Stop Talking, Start Doing - 停止空想，开始行动</title>
+  <title>Page Not Found « Stop Talking, Start Doing</title>
   <meta name="description" content="My personal blog, with some boring research staff and some tricks I was fancy to. I'll try my best to make this blog fun and useful. Not just a place I complain about all happens in my Lab.
 ">
 
@@ -14,7 +14,7 @@
   <link rel="stylesheet" href="/css/timeline.css">
   <link rel="canonical" href="https://codersherlock.github.com//404.html">
   <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Tangerine">
-  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing - 停止空想，开始行动" href="https://codersherlock.github.com//feed.xml" />
+  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing" href="https://codersherlock.github.com//feed.xml" />
   <script>
   (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
         (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -39,13 +39,13 @@
 
     <header class="header">
   <div class="wrapper">
-    <a class="site-title" href="/">Stop Talking, Start Doing - 停止空想，开始行动</a>
+    <a class="site-title" href="/">Stop Talking, Start Doing</a>
     <nav class="site-nav">
       
         
       
         
-        <a class="page-link" href="/about/">About Me</a>
+        <a class="page-link" href="/about/">About</a>
         
       
         
@@ -118,7 +118,7 @@
 </div>
 
 <div class="col-box post-toc hide">
-  <div class="col-box-title">TOC</div>
+  <div class="col-box-title">Indexes</div>
 </div>
         </div>
       </div>
diff --git a/_site/about/index.html b/_site/about/index.html
index 52b1054..d11503a 100644
--- a/_site/about/index.html
+++ b/_site/about/index.html
@@ -6,7 +6,7 @@
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
 
-  <title>About Me « Stop Talking, Start Doing - 停止空想，开始行动</title>
+  <title>About « Stop Talking, Start Doing</title>
   <meta name="description" content="My personal blog, with some boring research staff and some tricks I was fancy to. I'll try my best to make this blog fun and useful. Not just a place I complain about all happens in my Lab.
 ">
 
@@ -14,7 +14,7 @@
   <link rel="stylesheet" href="/css/timeline.css">
   <link rel="canonical" href="https://codersherlock.github.com//about/">
   <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Tangerine">
-  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing - 停止空想，开始行动" href="https://codersherlock.github.com//feed.xml" />
+  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing" href="https://codersherlock.github.com//feed.xml" />
   <script>
   (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
         (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -39,13 +39,13 @@
 
     <header class="header">
   <div class="wrapper">
-    <a class="site-title" href="/">Stop Talking, Start Doing - 停止空想，开始行动</a>
+    <a class="site-title" href="/">Stop Talking, Start Doing</a>
     <nav class="site-nav">
       
         
       
         
-        <a class="page-link" href="/about/">About Me</a>
+        <a class="page-link" href="/about/">About</a>
         
       
         
@@ -70,15 +70,15 @@
           <div class="post">
 
   <header class="post-header">
-    <h1 class="post-title">About Me</h1>
+    <h1 class="post-title">About</h1>
   </header>
 
   <article class="post-content">
     <h1 id="pengzhan-hao">Pengzhan Hao</h1>
 
-<p><strong>Position:</strong>	        Research Assistant in MOSLab<br />
-<strong>Education:</strong>	     Doctoral Student of SUNY at Binghamton<br />
-<strong>Email:</strong>		            phao3 at binghamton dot edu<br />
+<p><strong>Position:</strong>         Research Assistant in MOSLab<br />
+<strong>Education:</strong>      Doctoral Student of SUNY at Binghamton<br />
+<strong>Email:</strong>              phao3 at binghamton dot edu<br />
 <strong>Address:</strong><br />
                         MOSLab, H-6 Engineering Building<br />
                         Binghamton University<br />
@@ -86,6 +86,7 @@
                         Binghamton, NY 13902</p>
 
 <h2 id="education">Education</h2>
+
 <ul>
   <li>2017.08 -                 Ph.D. in Computer Science, Binghamton University, NY, USA</li>
   <li>2015.08 - 2017.05   M.E in Computer Science, Binghamton University, NY, USA</li>
@@ -93,63 +94,72 @@
 </ul>
 
 <h2 id="experience">Experience</h2>
+
 <ul>
+  <li>2016.10 -    <strong><em>Research Assistant</em></strong> @ Mobile and Operating System Lab, Binghamton University
+    <ul>
+      <li>Advised by Professor <a href="https://buzhangy.github.io/">Yifan Zhang</a></li>
+      <li>Edge-based distributed deep learning
+        <ul>
+          <li>Implemented a system for time-sensitive, edge-based distributed neural network training scenarios with state-of-the-art performance.</li>
+          <li>Applied empirical experiments to show potential opportunities in Edge-based/Mobile-based distributed neural network training.</li>
+          <li>Investigated heterogeneous-aware training tasks scheduling problem.</li>
+        </ul>
+      </li>
+      <li>Edge Computing
+        <ul>
+          <li>Envision edge computing’s work-flow in end device performance(latency, traffic) improving.</li>
+          <li>Applied empirical experiments on different edge computing work-flow and propose/implement related solutions.</li>
+          <li>Design and implement an edge-based multi-tier system for decreasing bandwidth usage from endpoint mobile device.</li>
+        </ul>
+      </li>
+    </ul>
+  </li>
   <li>2013.10 - 2014.09   <strong><em>Research Intern</em></strong> @ Advanced computer application technology engineering Research Center, Ministry of Education, China
     <ul>
       <li>Analyzed real-time routing problem and reliable algorithm design</li>
       <li>Led and developed a routing system mostly backend server program</li>
       <li>Participated in vehicle internet research</li>
-      <li>Supervised by <a href="http://scse.buaa.edu.cn/buaa-css-web/toCardDetailAction.action?firstSelId=CARD_TMPL_OF_FIRST_NAVI_CN&amp;secondSelId=CARD_TMPL_OF_ALL_TEACHER_CN&amp;thirdSelId=&amp;cardId=105c1bfe787-4d33-48eb-a05f-e2a6f3934216&amp;language=0&amp;curSelectNavId=CARD_TMPL_OF_ALL_TEACHER_CN">Juhua Pu</a>, <a href="http://scse.buaa.edu.cn/buaa-css-web/toCardDetailAction.action?firstSelId=CARD_TMPL_OF_FIRST_NAVI_CN&amp;secondSelId=CARD_TMPL_OF_ALL_TEACHER_CN&amp;thirdSelId=&amp;cardId=3063cc45-7b8b-441a-86b2-3a4f59c26bd40&amp;language=0&amp;curSelectNavId=CARD_TMPL_OF_ALL_TEACHER_CN">Zhang Xiong</a>, Related project: <a href="https://www.microsoft.com/en-us/research/project/urban-computing/">Urban Computing</a></li>
+      <li>Supervised by Juhua Pu, Zhang Xiong, Related project: Urban Computing</li>
     </ul>
   </li>
   <li>2013.10 - 2014.01   <strong><em>Research Intern</em></strong> @ Institute of Software, Chinese Academy of Sciences, China
     <ul>
       <li>Analyzed mobile OS kernel and Localized portion with C language</li>
-      <li>Supervised by <a href="http://soft.buaa.edu.cn/info/1060/1307.htm">Cangzhou Yuan</a></li>
+      <li>Supervised by Cangzhou Yuan</li>
     </ul>
   </li>
 </ul>
 
-<h2 id="research">Research</h2>
+<h2 id="research-projects">Research projects</h2>
+
 <ul>
-  <li>Graduate
+  <li><a href="https://github.com/CoderSherlock/dlib-exper">EDDL: Edge-based distributed deep learning</a></li>
+  <li><a href="https://github.com/bumoslab/EdgeCourier">Edge Courier: Edge-involved Cloud file synchronization service</a>      <em>Original repository(private)</em></li>
+  <li>Real time routing planner      <em>Original repository(private)</em>
     <ul>
-      <li>Edge Computing
-        <ul>
-          <li>Network Performance</li>
-        </ul>
-      </li>
-      <li>Vitrualization</li>
-    </ul>
-  </li>
-  <li>Undergraduate
-    <ul>
-      <li>Urban Comuputing
-        <ul>
-          <li>Routing algorithm and system</li>
-          <li>Real-time data processing</li>
-        </ul>
-      </li>
-      <li>Mobile Operating System
-        <ul>
-          <li>Kernel Analysis</li>
-          <li>Locolization</li>
-        </ul>
-      </li>
+      <li><a href="https://github.com/CoderSherlock/Project-OSCF.git">Map preprocessing driver</a></li>
     </ul>
   </li>
 </ul>
 
 <h2 id="publications">Publications</h2>
+
 <ul>
   <li>
-    <p><strong><a href="">A Case for Web Service Bandwidth Reduction on Mobile Devices with Edge-hosted Personal Services </a></strong> <br />
-Yongshu Bai, <strong>Pengzhan Hao</strong>, and Yifan Zhang <br />
+    <p><strong>EDDL: A Distributed Deep Learning System for Resource-limited Edge Computing Environment.</strong>
+<strong>Pengzhan Hao</strong>, and Yifan Zhang
+The Sixth ACM/IEEE Symposium on Edge Computing (<strong>ACM/IEEE SEC</strong>)<br />
+San Jose, CA, USA, 2021.</p>
+  </li>
+  <li>
+    <p><strong><a href="/static/2021-10/eta-infocom18.pdf">A Case for Web Service Bandwidth Reduction on Mobile Devices with Edge-hosted Personal Services</a></strong>
+Yongshu Bai, <strong>Pengzhan Hao</strong>, and Yifan Zhang
 The 37th IEEE International Conference on Computer Communications (<strong>IEEE INFOCOM</strong>)<br />
 Honolulu, HI, USA, 2018.</p>
   </li>
   <li>
-    <p><strong><a href="/static/2018-02/a7-hao.pdf">EdgeCourier: An Edge-hosted Personal Service for Low-bandwidth Document Synchronization in Mobile Cloud Storage Services</a></strong> <strong>[<a href="">slide</a>]</strong><br />
+    <p><strong><a href="/static/2018-02/a7-hao.pdf">EdgeCourier: An Edge-hosted Personal Service for Low-bandwidth Document Synchronization in Mobile Cloud Storage Services</a></strong> <strong>[<a href="/">slide</a>]</strong><br />
 <strong>Pengzhan Hao</strong>, Yongshu Bai, Xin Zhang, and Yifan Zhang<br />
 The 2nd ACM/IEEE Symposium on Edge Computing (<strong>ACM/IEEE SEC</strong>)<br />
 San Jose, CA, USA, 2017.</p>
@@ -157,23 +167,27 @@ San Jose, CA, USA, 2017.</p>
   <li>
     <p><strong><a href="/static/2017-07/p169-zhang.pdf">Poster: Securing Device Inputs for Smartphones Using Hypervisor Based Approach</a></strong><br />
 Xin Zhang, Yongshu Bai, <strong>Pengzhan Hao</strong>, and Yifan Zhang<br />
-The 15th ACM International Conference on Mobile Systems, Applications, and Services (ACM MobiSys)<br />
+The 15th ACM International Conference on Mobile Systems, Applications, and Services (<strong>ACM MobiSys</strong>)<br />
 Niagara Falls, NY, USA, 2017.</p>
   </li>
   <li>
     <p><strong><a href="/static/2017-07/p163-hao.pdf">Poster: EPS - Edge-hosted Personal Services for Mobile Users</a> [<a href="/static/2017-07/eps_poster.pdf">poster</a>]</strong><br />
 <strong>Pengzhan Hao</strong>, Yongshu Bai, Xin Zhang, and Yifan Zhang<br />
-The 15th ACM International Conference on Mobile Systems, Applications, and Services (ACM MobiSys)<br />
+The 15th ACM International Conference on Mobile Systems, Applications, and Services (<strong>ACM MobiSys</strong>)<br />
 Niagara Falls, NY, USA, 2017.</p>
   </li>
 </ul>
 
-<h2 id="fun">Fun</h2>
+<h2 id="teaching">Teaching</h2>
 
 <ul>
-  <li>My <a href="/timeline/index.html">Timeline</a></li>
+  <li>Operating system (Graduate level)</li>
+  <li>Operating system (Undergraduate level)</li>
+  <li>Introduction to distributed system (Graduate level)</li>
 </ul>
 
+<h2 id="fun">Fun</h2>
+
   </article>
 
   
@@ -216,7 +230,7 @@ Niagara Falls, NY, USA, 2017.</p>
 </div>
 
 <div class="col-box post-toc hide">
-  <div class="col-box-title">TOC</div>
+  <div class="col-box-title">Indexes</div>
 </div>
         </div>
       </div>
diff --git a/_site/archivers/charles-is-not-a-good-tool.html b/_site/archivers/charles-is-not-a-good-tool.html
index 11f088a..ba5c2e7 100644
--- a/_site/archivers/charles-is-not-a-good-tool.html
+++ b/_site/archivers/charles-is-not-a-good-tool.html
@@ -6,14 +6,14 @@
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
 
-  <title>Using charles proxy to monitor mobile SSL traffics « Stop Talking, Start Doing - 停止空想，开始行动</title>
+  <title>Using charles proxy to monitor mobile SSL traffics « Stop Talking, Start Doing</title>
   <meta name="description" content="In this blog, I will generally talk about how to use proper tools to monitor SSL traffics of a mobile devices. Currently, I only can dealing with those SSL t...">
 
   <link rel="stylesheet" href="/css/main.css">
   <link rel="stylesheet" href="/css/timeline.css">
   <link rel="canonical" href="https://codersherlock.github.com//archivers/charles-is-not-a-good-tool">
   <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Tangerine">
-  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing - 停止空想，开始行动" href="https://codersherlock.github.com//feed.xml" />
+  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing" href="https://codersherlock.github.com//feed.xml" />
   <script>
   (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
         (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -38,13 +38,13 @@
 
     <header class="header">
   <div class="wrapper">
-    <a class="site-title" href="/">Stop Talking, Start Doing - 停止空想，开始行动</a>
+    <a class="site-title" href="/">Stop Talking, Start Doing</a>
     <nav class="site-nav">
       
         
       
         
-        <a class="page-link" href="/about/">About Me</a>
+        <a class="page-link" href="/about/">About</a>
         
       
         
@@ -160,7 +160,7 @@ You also need to save charles Root Certificate, it also contains in the same men
 </div>
 
 <div class="col-box post-toc hide">
-  <div class="col-box-title">TOC</div>
+  <div class="col-box-title">Indexes</div>
 </div>
         </div>
       </div>
diff --git a/_site/archivers/generate-word-cloud-with-chinese-fenci.html b/_site/archivers/generate-word-cloud-with-chinese-fenci.html
index 133950f..b14c7e6 100644
--- a/_site/archivers/generate-word-cloud-with-chinese-fenci.html
+++ b/_site/archivers/generate-word-cloud-with-chinese-fenci.html
@@ -6,14 +6,14 @@
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
 
-  <title>Generate Word Cloud Figures with Chinese-Tokenization and WordCloud python libraries « Stop Talking, Start Doing - 停止空想，开始行动</title>
-  <meta name="description" content="">
+  <title>Generate Word Cloud Figures with Chinese-Tokenization and WordCloud python libraries « Stop Talking, Start Doing</title>
+  <meta name="description" content="Let’s generate a word cloud like this. Don’t understand the language is not a big deal.If your written language is based on latin alphabet(or other language ...">
 
   <link rel="stylesheet" href="/css/main.css">
   <link rel="stylesheet" href="/css/timeline.css">
   <link rel="canonical" href="https://codersherlock.github.com//archivers/generate-word-cloud-with-chinese-fenci">
   <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Tangerine">
-  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing - 停止空想，开始行动" href="https://codersherlock.github.com//feed.xml" />
+  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing" href="https://codersherlock.github.com//feed.xml" />
   <script>
   (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
         (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -38,13 +38,13 @@
 
     <header class="header">
   <div class="wrapper">
-    <a class="site-title" href="/">Stop Talking, Start Doing - 停止空想，开始行动</a>
+    <a class="site-title" href="/">Stop Talking, Start Doing</a>
     <nav class="site-nav">
       
         
       
         
-        <a class="page-link" href="/about/">About Me</a>
+        <a class="page-link" href="/about/">About</a>
         
       
         
@@ -74,7 +74,11 @@
   </header>
 
   <article class="post-content">
-    <p><img src="/static/2020-09/2020-06-28.png" height="350" /></p>
+    <p>Let’s generate a word cloud like this. 
+Don’t understand the language is not a big deal.
+If your written language is based on latin alphabet(or other language has space between words), skip tokenization.</p>
+
+<p><img src="/static/2020-09/2020-06-28.png" height="250" /></p>
 
 <h2 id="background">Background</h2>
 
@@ -287,7 +291,7 @@
 </div>
 
 <div class="col-box post-toc hide">
-  <div class="col-box-title">TOC</div>
+  <div class="col-box-title">Indexes</div>
 </div>
         </div>
       </div>
diff --git a/_site/archivers/hello.html b/_site/archivers/hello.html
index 7ea33b6..b6c24de 100644
--- a/_site/archivers/hello.html
+++ b/_site/archivers/hello.html
@@ -6,14 +6,14 @@
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
 
-  <title>Stop Talking is the worst title of one blog « Stop Talking, Start Doing - 停止空想，开始行动</title>
+  <title>Stop Talking is the worst title of one blog « Stop Talking, Start Doing</title>
   <meta name="description" content="">
 
   <link rel="stylesheet" href="/css/main.css">
   <link rel="stylesheet" href="/css/timeline.css">
   <link rel="canonical" href="https://codersherlock.github.com//archivers/hello">
   <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Tangerine">
-  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing - 停止空想，开始行动" href="https://codersherlock.github.com//feed.xml" />
+  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing" href="https://codersherlock.github.com//feed.xml" />
   <script>
   (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
         (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -38,13 +38,13 @@
 
     <header class="header">
   <div class="wrapper">
-    <a class="site-title" href="/">Stop Talking, Start Doing - 停止空想，开始行动</a>
+    <a class="site-title" href="/">Stop Talking, Start Doing</a>
     <nav class="site-nav">
       
         
       
         
-        <a class="page-link" href="/about/">About Me</a>
+        <a class="page-link" href="/about/">About</a>
         
       
         
@@ -132,7 +132,7 @@
 </div>
 
 <div class="col-box post-toc hide">
-  <div class="col-box-title">TOC</div>
+  <div class="col-box-title">Indexes</div>
 </div>
         </div>
       </div>
diff --git a/_site/archivers/intro-xv6.html b/_site/archivers/intro-xv6.html
index c92a2c1..e8170d0 100644
--- a/_site/archivers/intro-xv6.html
+++ b/_site/archivers/intro-xv6.html
@@ -6,14 +6,14 @@
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
 
-  <title>Xv6 introduction « Stop Talking, Start Doing - 停止空想，开始行动</title>
-  <meta name="description" content="I hate xv6, a stupid, useless education-oriented system. In this article, I will generally talk about how to implement system call to this operating system.">
+  <title>Xv6 introduction « Stop Talking, Start Doing</title>
+  <meta name="description" content="In this post, you will learn a few basic concepts of xv6. Learning path will be closed coupled to first project assignment I gave when I assisted in teaching...">
 
   <link rel="stylesheet" href="/css/main.css">
   <link rel="stylesheet" href="/css/timeline.css">
   <link rel="canonical" href="https://codersherlock.github.com//archivers/intro-xv6">
   <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Tangerine">
-  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing - 停止空想，开始行动" href="https://codersherlock.github.com//feed.xml" />
+  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing" href="https://codersherlock.github.com//feed.xml" />
   <script>
   (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
         (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -38,13 +38,13 @@
 
     <header class="header">
   <div class="wrapper">
-    <a class="site-title" href="/">Stop Talking, Start Doing - 停止空想，开始行动</a>
+    <a class="site-title" href="/">Stop Talking, Start Doing</a>
     <nav class="site-nav">
       
         
       
         
-        <a class="page-link" href="/about/">About Me</a>
+        <a class="page-link" href="/about/">About</a>
         
       
         
@@ -74,9 +74,12 @@
   </header>
 
   <article class="post-content">
-    <p>I hate xv6, a stupid, useless education-oriented system. In this article, I will generally talk about how to implement system call to this operating system.</p>
+    <p>In this post, you will learn a few basic concepts of xv6. Learning path will be closed coupled to first project assignment I gave when I assisted in teaching OS classes.
+Understand system call and know how to implement a simple one will be coved as the first half.
+In the second half of this post, I will discuss a little bit more on how to debug xv6 using gdb.</p>
 
 <h2 id="xv6-systemcall">Xv6 Systemcall</h2>
+
 <p>To invoke a system call, we have to first define a user mode function to be the interface of the kernel instruction  in file <em>user.h</em>.</p>
 
 <div class="language-c highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">void</span> <span class="nf">function</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
@@ -84,15 +87,69 @@
 
 <p>This interface-like function will then pass the function name, in this case function, to <em>usys.S</em>. When using user mode function in programs, <em>usys.S</em> will generate a reference to SYS_function and push system call number of this function into %eax. After that, system can know from <em>syscall.c</em> and determining whether this system call is available. We must define same name system function and add it into <em>syscall.h</em> and <em>syscall.c</em>.</p>
 
-<div class="language-c highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cp">#define SYS_function ##		// ## is the system call number
-</span><span class="p">[</span><span class="n">SYS_function</span><span class="p">]</span>  <span class="n">sys_function</span>	<span class="c1">// real system function name</span>
-<span class="k">extern</span> <span class="kt">int</span> <span class="nf">sys_function</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span>	<span class="c1">// real system function declaration</span>
+<div class="language-c highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cp">#define SYS_function ##  // ## is the system call number
+</span><span class="p">[</span><span class="n">SYS_function</span><span class="p">]</span>  <span class="n">sys_function</span> <span class="c1">// real system function name</span>
+<span class="k">extern</span> <span class="kt">int</span> <span class="nf">sys_function</span><span class="p">(</span><span class="kt">void</span><span class="p">);</span> <span class="c1">// real system function declaration</span>
 </code></pre></div></div>
 
 <p>After adding these sentences to syscall files, we can implement real function in specific place where you want to make the function works well.</p>
 
 <p>Sometimes, we need to pass variables among system calls. In this case, variables’ values are not necessary and even can’t be pass directly into system_function. When invoke a system call function, all variables of this system call will be pushed into current process’ stack. In file <em>syscall.c</em>, multiple functions are provided to get these variables from the process. I won’t waste time on explaining how to use these functions especially when elegant and detailed comments were written in source codes. However, I will explain concepts and how process organized and works in xv6 in future articles.</p>
 
+<h2 id="debug-xv6-with-gdb">Debug xv6 with gdb</h2>
+
+<p>Please make sure that you have used gdb before.
+If you never used gdb, you may write a simple 50-100 lines c code and practice how to use gdb first.</p>
+
+<ul>
+  <li><a href="https://sourceware.org/gdb/current/onlinedocs/gdb/">GDB Manual</a></li>
+  <li><a href="https://darkdust.net/files/GDB%20Cheat%20Sheet.pdf">GDB cheatsheet (pdf)</a></li>
+</ul>
+
+<p>To make sure xv6 gdb enabled, please check if <em>.gdbinit.tmpl</em> file exist.
+This file is used for generate <em>.gdbinit</em> file which you can late consider it as a configuration for gdb.</p>
+
+<p>Before running the xv6 instance in QEMU, one more thing you need to know is that using gdb to debug xv6 must be attached remotely.
+This is because xv6 was running within QEMU, and emulator is virtually gapped from the host device.
+Later when you start debugging, QEMU will open a gdb server to let gdb client connect to.</p>
+
+<p>Once you want to start, using following command to compile and run xv6</p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>make qemu-nox-gdb
+<span class="k">***</span> Now run <span class="s1">'gdb'</span><span class="nb">.</span>
+qemu-system-i386 <span class="nt">-nographic</span> <span class="nt">-drive</span> <span class="nv">file</span><span class="o">=</span>fs.img,index<span class="o">=</span>1,media<span class="o">=</span>disk,format<span class="o">=</span>raw <span class="nt">-drive</span> <span class="nv">file</span><span class="o">=</span>xv6.img,index<span class="o">=</span>0,media<span class="o">=</span>disk,format<span class="o">=</span>raw <span class="nt">-smp</span> 2 7
+</code></pre></div></div>
+
+<p>At this moment, it feels xv6 was stuck, this is because QEMU is ready to be connected by the gdb client.
+You may use the <em>.gdbinit</em> to automatically finish this remote connection by simple typein following command in another terminal.</p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>gdb <span class="nt">-x</span> .gdbinit
+GNU gdb <span class="o">(</span>Debian 8.2.1-2+b3<span class="o">)</span> 8.2.1
+
+...
+
+The target architecture is assumed to be i8086
+<span class="o">[</span>f000:fff0]    0xffff0: ljmp   <span class="nv">$0x3630</span>,<span class="nv">$0xf000e05b</span>
+0x0000fff0 <span class="k">in</span> ?? <span class="o">()</span>
++ symbol-file kernel
+warning: A handler <span class="k">for </span>the OS ABI <span class="s2">"GNU/Linux"</span> is not built into this configuration
+of GDB.  Attempting to <span class="k">continue </span>with the default i8086 settings.
+
+<span class="o">(</span>gdb<span class="o">)</span> 
+</code></pre></div></div>
+
+<p>Now within this gdb client shell, type ‘c’ to continue the xv6, and you will see xv6 start execution in the first terminal.</p>
+
+<p>At this moment, you may add breakpoints to your code to see if your code is correctly implemented or not.</p>
+
+<p><strong>One more thing</strong>, if you open <em>.gdbinit</em> file, you’ll find that it by default connect to a localhost target.
+If you are working on some other environment that target and client were not placed in the same device, change the localhost to ip address correspondingly.
+Using ssh may connect to different physical devices under same domain name, this is because load balancer were used. To check ip address, search command <em>ip</em>.</p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>target remote localhost:28467
+<span class="c"># target remote [ip-addr]:28467</span>
+</code></pre></div></div>
+
   </article>
   
   
@@ -149,7 +206,7 @@
 </div>
 
 <div class="col-box post-toc hide">
-  <div class="col-box-title">TOC</div>
+  <div class="col-box-title">Indexes</div>
 </div>
         </div>
       </div>
diff --git a/_site/archivers/some-of-my-previews-exper-work.html b/_site/archivers/some-of-my-previews-exper-work.html
index 7591d38..8f68397 100644
--- a/_site/archivers/some-of-my-previews-exper-work.html
+++ b/_site/archivers/some-of-my-previews-exper-work.html
@@ -6,14 +6,14 @@
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
 
-  <title>Some of my previews experiment works: 2016 « Stop Talking, Start Doing - 停止空想，开始行动</title>
+  <title>Some of my previews experiment works: 2016 « Stop Talking, Start Doing</title>
   <meta name="description" content="This blog contains only some basic record of my works. For some details, I will write a unique blog just for some specific topics.">
 
   <link rel="stylesheet" href="/css/main.css">
   <link rel="stylesheet" href="/css/timeline.css">
   <link rel="canonical" href="https://codersherlock.github.com//archivers/some-of-my-previews-exper-work">
   <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Tangerine">
-  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing - 停止空想，开始行动" href="https://codersherlock.github.com//feed.xml" />
+  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing" href="https://codersherlock.github.com//feed.xml" />
   <script>
   (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
         (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -38,13 +38,13 @@
 
     <header class="header">
   <div class="wrapper">
-    <a class="site-title" href="/">Stop Talking, Start Doing - 停止空想，开始行动</a>
+    <a class="site-title" href="/">Stop Talking, Start Doing</a>
     <nav class="site-nav">
       
         
       
         
-        <a class="page-link" href="/about/">About Me</a>
+        <a class="page-link" href="/about/">About</a>
         
       
         
@@ -241,7 +241,7 @@ su
 </div>
 
 <div class="col-box post-toc hide">
-  <div class="col-box-title">TOC</div>
+  <div class="col-box-title">Indexes</div>
 </div>
         </div>
       </div>
diff --git a/_site/category/index.html b/_site/category/index.html
index 08ce391..da6dfd6 100644
--- a/_site/category/index.html
+++ b/_site/category/index.html
@@ -6,7 +6,7 @@
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
 
-  <title>Category « Stop Talking, Start Doing - 停止空想，开始行动</title>
+  <title>Category « Stop Talking, Start Doing</title>
   <meta name="description" content="My personal blog, with some boring research staff and some tricks I was fancy to. I'll try my best to make this blog fun and useful. Not just a place I complain about all happens in my Lab.
 ">
 
@@ -14,7 +14,7 @@
   <link rel="stylesheet" href="/css/timeline.css">
   <link rel="canonical" href="https://codersherlock.github.com//category/">
   <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Tangerine">
-  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing - 停止空想，开始行动" href="https://codersherlock.github.com//feed.xml" />
+  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing" href="https://codersherlock.github.com//feed.xml" />
   <script>
   (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
         (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -39,13 +39,13 @@
 
     <header class="header">
   <div class="wrapper">
-    <a class="site-title" href="/">Stop Talking, Start Doing - 停止空想，开始行动</a>
+    <a class="site-title" href="/">Stop Talking, Start Doing</a>
     <nav class="site-nav">
       
         
       
         
-        <a class="page-link" href="/about/">About Me</a>
+        <a class="page-link" href="/about/">About</a>
         
       
         
@@ -155,7 +155,7 @@
 </div>
 
 <div class="col-box post-toc hide">
-  <div class="col-box-title">TOC</div>
+  <div class="col-box-title">Indexes</div>
 </div>
         </div>
       </div>
diff --git a/_site/css/main.css b/_site/css/main.css
index 5b0043f..8b0f977 100644
--- a/_site/css/main.css
+++ b/_site/css/main.css
@@ -1,4 +1,4 @@
-body { margin: 0; font-family: "Times New Roman"; font-size: 15px; line-height: 1.35; }
+body { margin: 0; font-family: "Arial"; font-size: 15px; line-height: 1.35; }
 
 a { text-decoration: none; color: #036; }
 
diff --git a/_site/css/main.css.map b/_site/css/main.css.map
index 58f22bc..ef53b3e 100644
--- a/_site/css/main.css.map
+++ b/_site/css/main.css.map
@@ -11,7 +11,7 @@
 		"_sass/_easybook.scss"
 	],
 	"sourcesContent": [
-		"@charset \"utf-8\";\n\n$base-font-family: \"Times New Roman\";//\"DejaVu Sans Mono\", \"PingFang SC\", \"DejaVu Sans\", \"Open Sans\", \"Helvetica Neue\", Arial, \"Noto Sans CJK SC\", \"Hiragino Sans GB\", \"微软雅黑\",  Helvetica, sans-serif;\n$base-font-size:   15px;\n$small-font-size:  $base-font-size;\n$base-line-height: 1.35;\n\n$code-font-family:   \"Courier New\"; //Menlo, Monaco, Consolas, \"DejaVu Sans Mono\", \"Liberation Mono\", \"文泉驿等宽微米黑\", \"Courier New\", Courier, SimSun, monospace;\n$code-font-size:     12px;\n\n// Width of the content area\n$content-width:    800px;\n\n$on-palm:          600px;\n$on-laptop:        800px;\n\n$color-link: rgb(0, 0, 0);\n$color-link-hover: rgb(0, 35, 53);\n\n$header-bg: rgba(0, 0, 0, 1);\n$header-bg-hover: rgb(0, 0, 0);\n$header-link: rgb(255, 255, 255);\n$header-fg: rgb(255, 255, 255);\n\n@mixin media-query($device) {\n    @media screen and (max-width: $device) {\n        @content;\n    }\n}\n\n\n\n// Import partials from `sass_dir` (defaults to `_sass`)\n@import\n        \"base\",\n        \"layout\",\n        \"syntax-highlighting\",\n        \"easybook\"\n;\n",
+		"@charset \"utf-8\";\n\n$base-font-family: \"Arial\";// \"Times New Roman\", \"DejaVu Sans Mono\", \"PingFang SC\", \"DejaVu Sans\", \"Open Sans\", \"Helvetica Neue\", Arial, \"Noto Sans CJK SC\", \"Hiragino Sans GB\", \"微软雅黑\",  Helvetica, sans-serif;\n$base-font-size:   15px;\n$small-font-size:  $base-font-size;\n$base-line-height: 1.35;\n\n$code-font-family:   \"Courier New\"; //Menlo, Monaco, Consolas, \"DejaVu Sans Mono\", \"Liberation Mono\", \"文泉驿等宽微米黑\", \"Courier New\", Courier, SimSun, monospace;\n$code-font-size:     12px;\n\n// Width of the content area\n$content-width:    800px;\n\n$on-palm:          600px;\n$on-laptop:        800px;\n\n$color-link: rgb(0, 0, 0);\n$color-link-hover: rgb(0, 35, 53);\n\n$header-bg: rgba(0, 0, 0, 1);\n$header-bg-hover: rgb(0, 0, 0);\n$header-link: rgb(255, 255, 255);\n$header-fg: rgb(255, 255, 255);\n\n@mixin media-query($device) {\n    @media screen and (max-width: $device) {\n        @content;\n    }\n}\n\n\n\n// Import partials from `sass_dir` (defaults to `_sass`)\n@import\n        \"base\",\n        \"layout\",\n        \"syntax-highlighting\",\n        \"easybook\"\n;\n",
 		"body {\n\tmargin: 0;\n\tfont-family: $base-font-family;\n\tfont-size: $base-font-size;\n\tline-height: $base-line-height;\n}\na {\n\ttext-decoration: none;\n\tcolor: #036;\n}\na:hover, a:focus {\n\ttext-decoration:underline;\n\tcolor: #069;\n}\nblockquote {\n\tbackground: #FFF;\n\tmargin:0;\n\tpadding: 5px 20px;\n\tborder-left: 10px solid #CCC;\n}\ncode,pre {\n\tfont-family:  $code-font-family;\n\tfont-size: $code-font-size;\n}\ncode {\n\tcolor: #900;\n\tbackground-color: #fff;\n\tpadding: 2px 5px;\n\tborder-radius: 5px;\n}\npre {\n\toverflow-x: auto;\n\tpadding: 20px 50px;\n}\npre, pre code {\n\tcolor: #fafafa;\n\tbackground-color: #223;\n}\npre code {\n\tpadding: 0;\t\n}\n.hide {\n    display: none;\n}\n.center {\n\ttext-align: center;\n}\ntable {\n\tborder-collapse: collapse;\n\tborder-spacing: 0;\n    margin: 10pt auto;\n\tbackground: #FFF;\n\n\ttd, th {\n\t\tborder: 1px solid #CCC;\n\t\tpadding: 5px 15px;\n\t\tmargin: 0;\n\t}\n\t\n\tth {\n\t\tborder-color: #555;\n\t\tbackground: #555;\n\t\tcolor: #eee;\n\t\tfont-weight:normal;\n\t}\n\t\n\ttr:hover {\n\t\tbackground: rgba(255,255,0,0.2);\n\t}\n}\n\nh1,h2,h3,h4,h5,h6{\n\tfont-weight: normal;\n}",
 		".wrapper {\n\tmargin: 0 auto;\n\tmax-width: 1100px;\n}\n@media (max-width: 1120px) {\n\t.wrapper {\n\t\tmax-width: 800px;\n\t}\n}\n\n.header {\n\tline-height: $base-font-size * 2;\n\tbackground-color: $header-bg;\n\tpadding: 10px;\n\tmargin: 0;\n\t\n\t&:after {\n\t\tclear: both;\n\t\tcontent: ' ';\n\t\tdisplay: block;\n\t}\n\t\n\t.site-title {\n\t\tfloat: left;\n\t\tcolor: $header-fg;\n\t\ttext-decoration: none;\n\t\tfont-size: $base-font-size;\n\t\tline-height: $base-font-size * 2;\n\t}\n\t.site-nav {\n\t\ttext-align:right;\n\t\t\n\t\ta {\n\t\t\ttext-decoration: none;\n\t\t\tcolor: $header-link;\n\t\t\tpadding: 10px 20px;\n\t\t\twhite-space: nowrap;\n\t\t\n\t\t\t&:hover, &:focus {\n\t\t\t\tbackground: $header-bg-hover;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.page-content {\n\tbackground:#e0e0e3;\n\tpadding: 30px 0;\n\n\t.wrapper {\n\t\tposition: relative;\n\t\tbackground: #FAFAFA;\n\t\tbox-shadow: 0 1px 4px #999;\n\t\toutline: 1px solid #CCC;\n\t\t&:after {\n\t\t\tclear:both;\n\t\t\tcontent: '';\n\t\t\tdisplay:block;\n\t\t}\n\t\t&:before {\n\t\t\tcontent: '';\n\t\t\tdisplay:block;\n\t\t\tposition: absolute;\n\t\t\twidth: 300px;\n\t\t\theight: 100%;\n\t\t\tleft: 800px;\n\t\t\ttop: 0;\n\t\t\tbackground: #EEE;\n\t\t}\n\t}\n\t\n\timg {\n\t\tmax-width:100%;\n\t}\n}\n\n// Colum\n.col-main {\n\tposition: relative;\n\tbox-sizing: border-box;\n\tpadding: 30px;\n\twidth: 800px;\n\tfloat: left;\n}\n.col-second {\n\tposition: relative;\n\tbox-sizing: border-box;\n\tfloat: left;\n\twidth: 300px;\n\tpadding: 20px;\n\tbackground: #EEE;\n\tz-index: 10;\n}\n.col-box{\n\tcolor: #666;\n\tfont-size: $small-font-size;\n\tpadding-bottom: 20px;\n\t\n\tp {\n\t    margin: 0;\n\t}\n    ul {\n        padding-left: 20px;\n        margin: 0;\n    }\n\t\n\t&:not(:first-child) {\n    \tborder-top: 1px solid #ccc;\n    \tpadding-top: 20px;\n    }\n    \n    .col-box-title {\n    \tcolor: #333;\n\t    margin-bottom: 10px;\n\t    font-size: $small-font-size * 1.1;\n    }\n}\n@media (max-width: 1120px) {\n\t.page-content .wrapper:before {\n\t\tdisplay: none;\n\t}\n\t.col-main,\n\t.col-second {\n\t\twidth: auto;\n\t\tfloat: none;\n\t}\n\t.col-box {\n\t\twidth: 50%;\n\t\tfloat: left;\n\t\tmargin-bottom: 10px;\n\t}\n\t.col-box:not(:first-child) {\n\t\tborder-top: none;\n\t\tpadding-top:0;\n\t}\n\t.col-second:after {\n\t\tclear: both;\n\t\tdisplay: block;\n\t\tcontent: ' ';\n\t}\n}\n.col-box-author {\n\ttext-align: center;\n\t.avatar {\n\t\twidth: 135px;\n\t\theight: 135px;\n\t\tborder-radius: 100%;\n\t\tmargin: 20px auto;\n\t\tdisplay: block;\n\t}\n\t.name {\n\t\tfont-size: $base-font-size;\n\t}\n\t.contact {\n\t\tmargin-top: 10px;\n\t\ta {\n\t\t\tbackground: #999;\n\t\t\tcolor: #eee;\n\t\t\tpadding: 5px 10px;\n\t\t\ttext-decoration: none;\n\t\t\tborder-radius: 5px;\n    \t\twhite-space: nowrap;\n\t\t\t\n\t\t\t&:hover {\n\t\t\t\ttransition: background 0.3s ease;\n\t\t\t\tbackground: #666;\n\t\t\t}\n\t\t}\n\t}\n}\n\n// footer\n.footer {\n\tpadding: 60px 0;\n\tbackground-color: #e0e0e3;\n\ttext-align:center;\n\tcolor:#666;\n\tfont-size:$small-font-size;\n}\n\n@import \"post\", \"home\";\n\n@include media-query($on-laptop) {\n\t.page-content {\n\t\tpadding: 0;\n\t}\n\t.footer {\n\t\tpadding: 15px 0 ;\n\t}\n}\n@include media-query($on-palm) {\n\t.header {\n\t\t&, .site-nav{\n\t\t\ttext-align:center;\n\t\t}\n\t\t.site-title {\n\t\t\tfloat: none;\n\t\t}\n\t}\n\t.col-main {\n\t\tpadding: 10px;\n\t}\n\t.col-box {\n\t\twidth: 100%;\n\t\tfloat: none;\n\t\tmargin-bottom: 20px;\n\t}\n\tpre {\n\t\tpadding: 10px;\n\t}\n}\n",
 		".post {\n    .post-header {\n    \tmargin: 0 100px;\n    \tmargin-bottom: 40px;\n    \tpadding: 0px;\n        .post-title {\n        \tfont-size:40px;\n        \tfont-weight: normal;\n        \tmargin: 0 -100px;\n        \t@include media-query($on-palm) {\n        \t\tfont-size: 34px;\n        \t}\n        }\n        .post-meta {\n        \tcolor:#999;\n        \tfont-size:$small-font-size;\n        \tmargin: 0 -100px;\n        }\n        @include media-query($on-palm) {\n    \t\ttext-align:center;\n    \t\tmargin-bottom: 10px;\n    \t\tpadding: 10px;\n        }\n    }\n    .post-content {\n        color: #333;\n        \n        h1,h2,h3,h4,h5,h6 {\n            color: #000;\n        }\n\n        h1 {\n            font-size: xx-large;\n        }\n        \n        h1, h2 {\n            // font-weight: bold;\n        \tmargin-bottom: 10px;\n            margin-top: 30px;\n        }\n        \n        h1, h2, h3 {\n            border-bottom: 1px dotted rgb(63, 63, 63);\n        }\n        \n        pre {\n        \tmargin: 0 -30px;\n            @include media-query($on-palm) {\n\t\t        margin: 0 -10px;\n            }\n        }\n        \n        .middle-image {\n            display: block;\n            margin-left: auto;\n            margin-right: auto\n        }\n    }\n    .post-comments {\n        padding-top: 30px;\n    }\n}",
@@ -20,5 +20,5 @@
 		".page-content .wrapper {\n    .post-toc {\n        &>ul {\n            overflow: auto;\n        }\n    }\n}\n\n.util-notify1 {\n    position: absolute;\n    z-index: 100;\n    background: rgba(0,0,0,0.7);\n    color: #FFF;\n    padding: 5px 10px;\n    font-size: 14px;\n    pointer-events: none;\n    opacity: 1;\n    transition: .2s ease;\n    \n    &.hidden {\n        opacity: 0;\n        display: none;\n    }\n}"
 	],
 	"names": [],
-	"mappings": "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"
+	"mappings": "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"
 }
\ No newline at end of file
diff --git a/_site/feed.xml b/_site/feed.xml
index df850b5..c8db417 100644
--- a/_site/feed.xml
+++ b/_site/feed.xml
@@ -1,18 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
   <channel>
-    <title>Stop Talking, Start Doing - 停止空想，开始行动</title>
+    <title>Stop Talking, Start Doing</title>
     <description>My personal blog, with some boring research staff and some tricks I was fancy to. I'll try my best to make this blog fun and useful. Not just a place I complain about all happens in my Lab.
 </description>
     <link>https://codersherlock.github.com//</link>
     <atom:link href="https://codersherlock.github.com//feed.xml" rel="self" type="application/rss+xml"/>
-    <pubDate>Tue, 15 Sep 2020 22:22:06 -0400</pubDate>
-    <lastBuildDate>Tue, 15 Sep 2020 22:22:06 -0400</lastBuildDate>
+    <pubDate>Tue, 12 Oct 2021 18:31:37 -0400</pubDate>
+    <lastBuildDate>Tue, 12 Oct 2021 18:31:37 -0400</lastBuildDate>
     <generator>Jekyll v4.1.1</generator>
     
       <item>
         <title>Generate Word Cloud Figures with Chinese-Tokenization and WordCloud python libraries</title>
-        <description>&lt;p&gt;&lt;img src=&quot;/static/2020-09/2020-06-28.png&quot; height=&quot;350&quot; /&gt;&lt;/p&gt;
+        <description>&lt;p&gt;Let’s generate a word cloud like this. 
+Don’t understand the language is not a big deal.
+If your written language is based on latin alphabet(or other language has space between words), skip tokenization.&lt;/p&gt;
+
+&lt;p&gt;&lt;img src=&quot;/static/2020-09/2020-06-28.png&quot; height=&quot;250&quot; /&gt;&lt;/p&gt;
 
 &lt;h2 id=&quot;background&quot;&gt;Background&lt;/h2&gt;
 
@@ -180,9 +184,12 @@
     
       <item>
         <title>Xv6 introduction</title>
-        <description>&lt;p&gt;I hate xv6, a stupid, useless education-oriented system. In this article, I will generally talk about how to implement system call to this operating system.&lt;/p&gt;
+        <description>&lt;p&gt;In this post, you will learn a few basic concepts of xv6. Learning path will be closed coupled to first project assignment I gave when I assisted in teaching OS classes.
+Understand system call and know how to implement a simple one will be coved as the first half.
+In the second half of this post, I will discuss a little bit more on how to debug xv6 using gdb.&lt;/p&gt;
 
 &lt;h2 id=&quot;xv6-systemcall&quot;&gt;Xv6 Systemcall&lt;/h2&gt;
+
 &lt;p&gt;To invoke a system call, we have to first define a user mode function to be the interface of the kernel instruction  in file &lt;em&gt;user.h&lt;/em&gt;.&lt;/p&gt;
 
 &lt;div class=&quot;language-c highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
@@ -190,14 +197,68 @@
 
 &lt;p&gt;This interface-like function will then pass the function name, in this case function, to &lt;em&gt;usys.S&lt;/em&gt;. When using user mode function in programs, &lt;em&gt;usys.S&lt;/em&gt; will generate a reference to SYS_function and push system call number of this function into %eax. After that, system can know from &lt;em&gt;syscall.c&lt;/em&gt; and determining whether this system call is available. We must define same name system function and add it into &lt;em&gt;syscall.h&lt;/em&gt; and &lt;em&gt;syscall.c&lt;/em&gt;.&lt;/p&gt;
 
-&lt;div class=&quot;language-c highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cp&quot;&gt;#define SYS_function ##		// ## is the system call number
-&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;SYS_function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;  &lt;span class=&quot;n&quot;&gt;sys_function&lt;/span&gt;	&lt;span class=&quot;c1&quot;&gt;// real system function name&lt;/span&gt;
-&lt;span class=&quot;k&quot;&gt;extern&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;sys_function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;	&lt;span class=&quot;c1&quot;&gt;// real system function declaration&lt;/span&gt;
+&lt;div class=&quot;language-c highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cp&quot;&gt;#define SYS_function ##  // ## is the system call number
+&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;SYS_function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;  &lt;span class=&quot;n&quot;&gt;sys_function&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// real system function name&lt;/span&gt;
+&lt;span class=&quot;k&quot;&gt;extern&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;sys_function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// real system function declaration&lt;/span&gt;
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
 &lt;p&gt;After adding these sentences to syscall files, we can implement real function in specific place where you want to make the function works well.&lt;/p&gt;
 
 &lt;p&gt;Sometimes, we need to pass variables among system calls. In this case, variables’ values are not necessary and even can’t be pass directly into system_function. When invoke a system call function, all variables of this system call will be pushed into current process’ stack. In file &lt;em&gt;syscall.c&lt;/em&gt;, multiple functions are provided to get these variables from the process. I won’t waste time on explaining how to use these functions especially when elegant and detailed comments were written in source codes. However, I will explain concepts and how process organized and works in xv6 in future articles.&lt;/p&gt;
+
+&lt;h2 id=&quot;debug-xv6-with-gdb&quot;&gt;Debug xv6 with gdb&lt;/h2&gt;
+
+&lt;p&gt;Please make sure that you have used gdb before.
+If you never used gdb, you may write a simple 50-100 lines c code and practice how to use gdb first.&lt;/p&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;&lt;a href=&quot;https://sourceware.org/gdb/current/onlinedocs/gdb/&quot;&gt;GDB Manual&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href=&quot;https://darkdust.net/files/GDB%20Cheat%20Sheet.pdf&quot;&gt;GDB cheatsheet (pdf)&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;To make sure xv6 gdb enabled, please check if &lt;em&gt;.gdbinit.tmpl&lt;/em&gt; file exist.
+This file is used for generate &lt;em&gt;.gdbinit&lt;/em&gt; file which you can late consider it as a configuration for gdb.&lt;/p&gt;
+
+&lt;p&gt;Before running the xv6 instance in QEMU, one more thing you need to know is that using gdb to debug xv6 must be attached remotely.
+This is because xv6 was running within QEMU, and emulator is virtually gapped from the host device.
+Later when you start debugging, QEMU will open a gdb server to let gdb client connect to.&lt;/p&gt;
+
+&lt;p&gt;Once you want to start, using following command to compile and run xv6&lt;/p&gt;
+
+&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;make qemu-nox-gdb
+&lt;span class=&quot;k&quot;&gt;***&lt;/span&gt; Now run &lt;span class=&quot;s1&quot;&gt;'gdb'&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;
+qemu-system-i386 &lt;span class=&quot;nt&quot;&gt;-nographic&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-drive&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;file&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;fs.img,index&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;1,media&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;disk,format&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;raw &lt;span class=&quot;nt&quot;&gt;-drive&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;file&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;xv6.img,index&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;0,media&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;disk,format&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;raw &lt;span class=&quot;nt&quot;&gt;-smp&lt;/span&gt; 2 7
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
+
+&lt;p&gt;At this moment, it feels xv6 was stuck, this is because QEMU is ready to be connected by the gdb client.
+You may use the &lt;em&gt;.gdbinit&lt;/em&gt; to automatically finish this remote connection by simple typein following command in another terminal.&lt;/p&gt;
+
+&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;gdb &lt;span class=&quot;nt&quot;&gt;-x&lt;/span&gt; .gdbinit
+GNU gdb &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;Debian 8.2.1-2+b3&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; 8.2.1
+
+...
+
+The target architecture is assumed to be i8086
+&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;f000:fff0]    0xffff0: ljmp   &lt;span class=&quot;nv&quot;&gt;$0x3630&lt;/span&gt;,&lt;span class=&quot;nv&quot;&gt;$0xf000e05b&lt;/span&gt;
+0x0000fff0 &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt; ?? &lt;span class=&quot;o&quot;&gt;()&lt;/span&gt;
++ symbol-file kernel
+warning: A handler &lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;the OS ABI &lt;span class=&quot;s2&quot;&gt;&quot;GNU/Linux&quot;&lt;/span&gt; is not built into this configuration
+of GDB.  Attempting to &lt;span class=&quot;k&quot;&gt;continue &lt;/span&gt;with the default i8086 settings.
+
+&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;gdb&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; 
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
+
+&lt;p&gt;Now within this gdb client shell, type ‘c’ to continue the xv6, and you will see xv6 start execution in the first terminal.&lt;/p&gt;
+
+&lt;p&gt;At this moment, you may add breakpoints to your code to see if your code is correctly implemented or not.&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;One more thing&lt;/strong&gt;, if you open &lt;em&gt;.gdbinit&lt;/em&gt; file, you’ll find that it by default connect to a localhost target.
+If you are working on some other environment that target and client were not placed in the same device, change the localhost to ip address correspondingly.
+Using ssh may connect to different physical devices under same domain name, this is because load balancer were used. To check ip address, search command &lt;em&gt;ip&lt;/em&gt;.&lt;/p&gt;
+
+&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;target remote localhost:28467
+&lt;span class=&quot;c&quot;&gt;# target remote [ip-addr]:28467&lt;/span&gt;
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 </description>
         <pubDate>Fri, 28 Jul 2017 14:56:55 -0400</pubDate>
         <link>https://codersherlock.github.com//archivers/intro-xv6</link>
diff --git a/_site/index.html b/_site/index.html
index 0ce8d62..780d8ec 100644
--- a/_site/index.html
+++ b/_site/index.html
@@ -6,7 +6,7 @@
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
 
-  <title>Stop Talking, Start Doing - 停止空想，开始行动</title>
+  <title>Stop Talking, Start Doing</title>
   <meta name="description" content="My personal blog, with some boring research staff and some tricks I was fancy to. I'll try my best to make this blog fun and useful. Not just a place I complain about all happens in my Lab.
 ">
 
@@ -14,7 +14,7 @@
   <link rel="stylesheet" href="/css/timeline.css">
   <link rel="canonical" href="https://codersherlock.github.com//">
   <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Tangerine">
-  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing - 停止空想，开始行动" href="https://codersherlock.github.com//feed.xml" />
+  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing" href="https://codersherlock.github.com//feed.xml" />
   <script>
   (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
         (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -39,13 +39,13 @@
 
     <header class="header">
   <div class="wrapper">
-    <a class="site-title" href="/">Stop Talking, Start Doing - 停止空想，开始行动</a>
+    <a class="site-title" href="/">Stop Talking, Start Doing</a>
     <nav class="site-nav">
       
         
       
         
-        <a class="page-link" href="/about/">About Me</a>
+        <a class="page-link" href="/about/">About</a>
         
       
         
@@ -81,7 +81,11 @@
         <div class="post-meta">Sep 15, 2020</div>
 
         <div class="post-excerpt">
-          <p><img src="/static/2020-09/2020-06-28.png" height="350" /></p>
+          <p>Let’s generate a word cloud like this. 
+Don’t understand the language is not a big deal.
+If your written language is based on latin alphabet(or other language has space between words), skip tokenization.</p>
+
+<p><img src="/static/2020-09/2020-06-28.png" height="250" /></p>
 
           <p>
             <a class="post-link" href="/archivers/generate-word-cloud-with-chinese-fenci">Read More &raquo;</a>
@@ -97,7 +101,9 @@
         <div class="post-meta">Jul 28, 2017</div>
 
         <div class="post-excerpt">
-          <p>I hate xv6, a stupid, useless education-oriented system. In this article, I will generally talk about how to implement system call to this operating system.</p>
+          <p>In this post, you will learn a few basic concepts of xv6. Learning path will be closed coupled to first project assignment I gave when I assisted in teaching OS classes.
+Understand system call and know how to implement a simple one will be coved as the first half.
+In the second half of this post, I will discuss a little bit more on how to debug xv6 using gdb.</p>
 
           <p>
             <a class="post-link" href="/archivers/intro-xv6">Read More &raquo;</a>
@@ -204,7 +210,7 @@ My current solution is using AP to forward all SSL traffic to a proxy, <a href="
 </div>
 
 <div class="col-box post-toc hide">
-  <div class="col-box-title">TOC</div>
+  <div class="col-box-title">Indexes</div>
 </div>
         </div>
       </div>
diff --git a/_site/static/2021-10/eta-infocom18.pdf b/_site/static/2021-10/eta-infocom18.pdf
new file mode 100644
index 0000000..c2a05af
Binary files /dev/null and b/_site/static/2021-10/eta-infocom18.pdf differ
diff --git a/_site/timeline/index.html b/_site/timeline/index.html
index 0cccacc..9d0538d 100644
--- a/_site/timeline/index.html
+++ b/_site/timeline/index.html
@@ -6,7 +6,7 @@
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
 
-  <title>About - Timeline « Stop Talking, Start Doing - 停止空想，开始行动</title>
+  <title>About - Timeline « Stop Talking, Start Doing</title>
   <meta name="description" content="My personal blog, with some boring research staff and some tricks I was fancy to. I'll try my best to make this blog fun and useful. Not just a place I complain about all happens in my Lab.
 ">
 
@@ -14,7 +14,7 @@
   <link rel="stylesheet" href="/css/timeline.css">
   <link rel="canonical" href="https://codersherlock.github.com//timeline/">
   <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Tangerine">
-  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing - 停止空想，开始行动" href="https://codersherlock.github.com//feed.xml" />
+  <link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing" href="https://codersherlock.github.com//feed.xml" />
   <script>
   (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
         (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -39,13 +39,13 @@
 
     <header class="header">
   <div class="wrapper">
-    <a class="site-title" href="/">Stop Talking, Start Doing - 停止空想，开始行动</a>
+    <a class="site-title" href="/">Stop Talking, Start Doing</a>
     <nav class="site-nav">
       
         
       
         
-        <a class="page-link" href="/about/">About Me</a>
+        <a class="page-link" href="/about/">About</a>
         
       
         
@@ -222,7 +222,7 @@
 </div>
 
 <div class="col-box post-toc hide">
-  <div class="col-box-title">TOC</div>
+  <div class="col-box-title">Indexes</div>
 </div>
         </div>
       </div>
diff --git a/about.md b/about.md
index 47ed400..4c7366a 100644
--- a/about.md
+++ b/about.md
@@ -1,6 +1,6 @@
 ---
 layout: page
-title: About Me
+title: About
 permalink: /about/
 public: true
 nocomments: true
@@ -8,9 +8,9 @@ nocomments: true
 
 # Pengzhan Hao
 
-**Position:**	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Research Assistant in MOSLab  
-**Education:**	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Doctoral Student of SUNY at Binghamton  
-**Email:**		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;phao3 at binghamton dot edu  
+**Position:** &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Research Assistant in MOSLab  
+**Education:** &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Doctoral Student of SUNY at Binghamton  
+**Email:**  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;phao3 at binghamton dot edu  
 **Address:**  
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOSLab, H-6 Engineering Building  
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Binghamton University  
@@ -18,55 +18,72 @@ nocomments: true
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Binghamton, NY 13902  
 
 ## Education
+
 - 2017.08 - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ph.D. in Computer Science, Binghamton University, NY, USA  
 - 2015.08 - 2017.05 &nbsp;&nbsp;M.E in Computer Science, Binghamton University, NY, USA  
 - 2011.08 - 2015.06 &nbsp;&nbsp;B.E in Software Engineering, Beihang University, Beijing, China  
 
 ## Experience
-- 2013.10 - 2014.09 &nbsp;&nbsp;***Research Intern*** @ Advanced computer application technology engineering Research Center, Ministry of Education, China  
-	- Analyzed real-time routing problem and reliable algorithm design
-	- Led and developed a routing system mostly backend server program
-	- Participated in vehicle internet research
-	- Supervised by [Juhua Pu](http://scse.buaa.edu.cn/buaa-css-web/toCardDetailAction.action?firstSelId=CARD_TMPL_OF_FIRST_NAVI_CN&secondSelId=CARD_TMPL_OF_ALL_TEACHER_CN&thirdSelId=&cardId=105c1bfe787-4d33-48eb-a05f-e2a6f3934216&language=0&curSelectNavId=CARD_TMPL_OF_ALL_TEACHER_CN), [Zhang Xiong](http://scse.buaa.edu.cn/buaa-css-web/toCardDetailAction.action?firstSelId=CARD_TMPL_OF_FIRST_NAVI_CN&secondSelId=CARD_TMPL_OF_ALL_TEACHER_CN&thirdSelId=&cardId=3063cc45-7b8b-441a-86b2-3a4f59c26bd40&language=0&curSelectNavId=CARD_TMPL_OF_ALL_TEACHER_CN), Related project: [Urban Computing](https://www.microsoft.com/en-us/research/project/urban-computing/)
-- 2013.10 - 2014.01 &nbsp;&nbsp;***Research Intern*** @ Institute of Software, Chinese Academy of Sciences, China  
-	- Analyzed mobile OS kernel and Localized portion with C language
-	- Supervised by [Cangzhou Yuan](http://soft.buaa.edu.cn/info/1060/1307.htm)
 
-## Research
-- Graduate
-	- Edge Computing
-		- Network Performance
-	- Vitrualization
-- Undergraduate
-	- Urban Comuputing
-		- Routing algorithm and system
-		- Real-time data processing
-	- Mobile Operating System
-		- Kernel Analysis
-		- Locolization
-	
+- 2016.10 -  &nbsp;&nbsp;***Research Assistant*** @ Mobile and Operating System Lab, Binghamton University  
+  - Advised by Professor [Yifan Zhang](https://buzhangy.github.io/)
+  - Edge-based distributed deep learning
+    - Implemented a system for time-sensitive, edge-based distributed neural network training scenarios with state-of-the-art performance.
+    - Applied empirical experiments to show potential opportunities in Edge-based/Mobile-based distributed neural network training.
+    - Investigated heterogeneous-aware training tasks scheduling problem.
+  - Edge Computing
+    - Envision edge computing’s work-flow in end device performance(latency, traffic) improving.
+    - Applied empirical experiments on different edge computing work-flow and propose/implement related solutions.
+    - Design and implement an edge-based multi-tier system for decreasing bandwidth usage from endpoint mobile device.
+
+- 2013.10 - 2014.09 &nbsp;&nbsp;***Research Intern*** @ Advanced computer application technology engineering Research Center, Ministry of Education, China  
+  - Analyzed real-time routing problem and reliable algorithm design
+  - Led and developed a routing system mostly backend server program
+  - Participated in vehicle internet research
+  - Supervised by Juhua Pu, Zhang Xiong, Related project: Urban Computing
+
+- 2013.10 - 2014.01 &nbsp;&nbsp;***Research Intern*** @ Institute of Software, Chinese Academy of Sciences, China  
+  - Analyzed mobile OS kernel and Localized portion with C language
+  - Supervised by Cangzhou Yuan
+
+## Research projects
+
+- [EDDL: Edge-based distributed deep learning](https://github.com/CoderSherlock/dlib-exper)
+- [Edge Courier: Edge-involved Cloud file synchronization service](https://github.com/bumoslab/EdgeCourier) &nbsp;&nbsp;&nbsp;&nbsp; *Original repository(private)*
+- Real time routing planner &nbsp;&nbsp;&nbsp;&nbsp; *Original repository(private)*
+  - [Map preprocessing driver](https://github.com/CoderSherlock/Project-OSCF.git)
 
 ## Publications
-- **[A Case for Web Service Bandwidth Reduction on Mobile Devices with Edge-hosted Personal Services ]()**   
-Yongshu Bai, **Pengzhan Hao**, and Yifan Zhang   
+
+- **EDDL: A Distributed Deep Learning System for Resource-limited Edge Computing Environment.**
+**Pengzhan Hao**, and Yifan Zhang
+The Sixth ACM/IEEE Symposium on Edge Computing (**ACM/IEEE SEC**)  
+San Jose, CA, USA, 2021.  
+  
+- **[A Case for Web Service Bandwidth Reduction on Mobile Devices with Edge-hosted Personal Services](/static/2021-10/eta-infocom18.pdf)**
+Yongshu Bai, **Pengzhan Hao**, and Yifan Zhang
 The 37th IEEE International Conference on Computer Communications (**IEEE INFOCOM**)  
 Honolulu, HI, USA, 2018.  
   
-- **[EdgeCourier: An Edge-hosted Personal Service for Low-bandwidth Document Synchronization in Mobile Cloud Storage Services](/static/2018-02/a7-hao.pdf)** **[[slide]()]**  
+- **[EdgeCourier: An Edge-hosted Personal Service for Low-bandwidth Document Synchronization in Mobile Cloud Storage Services](/static/2018-02/a7-hao.pdf)** **[[slide](/)]**  
 **Pengzhan Hao**, Yongshu Bai, Xin Zhang, and Yifan Zhang  
 The 2nd ACM/IEEE Symposium on Edge Computing (**ACM/IEEE SEC**)  
 San Jose, CA, USA, 2017.  
   
 - **[Poster: Securing Device Inputs for Smartphones Using Hypervisor Based Approach](/static/2017-07/p169-zhang.pdf)**  
 Xin Zhang, Yongshu Bai, **Pengzhan Hao**, and Yifan Zhang  
-The 15th ACM International Conference on Mobile Systems, Applications, and Services (ACM MobiSys)  
+The 15th ACM International Conference on Mobile Systems, Applications, and Services (**ACM MobiSys**)  
 Niagara Falls, NY, USA, 2017.  
   
 - **[Poster: EPS - Edge-hosted Personal Services for Mobile Users](/static/2017-07/p163-hao.pdf) [[poster](/static/2017-07/eps_poster.pdf)]**  
 **Pengzhan Hao**, Yongshu Bai, Xin Zhang, and Yifan Zhang  
-The 15th ACM International Conference on Mobile Systems, Applications, and Services (ACM MobiSys)  
+The 15th ACM International Conference on Mobile Systems, Applications, and Services (**ACM MobiSys**)  
 Niagara Falls, NY, USA, 2017.  
 
-## Fun
+## Teaching
 
-- My [Timeline](/timeline/index.html)
+- Operating system (Graduate level)
+- Operating system (Undergraduate level)
+- Introduction to distributed system (Graduate level)
+  
+## Fun
diff --git a/css/main.scss b/css/main.scss
index 903b557..9ffdefc 100755
--- a/css/main.scss
+++ b/css/main.scss
@@ -3,7 +3,7 @@
 ---
 @charset "utf-8";
 
-$base-font-family: "Times New Roman";//"DejaVu Sans Mono", "PingFang SC", "DejaVu Sans", "Open Sans", "Helvetica Neue", Arial, "Noto Sans CJK SC", "Hiragino Sans GB", "微软雅黑",  Helvetica, sans-serif;
+$base-font-family: "Arial";// "Times New Roman", "DejaVu Sans Mono", "PingFang SC", "DejaVu Sans", "Open Sans", "Helvetica Neue", Arial, "Noto Sans CJK SC", "Hiragino Sans GB", "微软雅黑",  Helvetica, sans-serif;
 $base-font-size:   15px;
 $small-font-size:  $base-font-size;
 $base-line-height: 1.35;
diff --git a/static/2021-10/eta-infocom18.pdf b/static/2021-10/eta-infocom18.pdf
new file mode 100644
index 0000000..c2a05af
Binary files /dev/null and b/static/2021-10/eta-infocom18.pdf differ
