<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0" xml:base="http://mgccl.com">
<channel>
 <title>Mgccl's Ivory Tower</title>
 <link>http://mgccl.com</link>
 <description />
 <language>en</language>
<feedburner:info uri="mgccl" /><geo:lat>40.94993</geo:lat><geo:long>-72.895334</geo:long><creativeCommons:license>http://creativecommons.org/licenses/by-nd/2.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by-nd/2.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><feedburner:emailServiceId>mgccl</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/mgcclblog" /><feedburner:info uri="mgcclblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
 <title>Small script for sharing screenshots</title>
 <link>http://feedproxy.google.com/~r/mgcclblog/~3/gXq5-uafaxY/small-script-for-sharing-screenshots</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;I posted a script over at &lt;a href="https://gist.github.com/769905"&gt;github&lt;/a&gt;. &lt;/p&gt;
&lt;script src="https://gist.github.com/769905.js?file=screenshot.sh"&gt;&lt;/script&gt;&lt;p&gt;
I have named it &lt;span class="geshifilter"&gt;&lt;code class="bash geshifilter-bash"&gt;shot&lt;/code&gt;&lt;/span&gt; and placed in &lt;span class="geshifilter"&gt;&lt;code class="bash geshifilter-bash"&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;/&lt;/span&gt;usr&lt;span style="color: #000000; font-weight: bold;"&gt;/&lt;/span&gt;local&lt;span style="color: #000000; font-weight: bold;"&gt;/&lt;/span&gt;bin&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;It take a screenshot of the whole desktop and upload to imageshack.us, then it put the link into the clipboard.&lt;/p&gt;
&lt;div class="geshifilter"&gt;
&lt;pre class="bash geshifilter-bash" style="font-family:monospace;"&gt;shot&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;If you only need a shot of a selection of the screen, do&lt;/p&gt;
&lt;div class="geshifilter"&gt;
&lt;pre class="bash geshifilter-bash" style="font-family:monospace;"&gt;shot s&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;If I need it to delay a few second, then take the screenshot of the whole desktop, I do&lt;/p&gt;
&lt;div class="geshifilter"&gt;
&lt;pre class="bash geshifilter-bash" style="font-family:monospace;"&gt;shot &lt;span style="color: #000000;"&gt;10&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;where 10 can be replaced by any amount of delay in seconds.&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wH2f-mzMbozCbFGOWtUydh8ttO8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wH2f-mzMbozCbFGOWtUydh8ttO8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wH2f-mzMbozCbFGOWtUydh8ttO8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wH2f-mzMbozCbFGOWtUydh8ttO8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mDIqY2vJooXy-fn4-xaFkF-6ewY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mDIqY2vJooXy-fn4-xaFkF-6ewY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mDIqY2vJooXy-fn4-xaFkF-6ewY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mDIqY2vJooXy-fn4-xaFkF-6ewY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mgcclblog/~4/gXq5-uafaxY" height="1" width="1"/&gt;</description>
 <comments>http://mgccl.com/2011/01/07/small-script-for-sharing-screenshots#comments</comments>
 <category domain="http://mgccl.com/topics/linux">Linux</category>
 <category domain="http://mgccl.com/topics/screenshot">Screenshot</category>
 <pubDate>Fri, 07 Jan 2011 20:58:05 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1166 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2011/01/07/small-script-for-sharing-screenshots</feedburner:origLink><feedburner:origLink>http://feedproxy.google.com/~r/mgccl/~3/QaSyXOxgHRI/small-script-for-sharing-screenshots</feedburner:origLink></item>
<item>
 <title>An absurd method for finding the square root of a integer</title>
 <link>http://feedproxy.google.com/~r/mgcclblog/~3/RMS7nvirKsU/an-absurd-method-for-finding-the-square-root-of-a-integer</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;A common interview question.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Find the square root of a integer n, without using the built in sqrt function. (Result has to be a float or double)&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;There are &lt;a href="http://en.wikipedia.org/wiki/Methods_of_computing_square_roots"&gt;many ways to do it&lt;/a&gt;(in fact I thought of every one of them in 10 seconds). &lt;/p&gt;
