<?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>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/mgccl" /><feedburner:info uri="mgccl" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><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><item>
 <title>pdb development diary 1</title>
 <link>http://feedproxy.google.com/~r/mgccl/~3/ALq2ZO1R5J0/pdb-development-diary-1</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;Originally, my idea for the problem database is actually something stored in some common database system, and I create tools to access it easily.&lt;/p&gt;
&lt;p&gt;Later I found it's possible to store it like open source programs.&lt;/p&gt;
&lt;p&gt;There is no database, it's only a collection of links and a collection of standard interfaces.&lt;/p&gt;
&lt;p&gt;In fact, on the implementation side:&lt;br /&gt;
Each problem has it's own git repository, acting as a submodule of the problem database.  There is a supermodule with links to each git repository, with a basic set of meta data of each submodule to speed up basic operations.&lt;/p&gt;
&lt;p&gt;Then there will be a system indexing all the submodules, for searching purposes.&lt;/p&gt;
&lt;p&gt;Every user only need a git client to find the newest updates.&lt;/p&gt;
&lt;p&gt;Since each problem has it's own git repository, people who started the problem have complete control over who has permission to read/edit the problem.&lt;br /&gt;
This also means people can create their own set of problems. It's just another git repository.&lt;/p&gt;
&lt;p&gt;The question of storage has been solved.&lt;/p&gt;
&lt;p&gt;Now there is a need of some standards, like where should each piece of information be. I will try to figure out later. &lt;/p&gt;
&lt;p&gt;There are a few reasons bring open source development idea on contents not a good idea.&lt;br /&gt;
Most problems only need to be updated once. The convenience of problem creation matters a lot more than fast problem editing.&lt;/p&gt;
&lt;p&gt;My current design are not bad for editing, but creation of a problem manually is a nightmare.&lt;br /&gt;
A problem with nothing but a problem statement in latex requires:&lt;br /&gt;
First create a directory with the problem ID, move into it.&lt;br /&gt;
Then create a directory called "latex", move into it.&lt;br /&gt;
create a file called "problem_statement_0.tex", open it, put in the latex code required to generate the problem.&lt;br /&gt;
It becomes more difficult if there are other information of the problem that have to be stored in other ways.&lt;br /&gt;
Editing is super easy, open that file and edit it like it's a normal tex file.&lt;/p&gt;
&lt;p&gt;The other extreme is to aggregate all information and store it in a human editable JSON file. Editing it manually is not a simple task, one have to understand JSON and have the ability to escape strings.&lt;/p&gt;
&lt;p&gt;There is a way combine the best of both world, which is to create a user interface allow rapid problem creation. Which I did. I made a (horrible) interface that is good enough for me to get 5 years worth of Putnam problem in JSON format in less than 10 minutes. Then I wrote a program to convert JSON to the directory based form, which means it can be converted to git repositories really easy.&lt;/p&gt;
&lt;p&gt;I will release some kind of demo when I get all the Putnam problems + some IMO problems in. There need to be some amount of data for me to actually produce something interesting.&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/f0SOil3fOB_DdcuWY4NSWdpFm2E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f0SOil3fOB_DdcuWY4NSWdpFm2E/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/f0SOil3fOB_DdcuWY4NSWdpFm2E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f0SOil3fOB_DdcuWY4NSWdpFm2E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://mgccl.com/2009/03/16/pdb-development-diary-1#comments</comments>
 <category domain="http://mgccl.com/taxonomy/term/526">Computer Science</category>
 <category domain="http://mgccl.com/taxonomy/term/548">pdb</category>
 <pubDate>Tue, 16 Mar 2010 07:16:27 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1118 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2009/03/16/pdb-development-diary-1</feedburner:origLink></item>
<item>
 <title>I suck at calculus</title>
 <link>http://feedproxy.google.com/~r/mgccl/~3/PdlBYi0Yn-s/i-suck-at-calculus</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;Calculus are for engineering(especially physics related) students. I thought a Math/CS majors like me would never use calculus after the completion of the calculus sequence. I don't intend to learn calculus to the point that I can do integrals like my second nature.&lt;/p&gt;
