About - Timeline
-Look up at the Starry Sky
-
-
-
-
-
- Borned in Jinan, Shandong Province, China
-diff --git a/.gitignore b/.gitignore index 8b13789..20145fd 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ - +.DS_Store +.jekyll-cache/* diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910 b/.jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910 new file mode 100644 index 0000000..af0fc87 --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910 @@ -0,0 +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 diff --git a/] b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/06/c9ce82bc8fac09480ab9d4d80c47971ff7c697b5b39b8d3861fad21ed2257c similarity index 84% rename from ] rename to .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/06/c9ce82bc8fac09480ab9d4d80c47971ff7c697b5b39b8d3861fad21ed2257c index 18eba4a..5091015 100644 --- a/] +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/06/c9ce82bc8fac09480ab9d4d80c47971ff7c697b5b39b8d3861fad21ed2257c @@ -1,12 +1,4 @@ ---- -layout: page -title: About - Timeline -permalink: /timeline/ -public: false -nocomments: true ---- - -
Look up at the Starry Sky
-
+ Look up at the Starry Sky
+ +
+
+
+
+
This blog contains only some basic record of my works. For some details, I will write a unique blog just for some specific topics.
+:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/31/47e7e07e236dc51967f5f5ebd1923a479dd8d56aeb3340696e2503b422f169 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/31/47e7e07e236dc51967f5f5ebd1923a479dd8d56aeb3340696e2503b422f169 new file mode 100644 index 0000000..14d578b --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/31/47e7e07e236dc51967f5f5ebd1923a479dd8d56aeb3340696e2503b422f169 @@ -0,0 +1,2 @@ +I".Where am I and where should I go?
+: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 new file mode 100644 index 0000000..ed444c6 --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/37/304d816a1f295ed873c9a1e6385e65874ba0cbfe7214361894c78e973a9a85 @@ -0,0 +1,100 @@ +I"Position: Research Assistant in MOSLab
+Education: Doctoral Student of SUNY at Binghamton
+Email: phao3 at binghamton dot edu
+Address:
+ MOSLab, H-6 Engineering Building
+ Binghamton University
+ 4400 Vestal Parkway East
+ Binghamton, NY 13902
A Case for Web Service Bandwidth Reduction on Mobile Devices with Edge-hosted Personal Services
+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 [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
+Xin Zhang, Yongshu Bai, Pengzhan Hao, and Yifan Zhang
+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 [poster]
+Pengzhan Hao, Yongshu Bai, Xin Zhang, and Yifan Zhang
+The 15th ACM International Conference on Mobile Systems, Applications, and Services (ACM MobiSys)
+Niagara Falls, NY, USA, 2017.
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.
+ +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.
+ +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.
+ +#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.
+:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/61/2cc00e9190ed44be6967cefcdb15b35e1dfc51666b9ae9c2d7448177f50863 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/61/2cc00e9190ed44be6967cefcdb15b35e1dfc51666b9ae9c2d7448177f50863 new file mode 100644 index 0000000..2b44381 --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/61/2cc00e9190ed44be6967cefcdb15b35e1dfc51666b9ae9c2d7448177f50863 @@ -0,0 +1,3 @@ +I"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 traffics which use an obviously certification. Some applications may not using system root cert or they doesn’t provide us a method to modify their own certs. For these situation, I still didn’t find a good solutions for it. But I’ll keep updating this if I get one.
+My current solution is using AP to forward all SSL traffic to a proxy, charles proxy is my first choice (Prof asked). It’s a non-free software which still update new versions now. So mainly, I’ll talk about how to charles SSL proxy.
This blog contains only some basic record of my works. For some details, I will write a unique blog just for some specific topics.
+ +Patch is based on rsync with version 3.1.2. [Rsync|Patch]
+ +Basically, everything of transmission time and computation time will be output with overall time will be printed on the console. +But we also need some bash script to collect data through different size of random size and with different modification through them.
+ +Patch is based on seafile 5.1.4. You can find the release from seafile official repo. You may follow official compile instructions from here. [Patch no longer avaiable, new version at following sections]
+ +We also need everything be done using scripting. But this time I only design added some distance between two increasing files’ sizes.
+ +# CDC: content defined chucks
+# HUT: Http upload traffic
+# ALL: overall time of one commit & upload
+awk '/CDC|HUT|ALL/ {print $4,$5}' ~/.ccnet/log/seafile.log > results.stat
+Due to failure of my cross-compile to seafile on android. I used develop board as a replacement experiment platform for ARM-seafile testing. I used a odroid xu as hardware standard. Because all I need is an ARM platform, only an ARM-Ubuntu is enough for me. But develop prototype on a board is much fun than coding, I won’t address much this time. But I’ll start a blog telling some really cool stuff I made for a strange aim.
+ +To install a ubuntu with GUI is my all preparation work. I found to way to do this.
+ +armhf is a website for arm-based ubuntu. It has a detailed instruction to follow at here. They also provide ubuntu 12.04/ 14.04 and debian 7.5 to choose. But unfortunately odroid xu’s hdmi output doesn’t supported by ubuntu native firmware. So install ubuntu-desktop might can’t be boot up for video output.
+Burn images is much easy to install a pre-complied ubuntu system. I found this on odroid xu’s forum, which contains xubuntu image [download] for odroid xu. With this image, you just need to use dd command to write whole system mirror into sdcard.
+# If .img end with xz, use this command to uncompress first
+unxz ubuntu-14.04lts-xubuntu-odroid-xu-20140714.img.xz
+# Burn image into SD-card
+sudo dd if=ubuntu-14.04lts-xubuntu-odroid-xu-20140714.img of=/dev/sdb bs=1M conv=fsync
+sync
+Generally, I won’t tell anything in this parts, just mark some related links, and point out some mistakes or error solutions.
+ +Google Official Guide +– If you don’t have AOSP sources, you have to download prebuilt toolchains which recommended in this guide might not be correct. Use following links to choose your fitting tools. +— ASOP git root, under sub class “/platform/prebuilts/gcc”
+Packing and Flashing a Boot.img [highly recommend]
+If we want to debug under android, ftrace is a great tool for working. But, ftrace is not available in android if we used default configure file. Android kernel configuration is in arch/arm64/kernel/configs. We need to add few lines under that.
+ +CONFIG_STRICT_MEMORY_RWX=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_PERSISTENT_TRACER=y
+CONFIG_IRQSOFF_TRACER=y
+CONFIG_PREEMPT_TRACER=y
+CONFIG_SCHED_TRACER=y
+CONFIG_STACK_TRACER=y
+If we want to hold a rooted status after flashing boot, we need to extract an image from android devices. We can first use following command to find which blocks belongs to. According to some references, this article provide three ways to dump an image, I picked one for easy using.
+ +adb shell
+ls -al /dev/block/platform/$SOME\_DEVICE../../by-name # {Partitions} -> {Device Block}
+
+# dump file
+su
+dd if=/dev/block/mmcblk0p37 of=/sdcard/boot.img
+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 traffics which use an obviously certification. Some applications may not using system root cert or they doesn’t provide us a method to modify their own certs. For these situation, I still didn’t find a good solutions for it. But I’ll keep updating this if I get one.
+My current solution is using AP to forward all SSL traffic to a proxy, charles proxy is my first choice (Prof asked). It’s a non-free software which still update new versions now. So mainly, I’ll talk about how to charles SSL proxy.
# open charles first
+./bin/charles
+In Help -> SSL Proxying -> Export Charles Root Certificate and Private Key, enter a password and save the public and private key in *.p12 format.
+You also need to save charles Root Certificate, it also contains in the same menu. For convience, save it as *.pem format.
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.
+:ET \ No newline at end of file diff --git a/.sass-cache/6cb805bc306cca7fdb5d8f72870f23c31ddcffb2/_base.scssc b/.sass-cache/6cb805bc306cca7fdb5d8f72870f23c31ddcffb2/_base.scssc deleted file mode 100644 index dc1186e..0000000 Binary files a/.sass-cache/6cb805bc306cca7fdb5d8f72870f23c31ddcffb2/_base.scssc and /dev/null differ diff --git a/.sass-cache/6cb805bc306cca7fdb5d8f72870f23c31ddcffb2/_easybook.scssc b/.sass-cache/6cb805bc306cca7fdb5d8f72870f23c31ddcffb2/_easybook.scssc deleted file mode 100644 index b72d184..0000000 Binary files a/.sass-cache/6cb805bc306cca7fdb5d8f72870f23c31ddcffb2/_easybook.scssc and /dev/null differ diff --git a/.sass-cache/6cb805bc306cca7fdb5d8f72870f23c31ddcffb2/_home.scssc b/.sass-cache/6cb805bc306cca7fdb5d8f72870f23c31ddcffb2/_home.scssc deleted file mode 100644 index f8e9e64..0000000 Binary files a/.sass-cache/6cb805bc306cca7fdb5d8f72870f23c31ddcffb2/_home.scssc and /dev/null differ diff --git a/.sass-cache/6cb805bc306cca7fdb5d8f72870f23c31ddcffb2/_layout.scssc b/.sass-cache/6cb805bc306cca7fdb5d8f72870f23c31ddcffb2/_layout.scssc deleted file mode 100644 index 44d7624..0000000 Binary files a/.sass-cache/6cb805bc306cca7fdb5d8f72870f23c31ddcffb2/_layout.scssc and /dev/null differ diff --git a/.sass-cache/6cb805bc306cca7fdb5d8f72870f23c31ddcffb2/_post.scssc b/.sass-cache/6cb805bc306cca7fdb5d8f72870f23c31ddcffb2/_post.scssc deleted file mode 100644 index 2ffe7a7..0000000 Binary files a/.sass-cache/6cb805bc306cca7fdb5d8f72870f23c31ddcffb2/_post.scssc and /dev/null differ diff --git a/.sass-cache/6cb805bc306cca7fdb5d8f72870f23c31ddcffb2/_syntax-highlighting.scssc b/.sass-cache/6cb805bc306cca7fdb5d8f72870f23c31ddcffb2/_syntax-highlighting.scssc deleted file mode 100644 index ecac0c2..0000000 Binary files a/.sass-cache/6cb805bc306cca7fdb5d8f72870f23c31ddcffb2/_syntax-highlighting.scssc and /dev/null differ diff --git a/.timeline.md.swp b/.timeline.md.swp deleted file mode 100644 index b4d270d..0000000 Binary files a/.timeline.md.swp and /dev/null differ diff --git a/Gemfile.lock b/Gemfile.lock index ca003c8..9cc1e7d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,88 +1,95 @@ GEM remote: https://rubygems.org/ specs: - activesupport (5.2.1) + activesupport (6.0.3.3) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) tzinfo (~> 1.1) - addressable (2.5.2) - public_suffix (>= 2.0.2, < 4.0) + zeitwerk (~> 2.2, >= 2.2.2) + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) colorator (1.1.0) - concurrent-ruby (1.0.5) + concurrent-ruby (1.1.7) em-websocket (0.5.1) eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) eventmachine (1.2.7) - faraday (0.15.2) + faraday (1.0.1) multipart-post (>= 1.2, < 3) - ffi (1.9.25) + ffi (1.13.1) forwardable-extended (2.6.0) - gemoji (3.0.0) - html-pipeline (2.8.4) + gemoji (3.0.1) + html-pipeline (2.14.0) activesupport (>= 2) nokogiri (>= 1.4) http_parser.rb (0.6.0) - i18n (0.9.5) + i18n (1.8.5) concurrent-ruby (~> 1.0) - jekyll (3.8.3) + jekyll (4.1.1) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) - i18n (~> 0.7) - jekyll-sass-converter (~> 1.0) + i18n (~> 1.0) + jekyll-sass-converter (~> 2.0) jekyll-watch (~> 2.0) - kramdown (~> 1.14) + kramdown (~> 2.1) + kramdown-parser-gfm (~> 1.0) liquid (~> 4.0) - mercenary (~> 0.3.3) + mercenary (~> 0.4.0) pathutil (~> 0.9) - rouge (>= 1.7, < 4) + rouge (~> 3.0) safe_yaml (~> 1.0) + terminal-table (~> 1.8) jekyll-gist (1.5.0) octokit (~> 4.2) jekyll-paginate (1.1.0) - jekyll-sass-converter (1.5.2) - sass (~> 3.4) - jekyll-watch (2.0.0) + jekyll-sass-converter (2.1.0) + sassc (> 2.0.1, < 3.0) + jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.10.1) + jemoji (0.12.0) gemoji (~> 3.0) html-pipeline (~> 2.2) - jekyll (~> 3.0) - kramdown (1.17.0) - liquid (4.0.0) - listen (3.1.5) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - ruby_dep (~> 1.2) - mercenary (0.3.6) - mini_portile2 (2.3.0) - minitest (5.11.3) - multipart-post (2.0.0) - nokogiri (1.8.4) - mini_portile2 (~> 2.3.0) - octokit (4.11.0) + jekyll (>= 3.0, < 5.0) + kramdown (2.3.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.3) + listen (3.2.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.4.0) + mini_portile2 (2.4.0) + minitest (5.14.2) + multipart-post (2.1.1) + nokogiri (1.10.10) + mini_portile2 (~> 2.4.0) + octokit (4.18.0) + faraday (>= 0.9) sawyer (~> 0.8.0, >= 0.5.3) - pathutil (0.16.1) + pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (3.0.3) - rb-fsevent (0.10.3) - rb-inotify (0.9.10) - ffi (>= 0.5.0, < 2) - rouge (3.2.1) - ruby_dep (1.5.0) - safe_yaml (1.0.4) - sass (3.5.7) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - sawyer (0.8.1) - addressable (>= 2.3.5, < 2.6) - faraday (~> 0.8, < 1.0) + public_suffix (4.0.6) + rb-fsevent (0.10.4) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.4) + rouge (3.23.0) + safe_yaml (1.0.5) + sassc (2.4.0) + ffi (~> 1.9) + sawyer (0.8.2) + addressable (>= 2.3.5) + faraday (> 0.8, < 2.0) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) - tzinfo (1.2.5) + tzinfo (1.2.7) thread_safe (~> 0.1) + unicode-display_width (1.7.0) + zeitwerk (2.4.0) PLATFORMS ruby @@ -94,4 +101,4 @@ DEPENDENCIES jemoji BUNDLED WITH - 1.16.4 + 2.1.4 diff --git a/Times New Roman.ttf b/Times New Roman.ttf new file mode 100644 index 0000000..d7969c3 Binary files /dev/null and b/Times New Roman.ttf differ diff --git a/_config.yml b/_config.yml index cfa861d..fcf71f4 100644 --- a/_config.yml +++ b/_config.yml @@ -7,7 +7,7 @@ # Site settings title: Stop Talking, Start Doing - 停止空想,开始行动 -author: Pengzhan Hao - 碾子 +author: Pengzhan Hao avatar: "/static/avatar.jpg" email: haopengzhan@gmail.com description: > # this means to ignore newlines until "baseurl:" @@ -16,7 +16,7 @@ description: > # this means to ignore newlines until "baseurl:" all happens in my Lab. baseurl: "" # the subpath of your site, e.g. /blog url: "https://codersherlock.github.com/" # the base hostname & protocol for your site -twitter_username: haopengzhan +# twitter_username: haopengzhan github_username: codersherlock disqus_shortname: codersherlockblog diff --git a/_includes/head.html b/_includes/head.html index 5c762c9..a24a26b 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -9,6 +9,7 @@ + - - - - - - - -Look up at the Starry Sky
-
-
-
-
-
- Borned in Jinan, Shandong Province, China
-