&lt;p&gt;I want to come up with a way no one else would think of. Something that could amaze the interviewer.&lt;/p&gt;
&lt;p&gt;I present the following solution. I put &lt;a href="http://gist.github.com/646600"&gt;the code&lt;/a&gt; on Gist.&lt;/p&gt;
&lt;script src="http://gist.github.com/646600.js?file=SquareRoot.java"&gt;&lt;/script&gt;&lt;p&gt;
How does it work?&lt;/p&gt;
&lt;p&gt;We know &lt;img src="http://mgccl.com/files/mathfilter/d1854cae891ec7b29161ccaf79a24b00c274bdaa.png" title="n" alt="n" /&gt; is a integer. Therefore, by &lt;a href="http://en.wikipedia.org/wiki/Lagrange's_four-square_theorem"&gt;Lagrange's four-square theorem&lt;/a&gt;, &lt;img src="http://mgccl.com/files/mathfilter/f4c05cbb959124c84f5ccf0d47538feca20c3ec3.png" title="n=a^2+b^2+c^2+d^2" alt="n=a^2+b^2+c^2+d^2" /&gt; for integer &lt;img src="http://mgccl.com/files/mathfilter/3dcda24350a7219c75a34cb4f0079978d4b63e95.png" title="a,b,c,d" alt="a,b,c,d" /&gt;. &lt;img src="http://mgccl.com/files/mathfilter/1e2359df0a78344ea0d0b30891d3639357aa7c49.png" title="\sqrt{n} = \sqrt{a^2+b^2+c^2+d^2}" alt="\sqrt{n} = \sqrt{a^2+b^2+c^2+d^2}" /&gt;. Thus &lt;img src="http://mgccl.com/files/mathfilter/712f9a224d6c7824add37b6cd766c21f73a40d59.png" title="\sqrt{n}" alt="\sqrt{n}" /&gt; is the magnitude of the vector &lt;img src="http://mgccl.com/files/mathfilter/bec91f82ac551cb18789952b0884046a54c659d1.png" title="[a,b,c,d]" alt="[a,b,c,d]" /&gt;. &lt;img src="http://mgccl.com/files/mathfilter/3dcda24350a7219c75a34cb4f0079978d4b63e95.png" title="a,b,c,d" alt="a,b,c,d" /&gt; can be calculated by brute force search(therefore runs in O(n^2) time). There exist &lt;a href="http://onlinelibrary.wiley.com/doi/10.1002/cpa.3160390713/abstract"&gt;a better randomized algorithm&lt;/a&gt;. I don't have access to the paper so I can't do anything about it.&lt;/p&gt;
&lt;p&gt;Note a simple improvement of the naive algorithm can reduce the computation time to &lt;img src="http://mgccl.com/files/mathfilter/8524a2c6e38ac34e8bc0d5e4132028c6f023c24a.png" title="O(n^\frac{3}{2} \log n)" alt="O(n^\frac{3}{2} \log n)" /&gt;. I can't be bothered to write it.&lt;/p&gt;
&lt;p&gt;A recursive algorithm using the following relation can find the magnitude of any vector,&lt;br /&gt;
&lt;img src="http://mgccl.com/files/mathfilter/444e2d0764c06c0517b75b93b88a4080a7752663.png" title="|[a_0,...,a_{n-1},a_n]| = \frac{a_n}{\sin(\tan^{-1}(\frac{a_n}{|[a_0,...,a_{n-1}]|}))}" alt="|[a_0,...,a_{n-1},a_n]| = \frac{a_n}{\sin(\tan^{-1}(\frac{a_n}{|[a_0,...,a_{n-1}]|}))}" /&gt;&lt;/p&gt;
&lt;p&gt;FUN!&lt;/p&gt;
&lt;p&gt;I challenge people to come up with even more absurd way to calculate square roots.&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BQSKs2bB9O2WggKIpbbbbJpoAr0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BQSKs2bB9O2WggKIpbbbbJpoAr0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BQSKs2bB9O2WggKIpbbbbJpoAr0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BQSKs2bB9O2WggKIpbbbbJpoAr0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-zJkB8KXns084JC7ruzaN2x-UjI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-zJkB8KXns084JC7ruzaN2x-UjI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-zJkB8KXns084JC7ruzaN2x-UjI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-zJkB8KXns084JC7ruzaN2x-UjI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mgcclblog/~4/RMS7nvirKsU" height="1" width="1"/&gt;</description>
 <comments>http://mgccl.com/2010/10/26/an-absurd-method-for-finding-the-square-root-of-a-integer#comments</comments>
 <category domain="http://mgccl.com/taxonomy/term/526">Computer Science</category>
 <category domain="http://mgccl.com/taxonomy/term/527">Mathematics</category>
 <pubDate>Tue, 26 Oct 2010 09:54:49 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1165 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2010/10/26/an-absurd-method-for-finding-the-square-root-of-a-integer</feedburner:origLink><feedburner:origLink>http://feedproxy.google.com/~r/mgccl/~3/CbVse2_eSx8/an-absurd-method-for-finding-the-square-root-of-a-integer</feedburner:origLink></item>
<item>
 <title>Time Lapse Screenshots</title>
 <link>http://feedproxy.google.com/~r/mgcclblog/~3/rhO9oLP_n6Q/time-lapse-screenshots</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;I wrote a script for time lapse screenshots.&lt;/p&gt;
&lt;p&gt;The newest version can be found on &lt;a href="http://gist.github.com/548639"&gt;github&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The version as of writing.&lt;br /&gt;
timelapse.sh usage(requires scrot)&lt;br /&gt;
&lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;&amp;nbsp;./timelapse dir_name second_interval limit&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;
Note if limit is negative, it is the same as having no limit.&lt;/p&gt;
&lt;div class="geshifilter"&gt;
&lt;pre class="bash geshifilter-bash" style="font-family:monospace;"&gt;&lt;span style="color: #666666; font-style: italic;"&gt;#!/bin/sh&lt;/span&gt;
&lt;span style="color: #c20cb9; font-weight: bold;"&gt;mkdir&lt;/span&gt; &lt;span style="color: #007800;"&gt;$1&lt;/span&gt;
&lt;span style="color: #007800;"&gt;i&lt;/span&gt;=&lt;span style="color: #000000;"&gt;0&lt;/span&gt;
&lt;span style="color: #007800;"&gt;t&lt;/span&gt;=-&lt;span style="color: #000000;"&gt;1&lt;/span&gt;
&lt;span style="color: #000000; font-weight: bold;"&gt;if&lt;/span&gt; &lt;span style="color: #7a0874; font-weight: bold;"&gt;&amp;#91;&lt;/span&gt; &lt;span style="color: #007800;"&gt;$#&lt;/span&gt; &lt;span style="color: #660033;"&gt;-eq&lt;/span&gt; &lt;span style="color: #000000;"&gt;3&lt;/span&gt; &lt;span style="color: #7a0874; font-weight: bold;"&gt;&amp;#93;&lt;/span&gt;
	&lt;span style="color: #000000; font-weight: bold;"&gt;then&lt;/span&gt;
	&lt;span style="color: #007800;"&gt;t&lt;/span&gt;=&lt;span style="color: #007800;"&gt;$3&lt;/span&gt;
	&lt;span style="color: #000000; font-weight: bold;"&gt;fi&lt;/span&gt;