&lt;p&gt;Then today I was doing AMS 311's HW 5. It requires immense calculus power. I wasn't aware of how much calculus was required for this course. Now it replaced CSE 541 as the hardest course ever.(CSE 541's midterm is pretty ez, in fact, I feel CSE 541 is really really ez now... as long as I understand the tower of definition and really long proofs)&lt;/p&gt;
&lt;p&gt;I should have seen it coming, it's a AMS classes that have to work with continuous functions. AMS don't use analysis to prove thing, they calculate stuff. Calculus is RIGHT THERE.&lt;/p&gt;
&lt;p&gt;This is not the first time I noticed how I suck at calculus.&lt;/p&gt;
&lt;p&gt;I never got calculus. so what if I got 9 in math placement because of the AP test. If I go and take a MAT 131 final right now I would surely fail.&lt;/p&gt;
&lt;p&gt;This lack of calculus skill have struck me at least 3 times since I'm in the university.&lt;/p&gt;
&lt;p&gt;1. While doing MAT 305, I found it's impossible to do some integrals without a table of integral around me. I also have to look up integration by parts.&lt;br /&gt;
2. People around me who are in calc 1 or calc 2 would ask me calc problems. and I can't answer them without help of mathematica. In fact, why ask me when one can use Wolfram Alpha? I can't provide any more insight than rephrase the question in a way a computer would understand.&lt;br /&gt;
3. During Putnam, I skipped any problem has differentiation or integration.&lt;/p&gt;
&lt;p&gt;I remember I was having breakfast last semester, and someone gave me this simple limit problem, and I can't solve it even when I have finished breakfast. What a disappointment, people believed I can do MAT 131 level problems because I was in more advanced math courses. No, I just do different kind of math.&lt;/p&gt;
&lt;p&gt;I'm sure I can improve my calculus problem solving technique to among the best by finish Demidovich's book of around 5000 calculus problems. I see no point in that though, since AMS 311 might be the last time I will ever really do calculus.&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/x9rMODMht1wf8Ng35s_kicyZe_Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/x9rMODMht1wf8Ng35s_kicyZe_Q/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/x9rMODMht1wf8Ng35s_kicyZe_Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/x9rMODMht1wf8Ng35s_kicyZe_Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://mgccl.com/2010/03/12/i-suck-at-calculus#comments</comments>
 <category domain="http://mgccl.com/topics/math">Math</category>
 <category domain="http://mgccl.com/topics/random">Random</category>
 <pubDate>Fri, 12 Mar 2010 09:46:59 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1115 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2010/03/12/i-suck-at-calculus</feedburner:origLink></item>
<item>
 <title>Web design and interface</title>
 <link>http://feedproxy.google.com/~r/mgccl/~3/aNm6G9k5zA8/web-design-and-interface</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;There are many different websites running on different themes.&lt;br /&gt;
Some websites have the same kind of sections, but presented in a different way.&lt;br /&gt;
For example, the navigation is on the right instead of left. Recent comment bar is showing on the bottom instead of top or w/e.&lt;br /&gt;
Each time I go on a website I have to get used to the interface.&lt;br /&gt;
If I'm only going to use this website once, it still take time to find information I need.&lt;/p&gt;
&lt;p&gt;Semantic web is nice. Because I can ignore all the web design, and apply my own set of templates on all of them.&lt;/p&gt;
&lt;p&gt;Semantic web NOW!&lt;/p&gt;
&lt;p&gt;I have to complain because I have nothing better to do. Now I'm happy and going back to study for the midterm.&lt;/p&gt;
&lt;p&gt;I wish I can get paid for complaining.&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WjIkeHcABFAnakc46QFskIh7YwE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WjIkeHcABFAnakc46QFskIh7YwE/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/WjIkeHcABFAnakc46QFskIh7YwE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WjIkeHcABFAnakc46QFskIh7YwE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://mgccl.com/2009/03/10/web-design-and-interface#comments</comments>
 <category domain="http://mgccl.com/topics/random">Random</category>
 <pubDate>Wed, 10 Mar 2010 22:26:58 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1114 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2009/03/10/web-design-and-interface</feedburner:origLink></item>
<item>
 <title>Random: Recording problems</title>
 <link>http://feedproxy.google.com/~r/mgccl/~3/TTFc7sm131o/random-recording-problems</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;I like to record the problems so I can use them in the future.&lt;br /&gt;
I like data to be portable. I should create some standard so I and possibility someone else can use to store problems for really easy manipulation later.(Minimal migration required).&lt;/p&gt;
&lt;p&gt;Currently I haven't developed the system I need to manipulate those data. There will be some function map each JSON file to a directory of files.(each resource is a file) Someone going to write it, likely me.&lt;br /&gt;
Problems can be recorded with JSON or XML. I prefer JSON.&lt;/p&gt;
&lt;p&gt;top level there are the field id, name, output and resources&lt;br /&gt;
where id is a unique string(here I use a 64bit integer in hex form).(btw I have this &lt;a href="http://mgccl.com/tools/rand64.php"&gt;64bit integer in hex&lt;/a&gt; script that generate it for you)&lt;br /&gt;
name is the name for the problem. In English or Romanization/translation of the name of the problem. &lt;/p&gt;
&lt;p&gt;Output is an array of objects, each have 4 fields: type, format, language, and out. Type can be "problem_statement, sample_in, sample_out, input, output" and others I can't think of.&lt;br /&gt;
format include any possible plain text output format that might be useful. I think "latex, html" are pretty much it for now. out is either a string or an array of strings.&lt;br /&gt;
Language is the language it is in. Seems reasonable.&lt;/p&gt;
&lt;p&gt;Resource field is there to store binary files. It's an dictionary of binary files. Currently I don't need it. It is possible to use it for the future.&lt;/p&gt;
&lt;p&gt;BTW JSON is a context free language.&lt;/p&gt;
&lt;div class="geshifilter"&gt;
&lt;pre class="javascript geshifilter-javascript" style="font-family:monospace;"&gt;&lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
    &lt;span style="color: #3366CC;"&gt;&amp;quot;id&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #3366CC;"&gt;&amp;quot;7455689cc5d35040&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
    &lt;span style="color: #3366CC;"&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #3366CC;"&gt;&amp;quot;Putnam and Beyond Problem 12&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
    &lt;span style="color: #3366CC;"&gt;&amp;quot;output&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;
        &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
            &lt;span style="color: #3366CC;"&gt;&amp;quot;type&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #3366CC;"&gt;&amp;quot;problem_statement&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
            &lt;span style="color: #3366CC;"&gt;&amp;quot;format&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #3366CC;"&gt;&amp;quot;latex&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
            &lt;span style="color: #3366CC;"&gt;&amp;quot;language&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #3366CC;"&gt;&amp;quot;English&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
            &lt;span style="color: #3366CC;"&gt;&amp;quot;out&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;
                &lt;span style="color: #3366CC;"&gt;&amp;quot;Prove that $|&lt;span style="color: #000099; font-weight: bold;"&gt;\\&lt;/span&gt;sin nx| &lt;span style="color: #000099; font-weight: bold;"&gt;\\&lt;/span&gt;leq n |&lt;span style="color: #000099; font-weight: bold;"&gt;\\&lt;/span&gt;sin x|$ for any real number $x$ and positive integer $n$.&amp;quot;&lt;/span&gt;
            &lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; 
        &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
        &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
            &lt;span style="color: #3366CC;"&gt;&amp;quot;type&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #3366CC;"&gt;&amp;quot;citation&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
            &lt;span style="color: #3366CC;"&gt;&amp;quot;format&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #3366CC;"&gt;&amp;quot;plain&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
            &lt;span style="color: #3366CC;"&gt;&amp;quot;language&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #3366CC;"&gt;&amp;quot;English&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt;
            &lt;span style="color: #3366CC;"&gt;&amp;quot;out&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;:&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;
                &lt;span style="color: #3366CC;"&gt;&amp;quot;Putnam and Beyond ISBN:9780387257655 p.6&amp;quot;&lt;/span&gt;
            &lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; 
        &lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt; 
    &lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt;
&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Nice.&lt;br /&gt;
Of course, it can be XML files.&lt;/p&gt;
&lt;p&gt;This will become useful later.&lt;br /&gt;
I'm keeping set of problems in some database. So I can keep a queue of problems I didn't figure out the first time by just record their ID's somewhere.&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fqTHLBJ67CKzjgt3Ds5cCa8ppJ0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fqTHLBJ67CKzjgt3Ds5cCa8ppJ0/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/fqTHLBJ67CKzjgt3Ds5cCa8ppJ0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fqTHLBJ67CKzjgt3Ds5cCa8ppJ0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://mgccl.com/2010/03/06/random-recording-problems#comments</comments>
 <category domain="http://mgccl.com/topics/idea">Idea</category>
 <pubDate>Sat, 06 Mar 2010 03:50:41 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1108 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2010/03/06/random-recording-problems</feedburner:origLink></item>
<item>
 <title>Idea: Interactive problem solving sessions on campus</title>
 <link>http://feedproxy.google.com/~r/mgccl/~3/batk4m62WGU/idea-interactive-problem-solving-sessions-on-campus</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;I found it boring to only solving problems by myself.&lt;/p&gt;
&lt;p&gt;Only a few classes I have attended have interactive problem solving sessions, those classes ROCKED.&lt;/p&gt;
&lt;p&gt;---List of problem solving sessions I had on campus--- ignore if you don't care---&lt;br /&gt;
CSE 150, I think this is the best course I have taken in my entire life. I assume this class is somewhat like classes in AwesomeMath or other math camps. Students engaged and anticipated in solving the problems.&lt;br /&gt;
CSE 350, especially the recitation, is similar to CSE 150.&lt;/p&gt;
&lt;p&gt;There are two other classes related to problem solving, but not that interactive.&lt;br /&gt;
CSE 392. Most of the thinking for the problems are done outside classroom. The class is basically explaining how someone solved it.&lt;br /&gt;
MAT 160. I been to the class only twice. It seems to be like: Do the hw, discuss how it is done. Instead of doing it in class. What's good about the class, is there are people who are enthusiastic about solving the problems.&lt;/p&gt;
&lt;p&gt;I expect to try MAT 260 and see how it works.&lt;/p&gt;
&lt;p&gt;Other than courses, there are 2 other places I had done some problem solving.&lt;br /&gt;
Math club. Last semester the preparation for Putnam, the clubbers have done some problems.&lt;br /&gt;
ACM practice was also similar.&lt;br /&gt;
--------------------end list---------------------&lt;/p&gt;
&lt;p&gt;I feel it's not enough. There is a lack of interactive problem solving sessions on campus. Won't it be nice if there is some club that meet sometimes every week and work on some problem collaboratively. Problems of math, computer science and physics nature. i.e. Union of math/cs/physics club and intersect it with problem solving.&lt;/p&gt;
&lt;p&gt;Some possible format.&lt;br /&gt;
ARML/HMMT team competition like.&lt;br /&gt;
People can organize them into smaller groups, working on a set of problems at a time.&lt;br /&gt;
Then people explain their ideas.&lt;/p&gt;
&lt;p&gt;Seminar like. Someone pick out some set of problem, and direct the flow of the solvers, ask for participation, until the problem get solved.(Similar to last semester's math club)&lt;/p&gt;
&lt;p&gt;Just putting the idea out there. I would totally come to events like this.&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wWy_MDEm9Aa5gBAsOjEsBAwq6zw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wWy_MDEm9Aa5gBAsOjEsBAwq6zw/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/wWy_MDEm9Aa5gBAsOjEsBAwq6zw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wWy_MDEm9Aa5gBAsOjEsBAwq6zw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://mgccl.com/2010/02/22/idea-interactive-problem-solving-sessions-on-campus#comments</comments>
 <category domain="http://mgccl.com/topics/idea">Idea</category>
 <category domain="http://mgccl.com/taxonomy/term/474">Stony Brook</category>
 <pubDate>Tue, 23 Feb 2010 05:02:57 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1100 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2010/02/22/idea-interactive-problem-solving-sessions-on-campus</feedburner:origLink></item>
<item>
 <title>Revision repositories and text backup</title>
 <link>http://feedproxy.google.com/~r/mgccl/~3/a7nTsG76zXY/github-and-text-backup</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;Instead of using cvs, svn, git just for large open source projects. It can be used as a personal system for backups of text files.(that include source codes to essays)&lt;/p&gt;
&lt;p&gt;Github gave each free user 300MB of space. Pretty nice. That should be enough for just storing texts, right?&lt;br /&gt;
It might be abusing the ToS a little. Github free should be used for free and open source projects. All the files one commit are open to everyone. Make sure only to back up things you allow others to see.&lt;/p&gt;
&lt;p&gt;Let's assume one doesn't store the end product the first time they commit their work. And each commit should only create a small change in the work. To be safe, let all the revisions of a file 2 times the size of the original file. Then we have 100MB of space.&lt;/p&gt;
&lt;p&gt;For some people, they use only ascii, thus 1 byte per characters. That would be 100 million characters.&lt;br /&gt;
I envy people who only know English, because they will never need to use any other language, thus live in ascii world happily. They never have to worry about charset, input method and some software might not support what ever they are going to type.&lt;br /&gt;
I digress.&lt;br /&gt;
Suppose someone use UTF in some of them. Then it need 50 million characters. Let's not consider them, just consider English and source codes.&lt;/p&gt;
&lt;p&gt;Is it possible to write 100 million characters in one's life time?&lt;br /&gt;
Sure.&lt;br /&gt;
If one type at the speed of one character per second on average over a period of 3 years, it will surpass the limit.&lt;/p&gt;
&lt;p&gt;Likely, that's not going to happen, especially if one use their brains before writing down anything. I use lots and lots of scrap papers. My notebooks are scrap papers. I only store information on the computer in electronic format.&lt;/p&gt;
&lt;p&gt;The source of all the hw I have done from last semester to now is 0.2MB. All the source I submitted to any online judge this semester is 0.025MB. Certainly I have written other stuff, like my blog posts. Those doesn't require back up because it's in my blog. Suppose those do require backup, I would believe it is less than 0.25MB.&lt;br /&gt;
Thus a total of around 0.5MB of original data was generated for a period of around 6 months.&lt;/p&gt;
&lt;p&gt;That means I can use github for backup for 100 years if my productivity stays the same.&lt;/p&gt;
&lt;p&gt;The amount of keystrokes I had was "6163302", last updated 2010/01/23.(I don't have a linux version yet :() It was on the computer that I use less often after college, but I would believe it contained at least 6 months of keystrokes. Even if all those keystrokes are realized, it is only a 6MB file.&lt;br /&gt;
Github is at least good enough for 10 years. At least I can use it until I start to earn money to pay for extra storage. COOL.&lt;/p&gt;
&lt;p&gt;If I got a new laptop, or I need to do something on someone else's computer. All I have to&lt;br /&gt;
do to sync is a few command line code. Nice.&lt;/p&gt;
&lt;p&gt;Some people did all their work in Word or w/e, where do they back them up? Google Docs. LaTeX gave me more freedom because LaTeX codes are plain texts. WIN. That's why I stopped using word. Except I dislike how kile don't have automatic spell check function yet.&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TwgXFfJdgNCAjstdtzGvVC8xdgg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TwgXFfJdgNCAjstdtzGvVC8xdgg/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/TwgXFfJdgNCAjstdtzGvVC8xdgg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TwgXFfJdgNCAjstdtzGvVC8xdgg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://mgccl.com/2010/02/12/github-and-text-backup#comments</comments>
 <category domain="http://mgccl.com/taxonomy/term/526">Computer Science</category>
 <category domain="http://mgccl.com/topics/idea">Idea</category>
 <pubDate>Fri, 12 Feb 2010 20:14:51 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1094 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2010/02/12/github-and-text-backup</feedburner:origLink></item>
<item>
 <title>How come I'm doing bad in AMS 311?</title>
 <link>http://feedproxy.google.com/~r/mgccl/~3/3zrblRBrkYU/how-come-i-m-doing-bad-in-ams-311</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;It should be in future tense, I was right on almost all problems on the last hw I submitted. Those are some classical counting problems.&lt;/p&gt;
&lt;p&gt;I'm dying from AMS 311 hw no.2(due tomorrow). I'm getting almost every single question wrong during the first attempt and require extensive amount of time to correct them in a period of 8 hours with help of various people(#math in freenode). I need to find a systematic way to deal with this when I find some time.&lt;/p&gt;
&lt;p&gt;It's still possible there are errors in my extensively corrected hw. &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
What's the probability of being dealt one pair from poker?(a,a,b,c,d. where a,b,c,d are distinct values)&lt;/p&gt;
&lt;p&gt;Seven balls randomly withdraw from an urn, find the probability that 3 red, 2 blue, and 2 green balls are withdrawn.&lt;/p&gt;
&lt;p&gt;Suppose that n balls are randomly distributed into N compartments. Find the probability that m balls will fall into the first compartment. Assume that all N^n arrangements are equally likely.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I got all those question wrong the first time I tried(and these just tip of the iceberg).&lt;/p&gt;
&lt;p&gt;They are suppose to be easy problems, it's hw problem from a introductory probability text.&lt;/p&gt;
&lt;p&gt;How can I not get it? I have no problem doing CSE 555 problems(although hard, but at least I don't get wrong answers). I can do &lt;a href="http://www.math.sunysb.edu/~tony/mat160-spr10/homework.html"&gt;MAT 160 problems&lt;/a&gt;(btw, they are interesting) with a reasonable amount of confidence. In my opinion those problems suppose to be way harder than the ones in AMS 311. &lt;/p&gt;
&lt;p&gt;There is something wrong with my counting skills. I can't count correctly. Inclusion exclusion principle and other counting principles are not what I didn't master. I always have stupid reasoning during counting.&lt;/p&gt;
&lt;p&gt;For example, for the balls and urn problem. I thought, there are 12 ways to chose the first red ball, 11 for 2nd red ball, 10 for 3rd red ball and etc. The probability would be &lt;img src="http://mgccl.com/files/mathfilter/7d5396f15474fc493df787cc3af7b15909f04a52.png" title="\frac{12\cdot 11 \cdot 10  \cdot 16  \cdot 15  \cdot 18  \cdot 17}{{46 \choose 7}}" alt="\frac{12\cdot 11 \cdot 10  \cdot 16  \cdot 15  \cdot 18  \cdot 17}{{46 \choose 7}}" /&gt;. At the moment I found it perfectly reasonable, then I did a calculation. WRONG, it's greater than 1.&lt;/p&gt;
&lt;p&gt;Then I realized it's &lt;img src="http://mgccl.com/files/mathfilter/b5d39deb42509f33ec1803bbb20ef3c391c1449f.png" title="\frac{{12 \choose 3}{16 \choose 2}{18 \choose 2}}{{46 \choose 7}}" alt="\frac{{12 \choose 3}{16 \choose 2}{18 \choose 2}}{{46 \choose 7}}" /&gt;&lt;br /&gt;
Interesting how I got the question just before the balls one correct the first attempt.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
A forest contain 20 elks, 5 are captured, tagged then released. Then 4 of the 20 elks are captured, what's the probability that 2 of these 4 have been tagged?
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;That question is almost isomorphic to the balls one. Why do I have a complete different set of reasoning for the 2 problems?&lt;/p&gt;
&lt;p&gt;I don't get it.&lt;br /&gt;
Do I not understand counting?&lt;/p&gt;
&lt;p&gt;What if when I did some probability wrong, but it is something smaller than 1? I will get the problem wrong and only realize it when I get my hw back.&lt;/p&gt;
&lt;p&gt;I feel like I will fail the first midterm.&lt;br /&gt;
Oh well, seems like I have to do every single problem in the textbook.&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bjXKOUWkPMaSViBFXEHRqYm2xOg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bjXKOUWkPMaSViBFXEHRqYm2xOg/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/bjXKOUWkPMaSViBFXEHRqYm2xOg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bjXKOUWkPMaSViBFXEHRqYm2xOg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://mgccl.com/2010/02/11/how-come-i-m-doing-bad-in-ams-311#comments</comments>
 <category domain="http://mgccl.com/taxonomy/term/474">Stony Brook</category>
 <pubDate>Fri, 12 Feb 2010 03:57:19 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1093 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2010/02/11/how-come-i-m-doing-bad-in-ams-311</feedburner:origLink></item>
<item>
 <title>I'm using Linux</title>
 <link>http://feedproxy.google.com/~r/mgccl/~3/O-BbOdVbHAs/i-m-using-linux</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;I have switched to Ubuntu for 2 days now. It's awesome, I'm using &lt;a href="http://awesome.naquadah.org/"&gt;awesome window manager&lt;/a&gt;. I'm more efficient than usual. I have got wireless to work(not manually), battery status to work, start up programs to work and more. It's a interesting experience.&lt;/p&gt;
&lt;p&gt;It's not the first time I used linux, but this is the first time my only machine is running Linux. So I have no way to get back to windows except on library machines.&lt;/p&gt;
&lt;p&gt;I shall get a new laptop this November and I will put Debian on it.&lt;/p&gt;
&lt;p&gt;I'm using bitlbee+irssi for IM. Meebo when I'm in the library.&lt;/p&gt;
&lt;p&gt;Currently I'm learning to use vi, and I just realized how to paste in urxvt. &lt;/p&gt;
&lt;p&gt;It still take me a few seconds to do some basic operations. If i do them often enough, I will get used to them.&lt;/p&gt;
&lt;p&gt;I'm using Texlive+Kile+graphviz+dot2tex for homeworks. I have already produced AMS 301 hw with directed and undirected graphs! Epic! Soon I will be able to create finite state machine diagrams in LaTeX and in pdf. When I graduate I will have every single hw I have ever written in PDF files! (although I have no idea what the questions are because I never record them, but looking though those work formatted is AWESOME.)&lt;/p&gt;
&lt;p&gt;I won't be using Chinese anytime soon. The input method for Chinese on windows system is much superior than the Linux version. I will wait till Google Pinyin have a Linux version.&lt;/p&gt;
&lt;p&gt;Something not awesome:&lt;br /&gt;
1. SBU access irc requires SSL.&lt;br /&gt;
2. Airnet pptp thing is not working. I can't be on IRC while I'm in the library and places.&lt;br /&gt;
3. I still use the mouse.&lt;br /&gt;
4. Stony Brook doesn't offer Linux version of Maple and Mathematica.&lt;/p&gt;
&lt;p&gt;I wish I can get k desktops and use &lt;a href="http://synergy2.sourceforge.net/"&gt;Synergy&lt;/a&gt; to connect them all together. I can even use different operating system at the same time. AWESOME.&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-LUuN9ywyWzjNFRewZm9JqqDEM4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-LUuN9ywyWzjNFRewZm9JqqDEM4/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/-LUuN9ywyWzjNFRewZm9JqqDEM4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-LUuN9ywyWzjNFRewZm9JqqDEM4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://mgccl.com/2010/01/31/i-m-using-linux#comments</comments>
 <category domain="http://mgccl.com/topics/linux">Linux</category>
 <pubDate>Sun, 31 Jan 2010 22:27:22 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1087 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2010/01/31/i-m-using-linux</feedburner:origLink></item>
<item>
 <title>Computation during sleep</title>
 <link>http://feedproxy.google.com/~r/mgccl/~3/G0CwGcqn4BQ/computation-during-sleep</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;I had a dream a few nights ago, where I was asked the problem 100/6 to the nearest integer. (I was buying moon cakes, 300 for 50 dollars. Yeah, very strange dream)&lt;br /&gt;
It was 17. In the dream there was no calculation at all, the answer just popped up.&lt;br /&gt;
I woke up, and did the calculation, it was correct.&lt;br /&gt;
So where does 17 come from? Did I calculated it subconsciously? I didn't know I can do subconscious calculations. Maybe it's my subconscious memory of some calculation I did a long long time ago.&lt;/p&gt;
&lt;p&gt;It could be just a random guess, because I'm sure the answer is between 10 and 20, and 11% chance getting it right.&lt;/p&gt;
&lt;p&gt;There are instances when I go to sleep, and dream of more complex problems and solve it. I usually feels like I solved the problem in the dream. When I wake up, I can only remember the important insight. There are times where those insights are correct, and helps me solve the problem.&lt;/p&gt;
&lt;p&gt;Do I do computation and math while I'm asleep? Or are those just random guesses that's incredibly lucky?&lt;/p&gt;
&lt;p&gt;I wonder if there are books related to this. Google search like computation sleep doesn't help.&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LUBE_tDRSZ2i4Su1TQdMmOP_m48/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LUBE_tDRSZ2i4Su1TQdMmOP_m48/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/LUBE_tDRSZ2i4Su1TQdMmOP_m48/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LUBE_tDRSZ2i4Su1TQdMmOP_m48/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://mgccl.com/2010/01/27/computation-during-sleep#comments</comments>
 <category domain="http://mgccl.com/topics/idea">Idea</category>
 <pubDate>Thu, 28 Jan 2010 03:12:24 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1084 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2010/01/27/computation-during-sleep</feedburner:origLink></item>
<item>
 <title>Idea: List 2.0</title>
 <link>http://feedproxy.google.com/~r/mgccl/~3/XD9bGm4Nhdw/idea-list-2-0</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;What's the most common type of document you update? I asked a few people, they say source codes. Ha, programmers.&lt;/p&gt;
&lt;p&gt;For me, it's just plain text files. More specifically, lists (or "tuples" if you like math) of simple strings with no structure at all.&lt;/p&gt;
&lt;p&gt;Lists are useful in many ways. It is SIMPLE. The only thing simpler would be a set of elements. Which is usually represented as a list anyway.&lt;/p&gt;
&lt;p&gt;I maintain lists like books I want to read, topics I want to learn, things I want to buy, etc. They are everywhere. Everytime I need to group any objects together, I use lists.&lt;br /&gt;
Of course, there can be lot of structure in the above examples. Like I can assign books with what topics it concerns(even if it's just strings, like I can write "mathematical analysis #math", that's how twitter people introduced structure in first place, since twitter is just a list of status), which can make it into a list of lists, or even graphs. That will be a completely different story and it's not a concern in this topic.&lt;/p&gt;
&lt;p&gt;Any structure beyond a set and one specific ordering is a overkill in my standards. In fact, most of the time I don't even consider the ordering of the list. Sometimes I just stumble upon a wikipedia article (currently, &lt;a href="http://en.wikipedia.org/wiki/Language_of_thought"&gt;Language of thought&lt;/a&gt;) and want to put it in a list known as "Concepts I have to remember".  Ordering comes helpful if I maintain a list like "What I did today"&lt;/p&gt;
&lt;p&gt;So I'm going to write some methods and features of a really cool list&lt;br /&gt;
Methods: suppose list is similar to ArrayList in java.&lt;br /&gt;
1. insert&lt;br /&gt;
insert a string to the list. optionally add where to insert it to.&lt;br /&gt;
2. search&lt;br /&gt;
find and list string match some criteria&lt;br /&gt;
3. delete&lt;br /&gt;
remove a string&lt;br /&gt;
4. update&lt;br /&gt;
update a specific item in the list&lt;/p&gt;
&lt;p&gt;That's all the operation there is, but it's possible to implement some features on top of it&lt;br /&gt;
1. Lists can be accessed anywhere&lt;br /&gt;
2. Lists can be edited anywhere, even by more than one person&lt;/p&gt;
&lt;p&gt;oh hey, that's all...&lt;br /&gt;
wait, I missed out something&lt;br /&gt;
3. Manage the list is extremely ez, and can be done by command line, most importantly. Updating the list should be so ez, that "too much effort" can never be the excuse to not write down a list. I heard from one of my friend who says he want to create a list of books to read, but too lazy to write it down. I assume he would like it more if he can add something to the list without delay. I sometimes want to record something down, and then I get discouraged when I realize I have to open a new file, write something, then save, then give the file a name. &lt;/p&gt;
&lt;p&gt;Hmm, with those creteria, one can make 500 different implmentations.&lt;br /&gt;
This sounds like &lt;a href="http://www.rememberthemilk.com"&gt;remember the milk&lt;/a&gt; but even simpler. To-Do and task lists are lists with chronological features. That make RTM too complicated for just lists.&lt;/p&gt;
&lt;p&gt;How do I maintain such lists? A few current simple options:&lt;br /&gt;
1. Use a text editor to edit the list. It's really simple. It's what I preferred before internet is widely available.&lt;br /&gt;
It is still inconvenient. I have to find the text file, and double click it, write something and save it. It doesn't allow collaboration&lt;br /&gt;
2. Use stuff like Google docs, evernotes and other online services for documents&lt;br /&gt;
Inconvenient.&lt;br /&gt;
3. &lt;a href="http://rad89.com/"&gt;FAST Command Line Database&lt;/a&gt;&lt;br /&gt;
Convenient for insert and search. Organizing the elements is a pain. Collaboration is possible if more than one person have permission to edit the file. It does what it suppose to do though, really convinent to insert and search.&lt;/p&gt;
&lt;p&gt;So if we build something like FAST, but data is stored elsewhere on the web(or the cloud), adding a few more features(deletion and updates), it be epic to use. We will see, seems like a ez project I shall do soon.&lt;/p&gt;
&lt;p&gt;Something like this would happen.&lt;br /&gt;
I set up a account and password, and I call command line window with some hotkey, then write stuff like&lt;br /&gt;
&lt;span class="geshifilter"&gt;&lt;code class="text geshifilter-text"&gt;l -a books Mathematical Analysis&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;
and press enter, it insert "Mathematical Analysis" into the list books&lt;/p&gt;
&lt;p&gt;Non-related rant: AMS 311 is full! I'm no.1 on the waiting list. I hope someone switch out.&lt;/p&gt;


 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/g8RI8WI6NpyursXRp04aKS9Qpbc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g8RI8WI6NpyursXRp04aKS9Qpbc/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/g8RI8WI6NpyursXRp04aKS9Qpbc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g8RI8WI6NpyursXRp04aKS9Qpbc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://mgccl.com/2010/01/22/idea-list-2-0#comments</comments>
 <category domain="http://mgccl.com/topics/idea">Idea</category>
 <pubDate>Fri, 22 Jan 2010 13:03:36 +0000</pubDate>
 <dc:creator>Mgccl</dc:creator>
 <guid isPermaLink="false">1081 at http://mgccl.com</guid>
<feedburner:origLink>http://mgccl.com/2010/01/22/idea-list-2-0</feedburner:origLink></item>
</channel>
</rss>
