-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.xml
executable file
·219 lines (180 loc) · 15.5 KB
/
index.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Coding Automaton</title>
<link>http://jessezhuang.github.io/</link>
<description>Recent content on Coding Automaton</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Sat, 18 Jun 2016 00:11:02 +0100</lastBuildDate>
<atom:link href="http://jessezhuang.github.io/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>About Me</title>
<link>http://jessezhuang.github.io/page/about-me/</link>
<pubDate>Sat, 18 Jun 2016 00:11:02 +0100</pubDate>
<guid>http://jessezhuang.github.io/page/about-me/</guid>
<description>Hello People, My Name is Zexi Jesse Zhuang, a Developer and Learner. I currently live near Seattle, WA. I love web, mobile, and open source software development. I strive to find simple working solutions to complete tasks or goals and explain the algorithms and solutions concisely.
Outside of coding, I love lifting, hiking, and badminton.
Why Coding Automaton? The first time I learned about Automaton was in Robert Sedgewick&rsquo;s Algorithms class.</description>
</item>
<item>
<title>Docker Cheatsheet</title>
<link>http://jessezhuang.github.io/article/docker-cheatsheet/</link>
<pubDate>Sun, 04 Jun 2017 16:03:06 -0700</pubDate>
<guid>http://jessezhuang.github.io/article/docker-cheatsheet/</guid>
<description>Container vs Image Image is immutable, container is a box running starting from an image.
docker ps -as # list all containers with sizes docker images # list all images docker run [options] &lt;image&gt; # best to use image id or image:tag # -p hostPort:containerPort expose port, -P publish all exposed ports. 8888 for jupyter notebook # -t terminal pseudo-TTY # -i Keep STDIN open even if not attached # -v /host/dir:/&lt;container-path&gt; # --name Assign a name to the container docker start -ai &lt;container&gt; # can user container id or name # -a Attach STDOUT/STDERR and forward signals # -i Attach container's STDIN jupyter notebook --ip 0.</description>
</item>
<item>
<title>Internet FAQ</title>
<link>http://jessezhuang.github.io/article/internet-faq/</link>
<pubDate>Sun, 16 Apr 2017 19:09:17 -0700</pubDate>
<guid>http://jessezhuang.github.io/article/internet-faq/</guid>
<description> Internet Protocol (IP) IPV4 vs IPv6 IPV4 uses 32 bits, 4 8 bit numbers, 2^32 distinct IP addresses. Example 202.2.1.10.
IPV6 uses 128 bits, 8 16 bit numbers, 2^128 distinct IP addresses. Actual number is slightly smaller since multiple ranges are reserved for special use or completely excluded from use. Example 3ffe:1900:4545:3:200:f8ff:fe21:67cf.
Refs:
webopedia article IPV6 wikipedia </description>
</item>
<item>
<title>Mac Cheatsheet</title>
<link>http://jessezhuang.github.io/article/mac_cheatsheet/</link>
<pubDate>Sun, 26 Feb 2017 18:56:24 -0800</pubDate>
<guid>http://jessezhuang.github.io/article/mac_cheatsheet/</guid>
<description> Keboard Shortcuts Switching tabs:
Safari, [shift]+ctrl+tab, cmd+number, shift+cmd+left/right. Chrome, [shift]+ctrl+tab, cmd+number, alt+cmd+left/right. macvim, shift+cmd+{/}. Editing:
Delete to end of line, ctrl+k, same as on command line Delete to beginning of line, cmd+shift+left, then delete </description>
</item>
<item>
<title>Algorithm Question Substring Search KMP</title>
<link>http://jessezhuang.github.io/article/algorithm-string-kmp/</link>
<pubDate>Fri, 05 Aug 2016 17:12:46 -0700</pubDate>
<guid>http://jessezhuang.github.io/article/algorithm-string-kmp/</guid>
<description>Question LeetCode has this question Implement strStr().
Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.
Tags: Two Pointers, String.
Let&rsquo;s denote haystack length N, needle length M, character table size R (256 for extended ASCII).
Java&rsquo;s String class method indexOf() uses brute force algorithm O(MN).
Examples:
haystacsflksdjflkshhaystackneeneeneedle needle naslkfjskjlhhhh needle Method 1 2D DFA KMP Knuth Morris Pratt O(N) time complexity.</description>
</item>
<item>
<title>Sorting Algorithm Summary</title>
<link>http://jessezhuang.github.io/article/algorithm-sorting-summary/</link>
<pubDate>Mon, 18 Jul 2016 00:52:13 -0700</pubDate>
<guid>http://jessezhuang.github.io/article/algorithm-sorting-summary/</guid>
<description>The following table summarizes common characteristics of popular sorting algorithms, not including string sort algorithms (I may add those later here or write another separate post).
algorithm In Place? Stable? parallel? worst average best remarks selection y n n N2/2 N2/2 N2/2 N exchanges insertion y y n N2/2 N2/4 N use for small N or partially ordered shell y n n ?</description>
</item>
<item>
<title>Git Cheatsheet</title>
<link>http://jessezhuang.github.io/article/git-cheatsheet/</link>
<pubDate>Wed, 06 Jul 2016 16:39:13 -0700</pubDate>
<guid>http://jessezhuang.github.io/article/git-cheatsheet/</guid>
<description>Basic Snapshotting git-mv - Move or rename a file, a directory, or a symlink
git mv [-v] [-f] [-n] [-k] &lt;source&gt; &lt;destination&gt; rename
git mv [-v] [-f] [-n] [-k] &lt;source&gt; ... &lt;destination directory&gt; move into existing directory
git mv &lt;source&gt; &lt;destination&gt; # rename a directory Branch Related git branch [options] &lt;branchname&gt;
git branch # show all branches with current marked with * git branch -vv # show all local and tracked remote branches git checkout dev git branch jesse # creates branch named &quot;jesse&quot; off from &quot;dev&quot; branch git checkout -b jesse # creates and switch to branch &quot;jesse&quot; Merge git merge [options] [&lt;commit&gt;.</description>
</item>
<item>
<title>Virtualbox Tips for Ubuntu Guest in Windows Host</title>
<link>http://jessezhuang.github.io/article/virtualbox-tips/</link>
<pubDate>Sat, 02 Jul 2016 18:17:10 -0700</pubDate>
<guid>http://jessezhuang.github.io/article/virtualbox-tips/</guid>
<description>For Ubuntu tips, see http://jessezhuang.github.io/ article/ubuntu/.
How to Get Shared Folder Write Access When used as a virtual machine guest (Ubuntu 14.04LTS in Windows 10 host with Oracle VirtualBox), to get access to shared folder, run the following command in shell, replace username with your ubuntu username.
# replace username with your actual ubuntu username $ sudo usermod -a -G vboxsf username After that, reboot the VM and you should have write access to the shared folder.</description>
</item>
<item>
<title>Vim Cheatsheet</title>
<link>http://jessezhuang.github.io/article/vim-cheatsheet/</link>
<pubDate>Thu, 30 Jun 2016 00:37:56 -0700</pubDate>
<guid>http://jessezhuang.github.io/article/vim-cheatsheet/</guid>
<description>For Ubuntu Linux,
Terms:
C-x stands for ctrl-x.
Generally, use :help &lt;cmd&gt;&quot; for quick ref, e.g.:help undo`.
Configuration Configuration file default ~/.vimrc. Can use source &lt;another file&gt; and put the actual vimrc in cloud like dropbox.
# to reload an edited vimrc :so $MYVIMRC File operations # to rename a file :E or :Explorer :Te or :Texplorer to open explorer in new tab then :bd to close the new tab R # rename at bottom :bp # go back previous buffer # save the current session including buffers, tabs, and settings :mksession ~/vimSessions/session1.</description>
</item>
<item>
<title>How to Install Latest Version Vim in Ubuntu 14.04 LTS</title>
<link>http://jessezhuang.github.io/article/vim-ubuntu-install/</link>
<pubDate>Thu, 30 Jun 2016 00:36:25 -0700</pubDate>
<guid>http://jessezhuang.github.io/article/vim-ubuntu-install/</guid>
<description>Ubuntu comes with Vim-Tiny First of all, Ubuntu 14.04 LTS comes with Vim.Tiny with the version 2:7.4.052-1ubuntu3 which is Vim 7.4.052, already fairly new. Unfortunately I was looking specifically for markdown editing and syntax highlighting and I found that starting from 7.4.480 vim can pick up *.md files as markdown files by default. So I wanted to find a newer version of Vim to install.
Install Vim with PPA I have tried to install Vim with debian packages listed on Vim.</description>
</item>
<item>
<title>Mongodb Tutorial 6 - Application Engineering</title>
<link>http://jessezhuang.github.io/article/mongodb-app-engineer/</link>
<pubDate>Wed, 29 Jun 2016 00:00:00 -0700</pubDate>
<guid>http://jessezhuang.github.io/article/mongodb-app-engineer/</guid>
<description>Durability of Writes Write Concern How to make sure the writes persistent? Assume application talking to a database server in the scheme below.
The settings of two parameters affect the write concern:
w(wait for acknowledgement) j(journal) effect comment 1 false fast, small window of vulnerability default setting 1 true slow, no vulnerability can be done inside driver at collection, database, or client level 0 - unacknowledged write do not recommend 2 - wait for 2 nodes in replica set to acknowledge write w can be 0-3 for a set with 3 nodes majority - wait for majority to acknowledge, avoid rollback on failover - tag values - set tags on nodes - If the journal has been written to disk and the server crashes, on recovery the server can look in the journal and recreate all the writes that were not yet persisted to the pages.</description>
</item>
<item>
<title>Mongodb Tutorial 1 - Introduction</title>
<link>http://jessezhuang.github.io/article/mongodb-intro/</link>
<pubDate>Sun, 26 Jun 2016 19:27:36 -0700</pubDate>
<guid>http://jessezhuang.github.io/article/mongodb-intro/</guid>
<description>To run mongo commands from the source of a JavaScript file,
cat source.js | mongo # or mongo &lt; source.js # or just mongo source.js To import/export data,
$ mongoimport -d &lt;database&gt; -c &lt;collection&gt; -f &lt;file&gt; $ mongoimport -d &lt;dababase&gt; -c &lt;collection&gt; &lt; file.json $ mongoexport -d &lt;dababase&gt; -c &lt;collection&gt; --out file.json $ mongorestore -d &lt;database&gt; -c &lt;collection&gt; file.bson # by default writes BSON file to dump/ in current directory $ mongodump -d &lt;database&gt; -c &lt;collection [--out &lt;path&gt;] What is MongoDB?</description>
</item>
<item>
<title>MongoDB Tutorial 5 - Aggregation Framework</title>
<link>http://jessezhuang.github.io/article/mongodb-aggregation-framework/</link>
<pubDate>Sun, 26 Jun 2016 14:55:57 -0700</pubDate>
<guid>http://jessezhuang.github.io/article/mongodb-aggregation-framework/</guid>
<description>The aggregation framework has its roots in SQL&rsquo;s world of groupby clause.
Introduction Example used: imagine a SQL table of products.
name category manufacture price ipad tablet Apple 499 nexus s cellphone Samsung 350 To get number of products from each manufacture with SQL,
select manufacture, count(*) from products group by manufacture; with mongodb,
&gt; use agg &gt; db.</description>
</item>
<item>
<title>Ubuntu Tips and Tricks</title>
<link>http://jessezhuang.github.io/article/ubuntu/</link>
<pubDate>Fri, 24 Jun 2016 23:37:47 -0700</pubDate>
<guid>http://jessezhuang.github.io/article/ubuntu/</guid>
<description>Ubuntu version is 14.04 LTS running as a guest OS in Oracle VirtualBox 5. For VirtualBox related issues, see http://jessezhuang.github.io/ article/virtualbox-tips/.
Performance Monitoring top from command line System Monitor application installed by default. Screen Capture Application Screenshot installed by default. Can take screenshot of whole screen, current window, or selected area. Similar to &ldquo;Snipping Tool&rdquo; in Windows. To run this tool from the shell, use gnome-screeshot -i for interactive window specified with mouse, gnome-screenshot -help for other options.</description>
</item>
<item>
<title>Linux Cheatsheets</title>
<link>http://jessezhuang.github.io/article/linux-cheatsheet/</link>
<pubDate>Fri, 24 Jun 2016 14:56:13 -0700</pubDate>
<guid>http://jessezhuang.github.io/article/linux-cheatsheet/</guid>
<description>Linux Commands Cheatsheet Files Related ls - list directory contents SYNOPSIS ls [OPTION]... [FILE]... -a, --all do not ignore entries starting with . examples effects ls -la list all file/directories including hidden in long list form ls -ld list directory only in list form du - estimate file space usage SYNOPSIS du [OPTION]... [FILE]... -c, --total produce a grand total -h, --human-readable print sizes in human readable format (e.</description>
</item>
<item>
<title>MongoDB Tutorial 4 - Performance</title>
<link>http://jessezhuang.github.io/article/mongodb-performance/</link>
<pubDate>Fri, 24 Jun 2016 14:55:57 -0700</pubDate>
<guid>http://jessezhuang.github.io/article/mongodb-performance/</guid>
<description>Storage engine Storage engine sits between mongodb server and the file storage. Use db.serverStatus().storageEngine; to check.
WiredTiger for many applications, this is faster - document level concurrency, lock free implementation. optimistic concurrency model which assumes two writes not gonna be on same document. if on same, one write unwound and try again. - compression of data and indexes. WiredTiger manages memory. - append only, no in place updates
MMAP V1 Uses mmap system call undercovers.</description>
</item>
<item>
<title>Using Java's Reflection for Testing</title>
<link>http://jessezhuang.github.io/article/java-reflection-test/</link>
<pubDate>Sun, 19 Jun 2016 01:20:46 -0700</pubDate>
<guid>http://jessezhuang.github.io/article/java-reflection-test/</guid>
<description>Writing Boilerplate Test Code is Boring Repeatedly writing boilerplate for loops for testing is not fun. We can use Java reflection API (java.lang.reflect package) to maximize code reuse and help testing.
Frameworks like JUnit uses reflection for testing. I will introduce a single method today on how reflection can be used for testing.
The code examples below are available at my github repository.
Get an Instance of Class Being Tested First we will declare a message to print out if all tests passed.</description>
</item>
<item>
<title>A Tutorial for using Hugo and Github Pages as a Blog Site</title>
<link>http://jessezhuang.github.io/article/tutorial-hugoblog/</link>
<pubDate>Sun, 19 Jun 2016 01:19:10 -0700</pubDate>
<guid>http://jessezhuang.github.io/article/tutorial-hugoblog/</guid>
<description>Hugo, a Static Site Generator Hugo is one of the static site generators. Currently it is ranked 4th by StaticGen. Of the top competitors, Hugo is the only one written in a compiled language (Go), which builds the site much faster. So I decided to give it a spin.
Most of them were written in JavaScript. Jekyll was the good old player in this field, which was used in Obama&rsquo;s campaigns to raise $250M.</description>
</item>
</channel>
</rss>