&lt;span style="color: #000000; font-weight: bold;"&gt;while&lt;/span&gt; &lt;span style="color: #7a0874; font-weight: bold;"&gt;&amp;#91;&lt;/span&gt; &lt;span style="color: #007800;"&gt;$i&lt;/span&gt; &lt;span style="color: #660033;"&gt;-ne&lt;/span&gt; &lt;span style="color: #007800;"&gt;$t&lt;/span&gt; &lt;span style="color: #7a0874; font-weight: bold;"&gt;&amp;#93;&lt;/span&gt;
	&lt;span style="color: #000000; font-weight: bold;"&gt;do&lt;/span&gt;
	&lt;span style="color: #c20cb9; font-weight: bold;"&gt;sleep&lt;/span&gt; &lt;span style="color: #007800;"&gt;$2&lt;/span&gt;
	&lt;span style="color: #007800;"&gt;a&lt;/span&gt;=&lt;span style="color: #000000; font-weight: bold;"&gt;`&lt;/span&gt;&lt;span style="color: #c20cb9; font-weight: bold;"&gt;date&lt;/span&gt; +&lt;span style="color: #000000; font-weight: bold;"&gt;%&lt;/span&gt;Y&lt;span style="color: #000000; font-weight: bold;"&gt;%&lt;/span&gt;m&lt;span style="color: #000000; font-weight: bold;"&gt;%&lt;/span&gt;d_&lt;span style="color: #000000; font-weight: bold;"&gt;%&lt;/span&gt;H&lt;span style="color: #000000; font-weight: bold;"&gt;%&lt;/span&gt;M&lt;span style="color: #000000; font-weight: bold;"&gt;%&lt;/span&gt;S&lt;span style="color: #000000; font-weight: bold;"&gt;`&lt;/span&gt;
	&lt;span style="color: #666666; font-style: italic;"&gt;#a=$i&lt;/span&gt;
	scrot &lt;span style="color: #007800;"&gt;$1&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;/&lt;/span&gt;&lt;span style="color: #007800;"&gt;$a&lt;/span&gt;.png
	&lt;span style="color: #007800;"&gt;i&lt;/span&gt;=$&lt;span style="color: #7a0874; font-weight: bold;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #007800;"&gt;$i&lt;/span&gt;+&lt;span style="color: #000000;"&gt;1&lt;/span&gt;&lt;span style="color: #7a0874; font-weight: bold;"&gt;&amp;#93;&lt;/span&gt;
	&lt;span style="color: #000000; font-weight: bold;"&gt;done&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;video.sh usage(requires mencoder)&lt;br /&gt;
&lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;./video.sh dir_name width height fps filename&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div class="geshifilter"&gt;
&lt;pre class="bash geshifilter-bash" style="font-family:monospace;"&gt;&lt;span style="color: #666666; font-style: italic;"&gt;#!/bin/sh&lt;/span&gt;
mencoder mf:&lt;span style="color: #000000; font-weight: bold;"&gt;//&lt;/span&gt;&lt;span style="color: #007800;"&gt;$1&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;/*&lt;/span&gt;.png &lt;span style="color: #660033;"&gt;-mf&lt;/span&gt; &lt;span style="color: #007800;"&gt;w&lt;/span&gt;=&lt;span style="color: #007800;"&gt;$2&lt;/span&gt;:&lt;span style="color: #007800;"&gt;h&lt;/span&gt;=&lt;span style="color: #007800;"&gt;$3&lt;/span&gt;:&lt;span style="color: #007800;"&gt;fps&lt;/span&gt;=&lt;span style="color: #007800;"&gt;$4&lt;/span&gt;:&lt;span style="color: #007800;"&gt;type&lt;/span&gt;=png &lt;span style="color: #660033;"&gt;-ovc&lt;/span&gt; lavc &lt;span style="color: #660033;"&gt;-lavcopts&lt;/span&gt; &lt;span style="color: #007800;"&gt;vcodec&lt;/span&gt;=mpeg4:&lt;span style="color: #007800;"&gt;mbd&lt;/span&gt;=&lt;span style="color: #000000;"&gt;2&lt;/span&gt;:trell &lt;span style="color: #660033;"&gt;-oac&lt;/span&gt; copy &lt;span style="color: #660033;"&gt;-o&lt;/span&gt; &lt;span style="color: #007800;"&gt;$5&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;An &lt;a href="http://www.youtube.com/watch?v=V3p0Nv0mOL8"&gt;demo&lt;/a&gt;.&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Hl26IezQ9h54jFQ-2wEaOEjEVU4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Hl26IezQ9h54jFQ-2wEaOEjEVU4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Hl26IezQ9h54jFQ-2wEaOEjEVU4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Hl26IezQ9h54jFQ-2wEaOEjEVU4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TdCclZmv7yIheR-19jnCmIrtC80/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TdCclZmv7yIheR-19jnCmIrtC80/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TdCclZmv7yIheR-19jnCmIrtC80/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TdCclZmv7yIheR-19jnCmIrtC80/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mgcclblog/~4/rhO9oLP_n6Q" height="1" width="1"/&gt;</description>
 <comments>http://mgccl.com/2010/08/24/time-lapse-screenshots#comments</comments>
 <category domain="http://mgccl.com/taxonomy/term/560">bash</category>
 <category domain="http://mgccl.com/topics/script">Script</category>
 <pubDate>Wed, 25 Aug 2010 02:37:33 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1164 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2010/08/24/time-lapse-screenshots</feedburner:origLink><feedburner:origLink>http://feedproxy.google.com/~r/mgccl/~3/fLnpYpuwu7w/time-lapse-screenshots</feedburner:origLink></item>
<item>
 <title>Confidence destroyer</title>
 <link>http://feedproxy.google.com/~r/mgcclblog/~3/DoyI0iDtMyY/confidence-destroyer</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;I know this person, let's call her JJ. When ever I feel confident about myself, I talk to her.&lt;/p&gt;
