Files
CoderSherlock.github.io/_site/feed.xml
T

213 lines
15 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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>
<description>My personal blog, with some boring research staff and some tricks I was fancy to. I&#39;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, 27 Dec 2016 15:14:22 -0500</pubDate>
<lastBuildDate>Tue, 27 Dec 2016 15:14:22 -0500</lastBuildDate>
<generator>Jekyll v3.0.1</generator>
<item>
<title>How to design a board game, step by step</title>
<description>&lt;h1 id=&quot;history&quot;&gt;History&lt;/h1&gt;
&lt;p&gt;I always want to design a board game, but unfortunately, I have higher expectation on this design so that I can even finish one during these years. My dreaming work must be suit for both entertainment and competition, which both amateurs or pros can enjoy this game.&lt;/p&gt;
&lt;p&gt;My first designed board game is &lt;em&gt;“SimCity ~ Board version”&lt;/em&gt;. It was a great fun when I was in forth grade of elementary. Compare to a board game, its more like a paper-version web game. I offer everything include game design, a “database” (notebook) to record all players status. At beginning, it wasnt that popular, but my classmates love it. With several weeks running, 30 players joined this silly game and students from other classes came for me to join my game. During three month testing, I released more than &lt;strong&gt;120&lt;/strong&gt; new buildings, &lt;strong&gt;15&lt;/strong&gt; new activities and even made this game payable. It sounds stupid, but lots of them rather pay 50 cents for accelerating their construction. I also faced competitors, but no one wants to play their bad designed game. At least for myself, I wont spent players 20 hours for just a nuclear plant, offer them a lottery that every players whose level is up to 20 can get chance to win their own plants (Trust me, my lottery only have 0.01 chance that you win nothing, and anyone can get free tickets everyday and only pay 10 cents for a spare lottery ticket). Of course, my board game didnt last for long. Before final weeks, I made a statement that game will closed. At the evening after statement, I wrote wealthy rank for all players to let all of them know who wins or lose.&lt;/p&gt;
&lt;p&gt;This history always encourage me to design a new board game, but this time I am not facing to young boys and girls who dont have too much to play at school. I admit this is a serious challenge to me but Ill try my best to make this game fun to play.&lt;/p&gt;
&lt;h1 id=&quot;my-dream&quot;&gt;My dream&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Better for two players&lt;/li&gt;
&lt;li&gt;Competitive&lt;/li&gt;
&lt;li&gt;Do have fortune features, but good strategy can guarantee winning&lt;/li&gt;
&lt;li&gt;Simple, better to be PnP (Print and Play)&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&quot;preparation&quot;&gt;Preparation&lt;/h1&gt;
&lt;h2 id=&quot;warm-up&quot;&gt;Warm-up&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.google.com/document/d/1V_czXDnFuQfNyzLM7R5FUrX0vYD9QR17R3FQQ25pjZY/edit?usp=sharing&quot;&gt;Island-Combat&lt;/a&gt; is my first idea. I designed it in Chinese, but you may free to guess what these figures mean.&lt;/p&gt;
&lt;h1 id=&quot;game-concepts&quot;&gt;Game Concepts&lt;/h1&gt;
&lt;h1 id=&quot;develop-process&quot;&gt;Develop Process&lt;/h1&gt;
</description>
<pubDate>Tue, 27 Dec 2016 13:39:25 -0500</pubDate>
<link>https://codersherlock.github.com//archivers/design-a-board-game</link>
<guid isPermaLink="true">https://codersherlock.github.com//archivers/design-a-board-game</guid>
<category>Fun</category>
</item>
<item>
<title>Freshman from china ~ 人生修复者</title>
<description>&lt;p&gt;在题目上,我就厚着脸皮装了一次嫩。虽然这一年多的时间,每逢与人交谈,我总会以 Graduate Freshmen 自称。但是总感觉自己在一天一天的变得消沉和无趣。不知道成熟是何物的我试图一直保持自己乐观到单纯的性格,但随着保持时间的变长,我已然不知自己究竟是真的傻还是装的蠢了。一直与人无争的我终还是变得扭曲搬的“孤傲”了起来。&lt;/p&gt;
</description>
<pubDate>Wed, 23 Nov 2016 22:58:00 -0500</pubDate>
<link>https://codersherlock.github.com//archivers/freshman-from-china</link>
<guid isPermaLink="true">https://codersherlock.github.com//archivers/freshman-from-china</guid>
<category>Nonsense</category>
</item>
<item>
<title>Some of my previews experiment works</title>
<description>&lt;h1 id=&quot;time-series&quot;&gt;Time series&lt;/h1&gt;
&lt;h2 id=&quot;section&quot;&gt;2016-10&lt;/h2&gt;
&lt;h3 id=&quot;time-experiment-of-rsync&quot;&gt;Time Experiment of rsync&lt;/h3&gt;
&lt;p&gt;Patch is based on rsync with version 3.1.2. [&lt;a href=&quot;https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz&quot;&gt;Rsync&lt;/a&gt;|&lt;a href=&quot;/static/2016-10/rsync/rsync-3.1.2-time.patch&quot;&gt;Patch&lt;/a&gt;]&lt;/p&gt;
&lt;h4 id=&quot;how-to-collect-data&quot;&gt;How to collect data&lt;/h4&gt;
&lt;p&gt;Basically, everything of transmission time and computation time will be output with overall time will be printed on the console.&lt;br /&gt;
But we also need some bash script to collect data through different size of random size and with different modification through them.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Start from 8K to 64M, modify at beginning, [&lt;a href=&quot;/static/2016-10/rsync/small2Big_change_at_begin.sh&quot;&gt;Bash script&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;Start from 8K to 64M, modify at last, [&lt;a href=&quot;/static/2016-10/rsync/small2Big_change_at_last.sh&quot;&gt;Bash script&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;Start from 8K to 64M, modify at random place with a (slow) python script, [&lt;a href=&quot;/static/2016-10/rsync/small2Big_change_at_anyplace.sh&quot;&gt;Bash script&lt;/a&gt;|&lt;a href=&quot;/static/2016-10/rsync/addbyte.py&quot;&gt;Python program&lt;/a&gt;]&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;time-experiment-of-seafile&quot;&gt;Time Experiment of seafile&lt;/h3&gt;
&lt;p&gt;Patch is based on seafile 5.1.4. You can find the release from &lt;a href=&quot;https://github.com/haiwen/seafile/releases&quot;&gt;seafile official repo&lt;/a&gt;. You may follow official compile instructions from &lt;a href=&quot;https://manual.seafile.com/build_seafile/linux.html&quot;&gt;here&lt;/a&gt;. [&lt;a href=&quot;&quot;&gt;Patch &lt;strong&gt;no longer avaiable, new version at following sections&lt;/strong&gt;&lt;/a&gt;]&lt;/p&gt;
&lt;h4 id=&quot;how-to-collect-data-1&quot;&gt;How to collect data&lt;/h4&gt;
&lt;p&gt;We also need everything be done using scripting. But this time I only design added some distance between two increasing files sizes.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Start from 8K to 16M, 4 times increasing, modify at beginning/ at 1024 different places with python script. [&lt;a href=&quot;/static/2016-11/seafile/trans.sh&quot;&gt;Bash Script&lt;/a&gt;|&lt;a href=&quot;/static/2016-11/seafile/addbyte.py&quot;&gt;Python program&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;After using this auto testing script, everything of output will be marked in log files of seafile, which located in &lt;strong&gt;~/.ccnet/log/seafile.log&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;We need to use this simple awk code and vim operation to extract data.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# CDC: content defined chucks&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# HUT: Http upload traffic&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# ALL: overall time of one commit &amp;amp; upload&lt;/span&gt;
awk &lt;span class=&quot;s1&quot;&gt;&#39;/CDC|HUT|ALL/ {print $4,$5}&#39;&lt;/span&gt; ~/.ccnet/log/seafile.log &amp;gt; results.stat
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h4 id=&quot;install-seafile-on-odroid-xu&quot;&gt;Install Seafile on odroid xu&lt;/h4&gt;
&lt;p&gt;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 &lt;a href=&quot;http://www.hardkernel.com/main/products/prdt_info.php?g_code=G137510300620&quot;&gt;odroid xu&lt;/a&gt; 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 wont address much this time. But Ill start a blog telling some really cool stuff I made for a strange aim.&lt;/p&gt;
&lt;p&gt;To install a ubuntu with GUI is my all preparation work. I found to way to do this.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;http://www.armhf.com/boards/odroid-xu/&quot;&gt;armhf&lt;/a&gt; is a website for arm-based ubuntu. It has a detailed instruction to follow at &lt;a href=&quot;http://www.armhf.com/boards/odroid-xu/odroid-sd-install/&quot;&gt;here&lt;/a&gt;. They also provide ubuntu 12.04/ 14.04 and debian 7.5 to choose. But unfortunately odroid xus hdmi output doesnt supported by ubuntu native firmware. So install ubuntu-desktop might cant be boot up for video output.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Burn images is much easy to install a pre-complied ubuntu system. I found this on odroid xus forum, which contains xubuntu image [&lt;a href=&quot;http://odroid.in/ubuntu_14.04lts/ubuntu-14.04lts-xubuntu-odroid-xu-20140714.img.xz&quot;&gt;download&lt;/a&gt;] for odroid xu. With this image, you just need to use dd command to write whole system mirror into sdcard.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# If .img end with xz, use this command to uncompress first&lt;/span&gt;
unxz ubuntu-14.04lts-xubuntu-odroid-xu-20140714.img.xz
&lt;span class=&quot;c&quot;&gt;# Burn image into SD-card&lt;/span&gt;
sudo dd &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;ubuntu-14.04lts-xubuntu-odroid-xu-20140714.img &lt;span class=&quot;nv&quot;&gt;of&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/dev/sdb &lt;span class=&quot;nv&quot;&gt;bs&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;1M &lt;span class=&quot;nv&quot;&gt;conv&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;fsync
sync
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h2 id=&quot;section-1&quot;&gt;2016-11&lt;/h2&gt;
&lt;h3 id=&quot;android-kernel&quot;&gt;Android Kernel&lt;/h3&gt;
&lt;h4 id=&quot;how-to-build-an-android-kernel&quot;&gt;How to build an Android Kernel?&lt;/h4&gt;
&lt;p&gt;Generally, I wont tell anything in this parts, just mark some related links, and point out some mistakes or error solutions.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;http://source.android.com/source/building-kernels.html#figuring-out-which-kernel-to-build&quot;&gt;Google Official Guide&lt;/a&gt;&lt;br /&gt;
If you dont 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.&lt;br /&gt;
&lt;a href=&quot;https://android.googlesource.com/?format=HTML&quot;&gt;ASOP git root&lt;/a&gt;, under sub class “/platform/prebuilts/gcc”&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://softwarebakery.com/building-the-android-kernel-on-linux&quot;&gt;Packing and Flashing a Boot.img&lt;/a&gt; &lt;strong&gt;[highly recommend]&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
<pubDate>Fri, 28 Oct 2016 12:27:33 -0400</pubDate>
<link>https://codersherlock.github.com//archivers/some-of-my-previews-exper-work</link>
<guid isPermaLink="true">https://codersherlock.github.com//archivers/some-of-my-previews-exper-work</guid>
<category>Research</category>
</item>
<item>
<title>Using charles proxy to monitor mobile SSL traffics</title>
<description>&lt;p&gt;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 doesnt provide us a method to modify their own certs. For these situation, I still didnt find a good solutions for it. But Ill keep updating this if I get one. &lt;br /&gt;
My current solution is using AP to forward all SSL traffic to a proxy, &lt;a href=&quot;https://www.charlesproxy.com/&quot;&gt;charles proxy&lt;/a&gt; is my first choice (Prof asked). Its a non-free software which still update new versions now. So mainly, Ill talk about how to charles SSL proxy.&lt;/p&gt;
&lt;h3 id=&quot;preparations&quot;&gt;Preparations&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Monitor device situation: Linux Machine with wireless adapter&lt;/li&gt;
&lt;li&gt;Download the newest version(4.0.1) of charles&lt;/li&gt;
&lt;li&gt;Target android devices with root privilege&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;install-charles-and-configuration&quot;&gt;Install Charles and Configuration&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;You have to install charles first. After downloading the charles proxy, you have to unzip it and configure some basic settings.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# open charles first&lt;/span&gt;
./bin/charles
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Save charles private key and public key&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In Help -&amp;gt; SSL Proxying -&amp;gt; Export Charles Root Certificate and Private Key, enter a password and save the public and private key in *.p12 format. &lt;br /&gt;
You also need to save charles Root Certificate, it also contains in the same menu. For convience, save it as *.pem format.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set Proxy and SSL Proxy&lt;/li&gt;
&lt;/ul&gt;
</description>
<pubDate>Thu, 27 Oct 2016 22:50:33 -0400</pubDate>
<link>https://codersherlock.github.com//archivers/charles-is-not-a-good-tool</link>
<guid isPermaLink="true">https://codersherlock.github.com//archivers/charles-is-not-a-good-tool</guid>
<category>Network</category>
</item>
<item>
<title>Stop Talking is the worst title of one blog</title>
<description>
</description>
<pubDate>Wed, 26 Oct 2016 22:50:33 -0400</pubDate>
<link>https://codersherlock.github.com//archivers/hello</link>
<guid isPermaLink="true">https://codersherlock.github.com//archivers/hello</guid>
<category>Nonsense</category>
</item>
</channel>
</rss>