&lt;p&gt;It's a habit. If I don't talk to her, I would go&lt;br /&gt;
"Hey, I'm on the top of the wooooooorld~ MUHAHAHAHAHAHA,.. I'm so getting into a good graduate school..."&lt;/p&gt;
&lt;p&gt;Some of the talks I remember, goes basically like this. due to my lame memory, I can't recite things word by word.&lt;br /&gt;
M = Me&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
(Talking about a USAMTS problem... the USAMTS t-shirt I have features that problem... if you see me wearing something black with cubes in the back, then you know that's the problem)&lt;br /&gt;
M: I don't see how that's possible.&lt;br /&gt;
J: flip this way so the face on cube one that's facing forward is now facing down, and then rotate the side facing forward 180° = =, apparently u don't play the rubiks cube..&lt;br /&gt;
M: orz
&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;
M: OMG there is a IMO gold and IMO silver in Stony Brook.&lt;br /&gt;
J: I know a IMO gold live right next door / I had lunch with a putnam fellow/ blah blah with IMO/Putnam people&lt;br /&gt;
M: orz
&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;
M: I took the Putnam today.&lt;br /&gt;
J: me too, a dozen people there are IMO gold or Putnam fellow.&lt;br /&gt;
M: orz
&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;
M: I'm thinking of doing independent study on analysis next semester.&lt;br /&gt;
J: I'm in this analysis class where half of the people have been to IMO. It's hard to stay above average.&lt;br /&gt;
M: orz
&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;
M: I'm in BNL this summer, I assume you are doing something with the same scale of awesomeness in MIT.&lt;br /&gt;
J: I'm in the AI lab, coding, working with Marvin Minsky, the FATHER of AI.&lt;br /&gt;
M: orz
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;My confidence crumbles every time xD. It is a good thing...&lt;/p&gt;
&lt;p&gt;I'm in a place where people think I'm pretty good. I become modeled into thinking "Hey, I'm pretty good." It's a scary thought if I'm actually not that good. JJ can always help me adjust to the view I'm suppose to have. Since I will be competing(unsuccessfully...) with people with skills even beyond JJ in the future for positions in the academia, I can't stop short and think "Hey, I'm pretty good."&lt;/p&gt;
&lt;p&gt;Thank you for all your support JJ. Also thank you for believing me that I can transfer to MIT when I don't even believe it myself. I will try my best.&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/izvPrwagk5bmhHksLvR1EBznzvo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/izvPrwagk5bmhHksLvR1EBznzvo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/izvPrwagk5bmhHksLvR1EBznzvo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/izvPrwagk5bmhHksLvR1EBznzvo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/W4V7y5fvwJzSAlKxKYUtXl6VmrA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/W4V7y5fvwJzSAlKxKYUtXl6VmrA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/W4V7y5fvwJzSAlKxKYUtXl6VmrA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/W4V7y5fvwJzSAlKxKYUtXl6VmrA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mgcclblog/~4/DoyI0iDtMyY" height="1" width="1"/&gt;</description>
 <comments>http://mgccl.com/2010/07/20/confidence-destroyer#comments</comments>
 <category domain="http://mgccl.com/taxonomy/term/399">MIT</category>
 <pubDate>Tue, 20 Jul 2010 05:22:55 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1163 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2010/07/20/confidence-destroyer</feedburner:origLink><feedburner:origLink>http://feedproxy.google.com/~r/mgccl/~3/gpjG3c3qR1s/confidence-destroyer</feedburner:origLink></item>
<item>
 <title>I might have ADHD all my life</title>
 <link>http://feedproxy.google.com/~r/mgcclblog/~3/nVdxsAWBTQk/i-might-have-adhd-all-my-life</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;For some unknown reason i discussed ADHD with my parents when they refuse to understand there are common disorders prevent people from learning.&lt;/p&gt;
&lt;p&gt;While discussing it, I found striking similarity of ADHD's symptoms and what I have. I did some wikipedia and convinced I'm likely to have ADHD.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
Predominantly inattentive type symptoms may include:&lt;br /&gt;
Be easily distracted, miss details, forget things, and frequently switch from one activity to another [YES, I found it impossible reading in a car, a train, a plane or anything where I feel I'm moving around. Or if I can see anything moving or hear any sound.]&lt;br /&gt;
Have difficulty focusing on one thing [YES]&lt;br /&gt;
Become bored with a task after only a few minutes, unless doing something enjoyable [YES, that's why I fail at everything except things I enjoy]&lt;br /&gt;
Have difficulty focusing attention on organizing and completing a task or learning something new [YES]&lt;br /&gt;
Have trouble completing or turning in homework assignments, often losing things (e.g., pencils, toys, assignments) needed to complete tasks or activities [YES, no pen can stay with me for more than 3 days unless I don't use that pen.]&lt;br /&gt;
Not seem to listen when spoken to [YES, ok this might be of some other reason, most people are boring]&lt;br /&gt;
Daydream, become easily confused, and move slowly [YES, but then again, it seems a lot of people are easily confused]&lt;br /&gt;
Have difficulty processing information as quickly and accurately as others [YES, especially in fields where I have no background]&lt;br /&gt;
Struggle to follow instructions.  [YES, I epically fail at every lab class]&lt;br /&gt;
Predominantly hyperactive-impulsive type symptoms may include:&lt;br /&gt;
Fidget and squirm in their seats [YES, I can't hold one comfortable position during sitting, unless I'm asleep]&lt;br /&gt;
Talk nonstop [If I'm talking to you, then yes, else no. If I'm alone, I talk to myself, but that should be another kind of beast.]&lt;br /&gt;
Dash around, touching or playing with anything and everything in sight [NO]&lt;br /&gt;
Have trouble sitting still during dinner, school, and story time [YES]&lt;br /&gt;
Be constantly in motion [YES, unless I'm on my bed]&lt;br /&gt;
Have difficulty doing quiet tasks or activities. [NO]&lt;br /&gt;
and also these manifestations primarily of impulsivity:[34]&lt;br /&gt;
Be very impatient [YES]&lt;br /&gt;
Blurt out inappropriate comments, show their emotions without restraint, and act without regard for consequences [don't know, it only happen around people I know]&lt;br /&gt;
Have difficulty waiting for things they want or waiting their turns in games [YES, I have to beat this 4 year old in SOULCALIBER]
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I have almost all symptoms.&lt;br /&gt;
These symptoms are general, I do feel normal people will have a few of them too. Having this many? it strike me as having a problem.&lt;/p&gt;
&lt;p&gt;When i was young(elementary school level), I have been described by my parents and teachers as having hyperactivity. Non of them are doctors however. I like how my family have the culture of not seeing any doctors(unless it's FREE checkup). So they don't care if I might have hyperactivity disorder, it's not something that will kill me.&lt;/p&gt;
&lt;p&gt;I also fall into my own world during class. Wondering stuff until I was called to answer some question the teacher asked. Ahh, lots of embarrassment.&lt;/p&gt;
&lt;p&gt;I doubt any of them considered I have attention deficit disorder. Not many kids can follow orders when they are young. Therefore I have no idea such thing even existed, until I'm in my 11th grade in US. I even doubt such disorder is not something people made up so they can take it easy on school work.&lt;/p&gt;
&lt;p&gt;Even if I have ADHD, I can still live out a normal life. My grades are better than average, and if I didn't do well at something, clearly I wasn't working hard enough. There should be no reason for anyone to even assume I might have a disorder. I must have a brain that perform above average, and I just don't use them in things like English, History and stuff, how else can the huge gap between my math and English grade be explained?&lt;/p&gt;
&lt;p&gt;I didn't spend much time on the courses I suck at, fits the description "Become bored with a task after only a few minutes". Self disciplines issue? It must be.&lt;/p&gt;
&lt;p&gt;Maybe not.&lt;/p&gt;
&lt;p&gt;Concentration have always been a problem. I can read a book and mind drift away into something else by one keyword. and when I finish drifting, I already turned the page, everything in between is lost. This is SCARY. I read a book and not remember what I have read, most of the time. How do I learn at all? Read a paragraph k times until I think I have read it. The GEB took me a month to complete, and now i can only remember the main themes. All the details are lost.&lt;/p&gt;
&lt;p&gt;This prevent me enjoy fictions. I have stopped reading fictions 5 years ago.(Ok i lied, I read 3 pages of twilight for reasons I don't want to disclose). Things jump around, nothing makes sense. I forget things I read in the beginning. And I start read plot summaries instead on wikipedia because that's about the attention span I can handle.&lt;/p&gt;
&lt;p&gt;Of course, this could also be a memory problem.&lt;/p&gt;
&lt;p&gt;Concentration are related to boredom. If I can't concentrate on doing one thing, and keep getting distracted by thoughts that appear to be more interesting, of course I found what I'm doing bored.&lt;/p&gt;
&lt;p&gt;What about math? I do find it boring to read textbooks. I'm glad in math, you read and understand a few sentences, the rest can be done by pure thought experiments. In high school, I come up with formulas and solutions during the exam.&lt;br /&gt;
So is the CS classes I took in college, it's ALL theory classes. It's not that I have read a lot more texts, I just remember some points and try to figure things out in small chunks when I'm reading texts on how language unite people during ESL classes. Wow, epic distractions.&lt;/p&gt;
&lt;p&gt;I can't just do thought experiment and suddenly knows what happens in 1800's art culture. These are the kind of knowledge where I must gather though intense text intakes. Not able to concentrate greatly decreases my desire to know.&lt;/p&gt;
&lt;p&gt;I never thought this was a problem at all. I thought it applies to everyone. The idea of "learning is not easy" circles around. Then I went to college and see people crunch though dense texts(they don't even like) like nothing. Hearing someone complete John Hull's Options, Futures, and Other Derivatives in a week. (she got a phd in physics from caltech, so this is not a good example of normal person, but it still affects me psychologically). Something must be wrong with me, or I'm just surrounded by people who are way too brilliant in feeding on knowledge(If that's true then I must be a elitist who only make friends with really brilliant people... not a good thing either).&lt;/p&gt;
&lt;p&gt;During the summer research, I have even more doubts in my ability. I can code fast, grasp new concepts really quickly and work hard enough that my mentor want me to intern with him during this fall. Except I can't learn well because I can't concentrate. You will see me moving in and out from the office 5 times more frequent than the other 2 people in my room combined. I observe the differences between me and the other researcher, they are not easily distracted. I even get distracted by my own thought during group meetings. It's not they are knowledgeably septate them from me, it's the power to concentrate.&lt;/p&gt;
&lt;p&gt;This remind me how the year before, I have hard time reading a book on radiation detection. The mind slips I walks into makes learning a dense topic almost impossible.&lt;/p&gt;
&lt;p&gt;During coding I always miss some small stuff, it's hard to write a program that compiles the first time(usually I need to compile k/10 times to make it work, where k is the amount of lines). Finding mistake in my own code is difficult because I always forget my definition of the variable(like what is this variable v correspond to?). People who do programming competitions totally owns me in this category. IDK if I'm better than a normal programmer.&lt;/p&gt;
&lt;p&gt;I can IM with someone and forgot I'm IMing someone and start doing something else. Usually it's when I receive a message, and forgot to turn to the window right away, and forgets about it. That certainly get people mad. Later I developed the skill to switch between tasks periodically as soon as a task become non urgent. It greatly decreases my response time, but still, not good enough. This is the reason I decided to stopped using all IM systems a few days ago. Back to good old email.&lt;/p&gt;
&lt;p&gt;If it is indeed true that I had ADHD all my life, then I can change for the better. To make myself having the power or a normal human! How awesome is that? The power of owning GRE and get into a good graduate school. mmmmm, normal human ability rocks.&lt;/p&gt;
&lt;p&gt;Get diagnosed by doctors in China is cheaper than the US. Hmmmm...&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ym97S7qUmS6mI0LOelCiotBlfFk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ym97S7qUmS6mI0LOelCiotBlfFk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ym97S7qUmS6mI0LOelCiotBlfFk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ym97S7qUmS6mI0LOelCiotBlfFk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YqZLzzL0YeMy893JQObTEvR3X94/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YqZLzzL0YeMy893JQObTEvR3X94/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YqZLzzL0YeMy893JQObTEvR3X94/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YqZLzzL0YeMy893JQObTEvR3X94/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mgcclblog/~4/nVdxsAWBTQk" height="1" width="1"/&gt;</description>
 <comments>http://mgccl.com/2010/07/19/i-might-have-adhd-all-my-life#comments</comments>
 <category domain="http://mgccl.com/taxonomy/term/559">ADHD</category>
 <pubDate>Mon, 19 Jul 2010 05:54:19 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1162 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2010/07/19/i-might-have-adhd-all-my-life</feedburner:origLink><feedburner:origLink>http://feedproxy.google.com/~r/mgccl/~3/c9CDv0hdN9Y/i-might-have-adhd-all-my-life</feedburner:origLink></item>
<item>
 <title>I need a new design for this site</title>
 <link>http://feedproxy.google.com/~r/mgcclblog/~3/kzEpJYNwvy8/i-need-a-new-design-for-this-site</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;After using Elinks on &lt;a href="http://acm.pku.edu.cn/JudgeOnline/"&gt;POJ&lt;/a&gt;. I'm very amazed with how POJ turned out. It looks super elegant!&lt;br /&gt;
See the &lt;a href="http://mgccl.com/plogger/images/blog/general/elinkspoj.png"&gt;image here&lt;/a&gt;&lt;br /&gt;
I think simplicity is the key to design.&lt;br /&gt;
I'm no designer, but I would be perfectly happy if every website can be accessed in elinks style I showed.&lt;br /&gt;
So what should the style look like?&lt;br /&gt;
Everything have the same fixed size font. It's possible to have bold fonts for strong characters or something. At most 16 colors can be used. Too many colors doesn't help bring up the contents.&lt;br /&gt;
Minimum CSS for layout. In fact, there should only be layout for simple positions. It should have 1 column layout because it's awesome.&lt;br /&gt;
What about sidebars? you might ask.&lt;br /&gt;
Sidebar is overrated. When is the last time I looked at the sidebar? If one need to see list of recent comments, recent blog post and stuff, they should go to a special page that show stuff like this. Most sidebar items are not useful content at all.&lt;/p&gt;
&lt;p&gt;Adapting the unix philosophy on content presentation.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;"Write a site that show one thing and show it well"&lt;/p&gt;&lt;/blockquote&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/n8NARQPEaoxI-JcuEaNo_dZFy4k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n8NARQPEaoxI-JcuEaNo_dZFy4k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/n8NARQPEaoxI-JcuEaNo_dZFy4k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n8NARQPEaoxI-JcuEaNo_dZFy4k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JoAuOJYo2Z6EXAw-KdvzNZrLHfI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JoAuOJYo2Z6EXAw-KdvzNZrLHfI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JoAuOJYo2Z6EXAw-KdvzNZrLHfI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JoAuOJYo2Z6EXAw-KdvzNZrLHfI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mgcclblog/~4/kzEpJYNwvy8" height="1" width="1"/&gt;</description>
 <comments>http://mgccl.com/2010/06/04/i-need-a-new-design-for-this-site#comments</comments>
 <category domain="http://mgccl.com/topics/idea">Idea</category>
 <pubDate>Fri, 04 Jun 2010 10:51:41 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1161 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2010/06/04/i-need-a-new-design-for-this-site</feedburner:origLink><feedburner:origLink>http://feedproxy.google.com/~r/mgccl/~3/qnf_CBoo484/i-need-a-new-design-for-this-site</feedburner:origLink></item>
<item>
 <title>Human Identification Number</title>
 <link>http://feedproxy.google.com/~r/mgcclblog/~3/dpApPa2X0Gs/human-identification-number</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;Many country have national identification number for their citizens(even non-citizens).&lt;br /&gt;
How about a universal human identification number?&lt;/p&gt;
&lt;p&gt;This number should be powerful(as powerful as SSN) and we can show it in the open. Not like SSN, no one can put them online.&lt;br /&gt;
Why can we put our AIM user name and other usernames online? Because the number itself isn't the only way to authenticate. There is a password too.&lt;/p&gt;
&lt;p&gt;We also need a government agency that authenticate if a person is who they claim to be.&lt;br /&gt;
Then it's possible to have 1 ID for EVERYTHING.&lt;/p&gt;
&lt;p&gt;There is a similar idea. OpenID.&lt;br /&gt;
How about, government create something similar to the OpenID and replace it completely.&lt;/p&gt;
&lt;p&gt;We can establish a world identification organization in the united nations... but hey, having a one world government, it be much easier to enforce rules.&lt;/p&gt;
&lt;p&gt;Human civilizations have developed for this many years, and there is no unified government yet. Humans, I am disappoint.&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lUJG1ozivoPcXf3VBx0JmIOq0G4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lUJG1ozivoPcXf3VBx0JmIOq0G4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lUJG1ozivoPcXf3VBx0JmIOq0G4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lUJG1ozivoPcXf3VBx0JmIOq0G4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cXWB8fM-Mwd9rr4ynBdrxwX2hYs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cXWB8fM-Mwd9rr4ynBdrxwX2hYs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cXWB8fM-Mwd9rr4ynBdrxwX2hYs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cXWB8fM-Mwd9rr4ynBdrxwX2hYs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mgcclblog/~4/dpApPa2X0Gs" height="1" width="1"/&gt;</description>
 <comments>http://mgccl.com/2010/05/24/human-identification-number#comments</comments>
 <category domain="http://mgccl.com/topics/random">Random</category>
 <pubDate>Tue, 25 May 2010 01:30:53 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1157 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2010/05/24/human-identification-number</feedburner:origLink><feedburner:origLink>http://feedproxy.google.com/~r/mgccl/~3/uEDR71T12Ho/human-identification-number</feedburner:origLink></item>
<item>
 <title>Course recommendations</title>
 <link>http://feedproxy.google.com/~r/mgcclblog/~3/LzLp1k9T9II/course-recommendations</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;I'm done with this semester, except the finals.&lt;br /&gt;
Computational geometry with Joe Mitchell(I doubt anyone else ever teach that class...)and any class with Skiena rocks.&lt;/p&gt;
&lt;p&gt;I took CSE 555, computational geometry this semester with Professor Mitchell.&lt;br /&gt;
It is the most interesting class I have taken in college.&lt;br /&gt;
It is not the most active in student-professor interactions, but the lecture is awesome enough to cover this flaw.&lt;/p&gt;
&lt;p&gt;The first time I met computational geometry is in 9th grade, where I borrowed(an older edition of) the textbook that was used in CSE 555, &lt;a href="http://www.amazon.com/gp/product/3642096816?ie=UTF8&amp;amp;tag=fighterempire-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=3642096816"&gt;Computational Geometry: Algorithms and Applications&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=fighterempire-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=3642096816" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;&lt;br /&gt;
. As a 9th grader, I found the book hard to understand. The only things I picked up were the existance of convex hulls. I returned the book to the library after a almost getting though the first 2 chapters.&lt;/p&gt;
&lt;p&gt;It is quite useful, as later in life, I have meet problems I know it is asking for the convex hull.&lt;/p&gt;
&lt;p&gt;I have learned so much in the course. Convex hulls, triangulation, point location, art gallery problem, voronoi, duality, double connected edge list, linear programming and more.&lt;/p&gt;
&lt;p&gt;I still can't implement a bug free program for any of the above topics, but this greatly decrease the amount of unknown unknowns to known unknowns. If one knows how to solve a problem, one can use tools made by other people to solve it. During competitions, this is not possible. Thus I have to still implement some of them.&lt;/p&gt;
&lt;p&gt;The power to reduce some problem into others made such a huge impact. This is demostrated in a lot of homeworks. Especially the one on linear programming. I especially liked this problem:&lt;br /&gt;
Given two set of points on the plane, does there exist a circle that seprate them?&lt;br /&gt;
This problem took me 6 hours. I came up with a very lame O(n log n) solution. It can be done in O(n) by converting this problem to a linear programming problem.&lt;/p&gt;
&lt;p&gt;I strongly encourage people take CSE 555, or CSE 355 if you want to undergraduate version.&lt;br /&gt;
CSE 555 is like taking Skiena's CSE 373, just more specialized in computational geometry problems.&lt;/p&gt;
&lt;p&gt;Skiena's CSE 373 is nice. I would enjoyed it much more if I know less algorithm materials. I actually got dynamic programming and other techniques in CSE 392 first. Then when it is explained in CSE 373, I already know them. He explain things really well. Especially turning other people's undecryptable rambling into something really clear.&lt;/p&gt;
&lt;p&gt;CSE 392 is a must if you are a newbie to competitive programming competition and knows little about algorithms. This is the course where I first learned backtracking.(I did backtracking in high school. I just never systematically thought about the backtracking idea). I also get the dynamic programming from 392.&lt;/p&gt;
&lt;p&gt;I regret taking AMS 311 without Mitchell. Ahh, if only Mitchell also taught AMS 311 this semester.&lt;/p&gt;
&lt;p&gt;Currently I'm drafting summer study plans for people, so they can become a good ACM-ICPC contestants if they put in the efforts. I'm looking back at what did I do such that I'm in the place I am now.&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EQtrtUMgqZoI2gB4xZIUnP6WKa0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EQtrtUMgqZoI2gB4xZIUnP6WKa0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EQtrtUMgqZoI2gB4xZIUnP6WKa0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EQtrtUMgqZoI2gB4xZIUnP6WKa0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ByFC515oem33UU173osAM72faqk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ByFC515oem33UU173osAM72faqk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ByFC515oem33UU173osAM72faqk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ByFC515oem33UU173osAM72faqk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mgcclblog/~4/LzLp1k9T9II" height="1" width="1"/&gt;</description>
 <comments>http://mgccl.com/2010/05/07/course-recommendations#comments</comments>
 <category domain="http://mgccl.com/taxonomy/term/474">Stony Brook</category>
 <pubDate>Fri, 07 May 2010 05:36:06 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1148 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2010/05/07/course-recommendations</feedburner:origLink><feedburner:origLink>http://feedproxy.google.com/~r/mgccl/~3/OLiI-RnDdLs/course-recommendations</feedburner:origLink></item>
<item>
 <title>Query a DAG with boolean constraints on reachability</title>
 <link>http://feedproxy.google.com/~r/mgcclblog/~3/lFd0OeMKlQI/query-a-dag-with-boolean-constraints-on-reachability</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;I came up with this problem when I was frantic about DAG based taxonomies.&lt;br /&gt;
I have the &lt;a href="http://stackoverflow.com/questions/2756716/search-a-dag-with-boolean-constraints-on-reachability"&gt;problem up on stackoverflow&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;How to do the following kind of queries efficiently.&lt;br /&gt;
The query syntax can be built up recursively(ha, CSE 541 at work).&lt;/p&gt;
&lt;p&gt;There are a few connectives&lt;br /&gt;
unary connectives: not, reachable&lt;br /&gt;
binary connectives: and, or&lt;br /&gt;
A query is a set of formulas constructed recursively where A and B are formulas, a is atom. Every atom is a formula.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a&lt;/li&gt;
&lt;li&gt;(not A)&lt;/li&gt;
&lt;li&gt;(reachable a)&lt;/li&gt;
&lt;li&gt;(A and B)&lt;/li&gt;
&lt;li&gt;(A or B)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For a DAG implemented as a adjacency list. We want to implement a procedure v(A), such that it evaluates the same as the following function f(A).&lt;br /&gt;
U is the set of all vertices.&lt;br /&gt;
Let R(a) = the set of all vertices reachable from a&lt;br /&gt;
Then the function f(A) such that&lt;br /&gt;
&lt;img src="http://mgccl.com/files/mathfilter/57e15425e9b86517872f324bf49d44e2f102717b.png" title="(not~A) = (U - f(A))" alt="(not~A) = (U - f(A))" /&gt;&lt;br /&gt;
&lt;img src="http://mgccl.com/files/mathfilter/abaa8b57ad70e4fe9846cf3f7d5c024eeb674398.png" title="(reachable~a) = R(a)" alt="(reachable~a) = R(a)" /&gt;&lt;br /&gt;
&lt;img src="http://mgccl.com/files/mathfilter/7924fa7848b91076ed2b561bbbc572524f1b7b3f.png" title="(A~and~B) = (f(A) \cap f(B))" alt="(A~and~B) = (f(A) \cap f(B))" /&gt;&lt;br /&gt;
&lt;img src="http://mgccl.com/files/mathfilter/d8ef8b3e4b9e2c4a782f7991f826149357e0e2c2.png" title="(A~or~B) = (f(A) \cup f(B))" alt="(A~or~B) = (f(A) \cup f(B))" /&gt;&lt;/p&gt;
&lt;p&gt;A possible expression would be &lt;img src="http://mgccl.com/files/mathfilter/c0170a583a1b32df4c1431be06fa8cb8c8dfc1c3.png" title="A = (((reachable~a)~and~(reachable~b~))~or~(not~(reachable~c)))" alt="A = (((reachable~a)~and~(reachable~b~))~or~(not~(reachable~c)))" /&gt;,&lt;br /&gt;
&lt;img src="http://mgccl.com/files/mathfilter/0f6ce931bd3cc09a0165d0eeb02d742f91d6185e.png" title="f(A) = ((R(a) \cap R(b)) \cup (U-R(c)))" alt="f(A) = ((R(a) \cap R(b)) \cup (U-R(c)))" /&gt;&lt;br /&gt;
A native implementation of &lt;img src="http://mgccl.com/files/mathfilter/11b5858b424ab18f8657e7a856b7da5dcc0f8ec0.png" title="f(A)" alt="f(A)" /&gt; itself is the procedure &lt;img src="http://mgccl.com/files/mathfilter/d7ec841933b1de53d1446cd1931bb02b6e96b83b.png" title="v(A)" alt="v(A)" /&gt; we want. A analysis we can see it can take &lt;img src="http://mgccl.com/files/mathfilter/13bb6bffa7751b06b51f0245f2c12ab4ce6dd6c5.png" title="O(ns+nr \log n)" alt="O(ns+nr \log n)" /&gt; time, where &lt;img src="http://mgccl.com/files/mathfilter/a0f1490a20d0211c997b44bc357e1972deab8ae3.png" title="s" alt="s" /&gt; is the amount of set connectives and &lt;img src="http://mgccl.com/files/mathfilter/4dc7c9ec434ed06502767136789763ec11d2c4b7.png" title="r" alt="r" /&gt; is the amount of reachable used.&lt;br /&gt;
&lt;img src="http://mgccl.com/files/mathfilter/1e93ecb51ddfa198a6a62985d9e5c007b23d1dbb.png" title="R(a)" alt="R(a)" /&gt; is &lt;img src="http://mgccl.com/files/mathfilter/5e7dae7c1838af7ba7570bdf02ff61029b043be6.png" title="O(n \log n)" alt="O(n \log n)" /&gt; with a DFS and sorted. The rest of the set function are &lt;img src="http://mgccl.com/files/mathfilter/ebc75cd71fe8ecc45d16e8fbe4ca608d05d1efe0.png" title="O(n)" alt="O(n)" /&gt; if &lt;img src="http://mgccl.com/files/mathfilter/1e93ecb51ddfa198a6a62985d9e5c007b23d1dbb.png" title="R(a)" alt="R(a)" /&gt; returns a sorted set.&lt;/p&gt;
&lt;p&gt;The question is does there exist a better approach such the complexity is lower? I can see there are lot of overlaps during the search. I have a feeling &lt;img src="http://mgccl.com/files/mathfilter/ba8a0340c4514d0023396dd9689521ee72d2b052.png" title="\Omega(n(s+r))" alt="\Omega(n(s+r))" /&gt; is the lower bound.&lt;br /&gt;
What if an auxiliary objects that take space &lt;img src="http://mgccl.com/files/mathfilter/1eb19fcfc5873ac1d44e4d58ddd8518a66a4491a.png" title="O(n+m)" alt="O(n+m)" /&gt; is allowed. How is that going to change the lower bound? m is the amount of edges.&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TFHuYodARhP9EV9QvCumbEXOmMk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TFHuYodARhP9EV9QvCumbEXOmMk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TFHuYodARhP9EV9QvCumbEXOmMk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TFHuYodARhP9EV9QvCumbEXOmMk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/B9WMzoiaIYfMXrQdZgC0QFpx7WU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/B9WMzoiaIYfMXrQdZgC0QFpx7WU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/B9WMzoiaIYfMXrQdZgC0QFpx7WU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/B9WMzoiaIYfMXrQdZgC0QFpx7WU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mgcclblog/~4/lFd0OeMKlQI" height="1" width="1"/&gt;</description>
 <comments>http://mgccl.com/2010/05/03/query-a-dag-with-boolean-constraints-on-reachability#comments</comments>
 <category domain="http://mgccl.com/taxonomy/term/526">Computer Science</category>
 <pubDate>Mon, 03 May 2010 23:19:39 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1146 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2010/05/03/query-a-dag-with-boolean-constraints-on-reachability</feedburner:origLink><feedburner:origLink>http://feedproxy.google.com/~r/mgccl/~3/79ZXoYrEEDI/query-a-dag-with-boolean-constraints-on-reachability</feedburner:origLink></item>
<item>
 <title>GConf problem, root partition too small</title>
 <link>http://feedproxy.google.com/~r/mgcclblog/~3/ZbFgTq7D12Y/gconf-problem-root-partition-too-small</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;Recently my box suddenly have problem with GConf.&lt;br /&gt;
In the end it having errors like &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Failed to spawn the configuration server (gconfd): Failed to contact configuration server; some possible causes are that you need to enable TCP/IP networking for ORBit, or you have stale NFS locks due to a system crash. See http://www.gnome.org/projects/gconf/ for information.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;There is a detail thing, saying error code 6 or something. I can't reproduce it because I have solved the problem.&lt;/p&gt;
&lt;p&gt;I tried everything online, Non of them worked, include delete .dbus, delete .gconf and .gconfd(which killed all my preferences, but that doesn't matter, I don't have that many anyways).&lt;br /&gt;
This took me hours and upon hours.&lt;/p&gt;
&lt;p&gt;So I was checking some logs and stuff, not exactly related to gconf, and found there is a line saying not enough disk space to create something.&lt;br /&gt;
I ran df, and my root partition is 0% free.&lt;/p&gt;
&lt;p&gt;I did "sudo pacman -Scc" and get root partition to 73% free.&lt;/p&gt;
&lt;p&gt;Reboot, the problem is gone.&lt;/p&gt;
&lt;p&gt;Next time I need to create a larger root partition. My home partition is only 2% used.&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KvVIURMyFr0pkk1g1xXYWxQ3LXc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KvVIURMyFr0pkk1g1xXYWxQ3LXc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KvVIURMyFr0pkk1g1xXYWxQ3LXc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KvVIURMyFr0pkk1g1xXYWxQ3LXc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6uIfYfaP8lWTgmYBT2YmY1bGFCg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6uIfYfaP8lWTgmYBT2YmY1bGFCg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6uIfYfaP8lWTgmYBT2YmY1bGFCg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6uIfYfaP8lWTgmYBT2YmY1bGFCg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mgcclblog/~4/ZbFgTq7D12Y" height="1" width="1"/&gt;</description>
 <comments>http://mgccl.com/2010/05/03/gconf-problem-root-partition-too-small#comments</comments>
 <pubDate>Mon, 03 May 2010 22:04:38 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1145 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2010/05/03/gconf-problem-root-partition-too-small</feedburner:origLink><feedburner:origLink>http://feedproxy.google.com/~r/mgccl/~3/iuoBPO8TwDg/gconf-problem-root-partition-too-small</feedburner:origLink></item>
</channel>
</rss>

