<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3525774626759039680</id><updated>2011-12-30T15:33:02.673-08:00</updated><title type='text'>Angela at Rice</title><subtitle type='html'>The best kind of friend is the kind you can sit on a porch swing with, never say a word, and then walk away feeling like it was the best conversation you've ever had.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>53</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-4026230205324400887</id><published>2011-12-30T15:33:00.000-08:00</published><updated>2011-12-30T15:33:02.684-08:00</updated><title type='text'>读夏本记</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="color: black;"&gt;皋陶曰：‘都，亦行有九德，亦言其人有德，乃言曰：宽而栗、柔而立、愿而恭、乱而敬、扰而毅、直而温、简而廉、刚而塞、彊而义、彰厥有常，吉哉！’&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;br /&gt;&lt;/div&gt;皋陶&lt;span style="font-size: small;"&gt;&lt;span style="font-family: 宋体;"&gt;说：“行事需要有九种品德。从处理事情开始，要做到宽大而严密，柔和而能决断，诚恳而恭敬，具有才干而又严谨，和顺而坚毅，正直而温和，直率而又有操守，刚直而实在，倔强而又合乎道义。发扬并长期坚持下去，就能办好事情了。”&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: 宋体;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-4026230205324400887?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/4026230205324400887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=4026230205324400887' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/4026230205324400887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/4026230205324400887'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2011/12/blog-post_30.html' title='读夏本记'/><author><name>Angela Zhu</name><uri>http://www.blogger.com/profile/16436803606263253069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-7595126144169731499</id><published>2011-12-30T15:22:00.000-08:00</published><updated>2011-12-30T15:22:36.711-08:00</updated><title type='text'>读五帝本记</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;pre class="reply-text mb10" id="content-402911461"&gt;三皇：燧人氏、伏羲、神农氏&lt;/pre&gt;&lt;pre class="reply-text mb10" id="content-402911461"&gt;五帝：黄帝、颛顼(zhuanxu)、帝喾(ku)、唐尧、虞舜&amp;nbsp;&lt;/pre&gt;&lt;pre class="reply-text mb10" id="content-402911461" style="text-align: left;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="reply-text mb10" id="content-402911461" style="text-align: left;"&gt;燧人氏，是传说中发明钻木取火的人，这在先秦的古籍中已有记载。&amp;nbsp;&lt;/pre&gt;&lt;pre class="reply-text mb10" id="content-402911461" style="text-align: left;"&gt;伏羲氏，又称包牺氏、庖羲。据说他是个大发明家，对人民的贡献是很大的。“包牺氏始作八卦，以通神明之德，以类万物之情。”他还发明“结绳为网以渔”，造福于民。&amp;nbsp;&lt;/pre&gt;&lt;pre class="reply-text mb10" id="content-402911461" style="text-align: left;"&gt;神农氏，是传说中的炎帝。炎帝是中国的太阳神，又说他是农业之神，教民耕种，他还是医药之神，相传就是神农尝百草，创医学。传说神农死于试尝的毒草药。&amp;nbsp;&lt;/pre&gt;&lt;pre class="reply-text mb10" id="content-402911461" style="text-align: left;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="reply-text mb10" id="content-402911461" style="text-align: left;"&gt;黄帝，是传说中华夏民族的始祖。相传生于姬水，故以&lt;span style="color: red;"&gt;姬&lt;/span&gt;姓，居轩辕之丘，故号轩辕氏。国于有熊，亦称有熊氏。黄帝居于轩辕之丘，而娶于西陵之女，是为嫘祖为黄帝正妃，生二子，其后皆有天下：其一曰玄嚣，是为青阳，青阳降居江水；其二曰昌意，降居若水。昌意娶蜀山氏女，曰昌仆，生高阳，高阳有圣德焉。黄帝崩，葬桥山。其孙昌意之子高阳立，是为帝颛顼也。&amp;nbsp;&lt;/pre&gt;&lt;pre class="reply-text mb10" id="content-402911461" style="text-align: left;"&gt;颛顼，&lt;span style="color: red;"&gt;姬&lt;/span&gt;姓，是轩辕黄帝之孙，昌意之子，生于若水(今四川省渡口一带)，实居穷桑，七母女枢因感“瑶光”而生，十岁而佐少昊，二十而登帝位，初封高阳(今河北高阳县东)，都于帝丘(今濮阳县西南)。在位78年，寿98岁，号为高阳氏，列为五帝之一，是一位有文治之功的帝王。&amp;nbsp;&lt;/pre&gt;&lt;pre class="reply-text mb10" id="content-402911461" style="text-align: left;"&gt;帝喾(kù)，姓&lt;span style="color: red;"&gt;姬&lt;/span&gt;，是黄帝的曾孙，玄嚣之孙，父曰蟜极。帝喾有几个儿子在中国历史上也是很有名的。他的元妃姜原生了弃（即后稷），弃是周的始祖。次妃简狄生了契，契是商的祖先。次妃庆都生了尧，尧是历史上有名的圣贤之君、五帝之一。次妃常仪生了挚，挚继承了喾的帝位，九年后禅让给帝尧。&amp;nbsp;&lt;/pre&gt;&lt;pre class="reply-text mb10" id="content-402911461" style="text-align: left;"&gt;唐尧，姓&lt;span style="color: red;"&gt;尹祁&lt;/span&gt;，号放勋。因封于唐，故称唐尧。母为陈锋氏女庆都。&amp;nbsp;&lt;/pre&gt;&lt;pre class="reply-text mb10" id="content-402911461" style="text-align: left;"&gt;虞舜者，姓&lt;span style="color: red;"&gt;姬&lt;/span&gt;，名曰重华。重华父曰瞽叟，瞽叟父曰桥牛，桥牛父曰句望，句望父曰敬康，敬康父曰穷蝉，穷蝉父曰帝颛顼，颛顼父曰昌意：以至舜七世矣。自从穷蝉以至帝舜，皆微为庶人。&amp;nbsp;&lt;/pre&gt;&lt;pre class="reply-text mb10" id="content-402911461" style="text-align: left;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="reply-text mb10" id="content-402911461" style="text-align: left;"&gt;禹为夏，姓&lt;span style="color: red;"&gt;姒&lt;/span&gt;氏，禹父即治水无功的鲧。&lt;/pre&gt;&lt;pre class="reply-text mb10" id="content-402911461" style="text-align: left;"&gt;契为商，姓&lt;span style="color: red;"&gt;子&lt;/span&gt;氏。&lt;/pre&gt;&lt;pre class="reply-text mb10" id="content-402911461" style="text-align: left;"&gt;弃为周，姓&lt;span style="color: red;"&gt;姬&lt;/span&gt;氏。 &lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-7595126144169731499?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/7595126144169731499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=7595126144169731499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/7595126144169731499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/7595126144169731499'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2011/12/blog-post.html' title='读五帝本记'/><author><name>Angela Zhu</name><uri>http://www.blogger.com/profile/16436803606263253069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-8276137506213618465</id><published>2011-12-14T11:29:00.000-08:00</published><updated>2011-12-14T11:29:00.328-08:00</updated><title type='text'>About Orthologous Groups</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt; &lt;strong&gt;InParanoid&lt;/strong&gt; focuses on pairwise ortholog relationships. &lt;strong&gt;OrthoDB&lt;/strong&gt;  appreciates that the orthology concept is relative to different  speciation points by providing a hierarchy of orthologs along the  species tree. Other databases that provide eukaryotic orthologs include&amp;nbsp;&lt;strong&gt;OrthoMaM&lt;/strong&gt; for mammals, &lt;strong&gt;OrthologID&lt;/strong&gt; and &lt;strong&gt;GreenPhylDB&lt;/strong&gt; for plants. &lt;strong&gt;OrthoMCL&lt;/strong&gt; has bacteria but old and incomplete.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Tree-based phylogenetic approaches aim to distinguish speciation from  gene duplication events by comparing gene trees with species trees, as  implemented in resources such as TreeFam and LOFT. A third category of  hybrid approaches uses both heuristic and phylogenetic methods to  construct clusters and determine trees, for example &lt;strong&gt;Ortholuge , EnsemblCompara GeneTrees and HomoloGene .&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Orthology and paralogy, as originally defined by Fitch, are both evolutionary concepts. This is, orthologous genes are homologous sequences that started to diverge through a speciation event (the same with paralogs and duplication events). Consequently, the better you can approximate the evolution of such sequences, the better your orthology predictions will be.&lt;br /&gt;In this respect, phylogenetic reconstruction is expected to provide you with the best evolutionary view. Therefore, by analyzing the phylogenetic trees (i.e. using tree reconciliation algorithms) it is possible to derive a collection of fine-grained predictions of all orthology relationship among sequences.&lt;br /&gt;However, reconstructing gene phylogenies using the most modern and accurate methods is computationally very intensive (and they are not free of artifacts). As a consequence, this approach is prevented of being used at large scale if you do not count with enough computational power. Generally speaking, if your species of interest are available as precomputed predictions in any phylogeny-based database, is good to try. Otherwise, you can move to alternative methods based on pairwise sequence comparisons. These methods are faster and can usually cope with larger amounts of data.&lt;br /&gt;There is also a third independent alternative that consist of inferring the evolution of genes (and therefore their relationships) based on other genomic features rather than their coding sequence. For instance, the &lt;a href="http://wolfe.gen.tcd.ie/ygob/" rel="nofollow"&gt;YGOB&lt;/a&gt; database can be used to obtain orthology and paralogy predictions based on the gene order conservation among several species. This approach is usually considered as very reliable, and sometimes it is used as a golden-set for benchmarks.&lt;br /&gt;&lt;strong&gt;Phylogeny-based&lt;/strong&gt; analysis will be better choice if (among other reasons):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;you are trying to predict orthology for a very intricate gene family, including many duplications, gene losses, etc.&lt;/li&gt;&lt;li&gt;you need a fine-grained distinction among, many-to-many, one-to-many and one-to-one relationships.&lt;/li&gt;&lt;li&gt;you need orthology and paralogy predictions among many species at the same time.&lt;/li&gt;&lt;li&gt;you want to know about gene losses.&lt;/li&gt;&lt;/ul&gt;-&lt;em&gt;Note that phylogenetic trees are not perfect. They are not free  of artifacts and they can lead (as other methods) to wrong predictions  in the case of lineage sorting or horizontal gene transfer.&lt;/em&gt;-&lt;br /&gt;&lt;strong&gt;Blast-based methods&lt;/strong&gt; are much faster and provide good results. There are many tools that you can use to generate your own predictions. You will need to decide among them by considering their limitations and specific scope. For instance,&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Do you need a very fast approach to find pairs of orthologs in many species? (Best Reciprocal Hits)&lt;/li&gt;&lt;li&gt;Is it crucial to differentiate one-to-one orthologs from sequences with in-paralogs? (InParanoid, COG, etc.)&lt;/li&gt;&lt;li&gt;Do you need cross relationships among more than two species? (MultiParanoid, orthoMCL) &lt;/li&gt;&lt;/ul&gt;-&lt;em&gt;Note that many of these tools also provide precomputed data.&lt;/em&gt;-&lt;br /&gt;&lt;h2&gt;An incomplete summary of resources:&lt;/h2&gt;&lt;em&gt;(with special focus on phylogenetic based predictions)&lt;/em&gt;&lt;br /&gt;&lt;h3&gt;Phylogeny based methods&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="http://orthology.phylomedb.org/" rel="nofollow"&gt;MetaPhOrs&lt;/a&gt;&lt;/strong&gt; (precomputed data): It combines predictions from many different databases and provide a consistency score for each orthology relationship. Useful to find highly reliable predictions. Data can be browsed interactively or downloaded from an FTP sever. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="http://ensembl.org/" rel="nofollow"&gt;EnsemblCompara&lt;/a&gt;&lt;/strong&gt; (precomputed data): Phylogeny based orthology and paralogy predictions. Ensembl bases its predictions in the analysis of gene family trees reconstructed using TreeBest (PhyML with fixed evolutionary model, DNA and protein analysis, slighted guided trees for better tree reconciliation). &lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="http://phylomedb.org/" rel="nofollow"&gt;PhylomeDB&lt;/a&gt;&lt;/strong&gt; (precomputed data): It bases its predictions in a per-gene phylogenetic analysis (PhylML testing several evolutionary models and alignment timing and optimization).  Note that, while Ensembl is a general purpose database, PhylomeDB is organized in "phylomes", which are genome wide collections of trees whose taxon sampling and analysis design is usually hypothesis driven. From the publication on Metaphors, PhylomeDB uses Metaphors to measure the reliability of their phylome-based predictions.&lt;br /&gt;In general terms, Both Ensembl and phylomeDB tend to benchmark very similar (with good results) and they provide convenient API access to the DB and FTP downloads.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="http://treefam.org/" rel="nofollow"&gt;TreeFam&lt;/a&gt;&lt;/strong&gt; (precomputed data): Similar to EnsemblCompara but it includes a set of manually curated trees. It seems to be discontinued, latest release dates from Feb 2009.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="http://phylofacts.berkeley.edu/orthologs/" rel="nofollow"&gt;PHOG&lt;/a&gt;&lt;/strong&gt;, analysis of precomputed phylogenies using a slightly different method.  &lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Blast-based approaches&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="http://inparanoid.sbc.su.se/" rel="nofollow"&gt;Inparanoid&lt;/a&gt;&lt;/strong&gt; (precomputed data and standalone application): Predictions between pairs of species. It accounts for one-to-many and many-to-many relationships.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="http://eggnog.embl.de/" rel="nofollow"&gt;EggNOG&lt;/a&gt; (~COG)&lt;/strong&gt; (precomputed data): Comprehensive catalog (630 species, including bacteria and archaea) of functionally annotated orthologs groups. An all-against-all blast comparison is used to build the orthologs groups. It accounts for in-paralogs.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="http://www.orthomcl.org/" rel="nofollow"&gt;OrthoMCL&lt;/a&gt;, &lt;a href="http://multiparanoid.sbc.su.se/" rel="nofollow"&gt;MultiParanoid&lt;/a&gt;&lt;/strong&gt;: Extensions of the previous methods. They add the possibility of generate predictions of several species at the same time.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Best Reciprocal hits (BRH)&lt;/strong&gt;: The simplest method. Still very useful when only the best orthologus pairs between two species are required. &lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Some benchmarks (among others)&lt;/h2&gt;&lt;a href="http://www.plosone.org/article/info:doi/10.1371/journal.pone.0018755" rel="nofollow"&gt;http://www.plosone.org/article/info:doi/10.1371/journal.pone.0018755&lt;/a&gt;&lt;br /&gt;&lt;a href="http://genomebiology.com/2007/8/6/R109" rel="nofollow"&gt;http://genomebiology.com/2007/8/6/R109&lt;/a&gt; (figure 4)&lt;br /&gt;&lt;a href="http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1838432/" rel="nofollow"&gt;http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1838432/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://nar.oxfordjournals.org/content/37/suppl_2/W84.full" rel="nofollow"&gt;http://nar.oxfordjournals.org/content/37/suppl_2/W84.full&lt;/a&gt; (Figure 1)&lt;br /&gt;&lt;a href="http://nar.oxfordjournals.org/content/early/2010/12/11/nar.gkq953.full" rel="nofollow"&gt;http://nar.oxfordjournals.org/content/early/2010/12/11/nar.gkq953.full&lt;/a&gt; (Figure 3)&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="votecell"&gt;&lt;div class="vote"&gt;&lt;span class="vote-count-post"&gt;&lt;/span&gt;          &lt;br /&gt;&lt;/div&gt;&lt;/td&gt;         &lt;td&gt;             &lt;div class="post-text"&gt;Some comments&lt;br /&gt;1) Definition of orthologs. Fitch's definition is the most widely  accepted. IMO, it is also more precise and evolutionarily meaningful  than the several alternatives. If you want to find orthologs, go for  databases using such a definition (e.g. Ensembl, TreeFam and  InParanoid).&lt;br /&gt;2) In general, I prefer tree-based method, especially for mammalians  and perhaps also vertebrates. With a tree you can visually tell if the  inference makes sense, which is a huge advantage. Another advantage of  tree-based methods over pairwise methods is that tree-based methods  produce consistent results across species. For example, say A is a 1:1  ortholog of B and B is a 1:1 ortholog of C. In principle, A is a 1:1  ortholog to C (not true if not 1:1), but a pairwise method cannot always  guarantee this.&lt;br /&gt;3) However, tree-based methods are not necessarily better than other  methods. Reconstructing trees is very difficult. It is quite possible to  come up with a purely heuristic method to achieve better results.&lt;br /&gt;4) For tree-based methods, it is important to build gene trees  considering species tree, or try to fix the tree topology with the  species tree as sort of a prior. Blindly building a gene tree (even  using the best algorithm) and then do the standard reconciliation will  give very bad inference.&lt;br /&gt;5) Tree-based methods do not work well for bacteria due to the lack  of a good species tree and LGT/HGT. LGT very rarely, if ever, happens to  mammalians.&lt;br /&gt;6) For mammalians, nucleotide trees tend to reflect the true  evolution in comparison to protein trees. A paper is arguing a protein  guided nucleotide alignment is the best for building trees. This is also  my experiences. Ensembl/TreeFam are using that.&lt;br /&gt;7) For primates and rodents, EnsemblCompara is probably the best  choice. It may not be the most accurate, but should be good enough for  most purposes. I usually do not like to take the results by combining  predictions. It is good for method comparison, but leads to various  artifacts that are hard to understand.&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;cited from http://biostar.stackexchange.com/questions/7591/what-is-the-best-method-to-find-orthologous-genes-of-a-species &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-8276137506213618465?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/8276137506213618465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=8276137506213618465' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/8276137506213618465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/8276137506213618465'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2011/12/about-orthologous-groups.html' title='About Orthologous Groups'/><author><name>Angela Zhu</name><uri>http://www.blogger.com/profile/16436803606263253069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-7993917419819874955</id><published>2011-12-12T15:05:00.000-08:00</published><updated>2011-12-12T15:05:09.393-08:00</updated><title type='text'>How to password protect a website folder</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;create a .htaccess file inside the  directory  you  want protected.  You can use either the vi or pico editors on the supported  systems mentioned above or ftp the file to this directory.  If you are  new to unix or know little about vi then I suggest you  use  the  pico editor  or  ftp  the .htaccess file.  The command to edit with pico is "pico .htaccess".  The .htaccess file  should  contain  the  following lines.   The  items  in &lt;b&gt;bold&lt;/b&gt; are things you will want to change depending on the location of the AuthUserFile   and  content of AuthName.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;AuthUserFile &lt;b&gt;/z/ric/secret/.htpasswd&lt;/b&gt;&lt;br /&gt;AuthGroupFile /dev/null&lt;br /&gt;AuthName &lt;b&gt;"Ric's protected files"&lt;/b&gt;&lt;br /&gt;AuthType Basic&lt;br /&gt;&lt;br /&gt;&lt;limit get=""&gt;&lt;br /&gt;require valid-user&lt;br /&gt;&lt;/limit&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;The &lt;b&gt;AuthName&lt;/b&gt; is what the user will see  when  they're  prompted for  a  password  - something to the effect of "Enter the username for Ric's Protected files".  The &lt;b&gt;AuthUserFile&lt;/b&gt; is  location  of  the password file and should be not accessible with a url on the server for  security reasons.&lt;br /&gt;&lt;br /&gt;First cd to the directory that contains the password  file.   In  this example  the password file is called .htpasswd and is in the directory /z/ric/secret/ as indicated by the AuthUserFile file entry  in the .htaccess file.  For every username you  want  to  add  to  the password  file,  enter  the  following.   (the -c is only required the first time; it  indicates  that  you  want  to  create  the  .htpasswd file).&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;cd&lt;br /&gt;   mkdir secret&lt;br /&gt;   cd secret&lt;br /&gt;   htpasswd -c &lt;b&gt;.htpasswd&lt;/b&gt; pumpkin&lt;br /&gt;     [ you're prompted for the password for pumpkin]&lt;br /&gt;     [ if you have other users enter the following. Don't use the -c]&lt;br /&gt;   htpasswd &lt;b&gt;.htpasswd&lt;/b&gt; user2&lt;br /&gt;   htpasswd &lt;b&gt;.htpasswd&lt;/b&gt; user3&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;[cited from: http://www.colostate.edu/~ric/htpass.html] &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-7993917419819874955?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/7993917419819874955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=7993917419819874955' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/7993917419819874955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/7993917419819874955'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2011/12/how-to-password-protect-website-folder.html' title='How to password protect a website folder'/><author><name>Angela Zhu</name><uri>http://www.blogger.com/profile/16436803606263253069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-764803168913364236</id><published>2011-08-30T11:34:00.000-07:00</published><updated>2011-08-30T11:34:52.837-07:00</updated><title type='text'>How to get Yeast information</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;(1) From DIP -&amp;gt; file, download ScereCR20041003.tab&lt;br /&gt;(2) Get all the edge informatio, with node identified in DIP&lt;br /&gt;(3) on UniProt, first convert DIP to UniProt AC, then convert to CYGD&lt;br /&gt;(4) get length information using CYGD from http://www.yeastgenome.org using batch download&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-764803168913364236?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/764803168913364236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=764803168913364236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/764803168913364236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/764803168913364236'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2011/08/how-to-get-yeast-information.html' title='How to get Yeast information'/><author><name>Angela Zhu</name><uri>http://www.blogger.com/profile/16436803606263253069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-8535096569171527387</id><published>2011-08-23T07:00:00.000-07:00</published><updated>2011-08-23T07:00:46.424-07:00</updated><title type='text'>绿茶和红茶的功效异同</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;pre class="reply-text mb10" id="best-answer-content"&gt;红茶内的茶多酚含量通常低于绿茶，而咖啡碱含量却高于绿茶，&lt;/pre&gt;&lt;pre class="reply-text mb10" id="best-answer-content"&gt;红茶偏温，在提神益思，消除疲劳，止泻温胃消食等功效强于绿茶；&lt;/pre&gt;&lt;pre class="reply-text mb10" id="best-answer-content"&gt;绿茶所含维生素C和叶酸的量比红茶多，绿茶编凉，&lt;/pre&gt;&lt;pre class="reply-text mb10" id="best-answer-content"&gt;在防治疾病，增强营养，消炎解毒等功效方面优于红茶。&lt;/pre&gt;&lt;pre class="reply-text mb10" id="best-answer-content"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="reply-text mb10" id="best-answer-content"&gt;&lt;/pre&gt;&lt;pre class="reply-text mb10" id="best-answer-content"&gt;茶是一个咖啡因的重要来源，每杯茶的咖啡因含量一般只有每杯咖啡的一半，&lt;/pre&gt;&lt;pre class="reply-text mb10" id="best-answer-content"&gt;这与制茶工艺有关。特定品种的茶，例如红茶和乌龙茶&lt;a class="mw-redirect" href="http://zh.wikipedia.org/wiki/%E9%9D%92%E8%8C%B6" title="青茶"&gt;&lt;/a&gt;，比其他茶的咖啡因含量高。&lt;/pre&gt;&lt;pre class="reply-text mb10" id="best-answer-content"&gt;茶含有少量的可可碱以及比咖啡略高的茶碱。&lt;/pre&gt;&lt;pre class="reply-text mb10" id="best-answer-content"&gt;茶的制作对于茶有很大影响，但是茶的颜色几乎不能指示咖啡因的含量&lt;sup class="reference" id="cite_ref-9"&gt;&lt;a href="http://zh.wikipedia.org/wiki/%E5%92%96%E5%95%A1%E5%9B%A0#cite_note-9"&gt;&lt;/a&gt;&lt;/sup&gt;。 &lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-8535096569171527387?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/8535096569171527387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=8535096569171527387' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/8535096569171527387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/8535096569171527387'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2011/08/blog-post.html' title='绿茶和红茶的功效异同'/><author><name>Angela Zhu</name><uri>http://www.blogger.com/profile/16436803606263253069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-404084890562358724</id><published>2011-08-13T08:37:00.000-07:00</published><updated>2011-08-15T07:19:51.344-07:00</updated><title type='text'>About Cheese</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;前一阵对各种cheese感兴趣，做了点小研究：&lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;Soft-fresh cheeses:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;cottage: 简单，温和，欧洲经典cheese之一，由造butter剩的milk生产。有各种样式，容易消化，高蛋白。保质期短，几天后长霉就不能吃了。最好冷藏。和ricotta(高脂), pot cheese(较干), fromage blanc(低脂), buttermilk cheese, yogurt cheese及tofu类似。&lt;/li&gt;&lt;li&gt;feta: 盐水浸过，原产希腊。传统的是由绵羊奶制成。现在多用牛奶。白色，坚实但易碎，有小洞和裂缝，味道强烈，富有咸味。&lt;/li&gt;&lt;li&gt;mascarpone: 是意大利甜点tiramisu和zabaglione的主要材料之一。非常软，蓬松。微酸，比较贵。原产意大利，名字来自西班牙语，意思“better than good”。&lt;/li&gt;&lt;li&gt;neufchatel: 味道和样子都和cream cheese很像，但是由milk而非cream制成。低脂，更湿润。易变质。用它做的cheesecake更易熟，易开裂。&lt;/li&gt;&lt;li&gt;ricotta: 原产意大利，由造mozzarella，provolone等qitacheese滤出的乳清制成，比cottage cheese较甜较滑，高钙。可以直接和水果一起吃，但是通常用于pasta dishes和甜点。美式版本加入了一些milk作为strecher。有低脂的。可用于cheesecake。易变质。&lt;/li&gt;&lt;li&gt;brocciu：乳清cheese，由山羊奶或绵羊奶制成，是lactose-rich的ricotta的替代品(lactose-free)。原产island of corsica。&lt;/li&gt;&lt;li&gt;chevre: goat cheese, 山羊奶制成。通常真空包装。内行通常倾向于paper-wrapped。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;queso blanco: 一种很受欢迎的西班牙cheese，常用于砂锅炖菜或bean dishes。加热后不易变形。也适合fry或grill。queso para freir比它更好一点。&lt;/li&gt;&lt;li&gt;queso fresco: 墨西哥人喜欢用于soup，salads，casseroles，bean dishes。加热时变软但是不融化。&lt;/li&gt;&lt;li&gt;cas: 罗马利亚cheese&lt;/li&gt;&lt;li&gt;urda: 罗马cheese&lt;/li&gt;&lt;li&gt;mizithra: 希腊cheese&lt;/li&gt;&lt;li&gt;geitost: 挪威cheese&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&amp;nbsp;semi-soft cheeses&lt;/li&gt;&lt;ul&gt;&lt;li&gt;mozzarella: 不多的几种煮久或高温也不变rubbery或出油的cheese之一。是pizza和casseroles的关键原料。非常stretchy。 &lt;/li&gt;&lt;/ul&gt;&lt;li&gt;hard cheese&lt;/li&gt;&lt;ul&gt;&lt;li&gt;romano: 意大利浓味硬干酪，磨碎调味&lt;/li&gt;&lt;li&gt;pecorino: 羊乳干酪&lt;/li&gt;&lt;li&gt;parmigiano-reggiano: 意大利帕玛森干酪&lt;/li&gt;&lt;li&gt;stilton: 英国蓝纹干酪&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-404084890562358724?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/404084890562358724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=404084890562358724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/404084890562358724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/404084890562358724'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2011/08/about-cheese.html' title='About Cheese'/><author><name>Angela Zhu</name><uri>http://www.blogger.com/profile/16436803606263253069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-2127630524197220044</id><published>2011-07-28T06:57:00.000-07:00</published><updated>2011-07-28T06:57:43.742-07:00</updated><title type='text'>SVN: delete folder and clean up the mess</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;To delete a folder:&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;student-107-dun20-186:src angelazhu$ svn delete --force genedup/&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then when you commit, you might get:&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;student-107-dun20-186:src angelazhu$ svn commitDeleting&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; src/genedup&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;svn: Commit failed (details follow):&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;svn: Item '/trunk/EvoGeneDup/src/genedup' is out of date&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;svn: Your commit message was left in a temporary file:&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;svn:&amp;nbsp;&amp;nbsp;&amp;nbsp; '/Users/angelazhu/svn/EvoGeneDup/svn-commit.tmp'&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;student-107-dun20-186:src angelazhu$ svn up genedup/&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; C genedup&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;At revision 223.&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Summary of conflicts:&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; Tree conflicts: 1&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;student-107-dun20-186:src angelazhu$ svn commit&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;svn: Commit failed (details follow):&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;svn: Aborting commit: '/Users/angelazhu/svn/EvoGeneDup/src/genedup' remains in conflict&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Now try:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;student-107-dun20-186:src angelazhu$ svn resolved genedup/&lt;br /&gt;Resolved conflicted state of 'genedup'&lt;br /&gt;student-107-dun20-186:src angelazhu$ svn ci genedup/ -m "obsolete"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And you will get:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;svn: The log message is a pathname (was -F intended?); use '--force-log' to override&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Try:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;student-107-dun20-186:src angelazhu$ svn ci genedup/ --force-log -m "obsolete" &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Done!&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Deleting&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; genedup&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; Committed revision 224.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-2127630524197220044?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/2127630524197220044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=2127630524197220044' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/2127630524197220044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/2127630524197220044'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2011/07/svn-delete-folder-and-clean-up-mess.html' title='SVN: delete folder and clean up the mess'/><author><name>Angela Zhu</name><uri>http://www.blogger.com/profile/16436803606263253069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-886702654157154795</id><published>2011-07-22T13:17:00.000-07:00</published><updated>2011-07-28T06:53:05.551-07:00</updated><title type='text'>Emacs encoding and load-path</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;(1) Emacs encoding:&lt;br /&gt;This is definitely the king of obscure Emacs key combinations. To change the encoding of an existing file, use &lt;tt&gt;C-x RET f &lt;i&gt;&lt;encoding&gt;&lt;/encoding&gt;&lt;/i&gt; RET&lt;/tt&gt;.&lt;br /&gt;Tab-completion works for the encoding. “utf-8″ is the one I use most often, but “unix” and “dos” are also useful.&lt;br /&gt;To make Emacs open files in UTF-8 per default, use the following snippet in .emacs:&lt;br /&gt;&lt;pre&gt;(setq locale-coding-system 'utf-8)&lt;br /&gt;(set-terminal-coding-system 'utf-8)&lt;br /&gt;(set-keyboard-coding-system 'utf-8)&lt;br /&gt;(set-selection-coding-system 'utf-8)&lt;br /&gt;(prefer-coding-system 'utf-8)&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;(2) Emacs load-path&lt;br /&gt;The load-path is just a list of places where Emacs looks when it needs&lt;br /&gt;to load something, not a list of places where it loads everything when&lt;br /&gt;you didn't tell it to. &amp;nbsp;Usually, you set up things by saying (autoload&lt;br /&gt;'foo-mode "foo") in the .emacs file. &amp;nbsp;Then when you call the function&lt;br /&gt;named foo-mode for the first time, emacs looks for "foo.el" in the&lt;br /&gt;load-path.&lt;br /&gt;Calling the function is done either by typing "M-x foo-mode" or typing&lt;br /&gt;a key combination that you set to 'foo-mode by define-key or&lt;br /&gt;set-local-key (see those functions' docs).&lt;br /&gt;So try to find out the function you're supposed to invoke, find out&lt;br /&gt;the name of the file containing its definition, and write an autoload&lt;br /&gt;entry. &amp;nbsp;Most packages will usually say either on its download page or&lt;br /&gt;in the beginning comments of the main file what autoload command to&lt;br /&gt;add to .emacs.&lt;br /&gt;If this still doesn't work, the last resort is to say (load "foo") in&lt;br /&gt;your .emacs; then every time Emacs starts up, it will look for foo.el&lt;br /&gt;in the load-path and load it. &amp;nbsp;This slows down startup though, so you&lt;br /&gt;should do it sparingly. &lt;br /&gt;&lt;pre&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-886702654157154795?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/886702654157154795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=886702654157154795' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/886702654157154795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/886702654157154795'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2011/07/something-useful-and-i-cite.html' title='Emacs encoding and load-path'/><author><name>Angela Zhu</name><uri>http://www.blogger.com/profile/16436803606263253069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-4135731038877351999</id><published>2010-11-17T10:54:00.000-08:00</published><updated>2010-11-17T15:54:53.844-08:00</updated><title type='text'>关于老公</title><content type='html'>老公永远搞不清哪个开关是哪个灯，每次都是噼里啪啦所有的都试一遍；&lt;br /&gt;老公永远搞不清钥匙往哪边拧是开门，哪边是关门，每次先试的总是错的一边；&lt;br /&gt;老公永远搞不清哪个抽屉是哪个，每次总是汀泞哐当所有的都拉了又关；&lt;br /&gt;可是老公能记得我喜欢什么，讨厌什么，害怕什么，想要什么。&lt;br /&gt;&lt;br /&gt;老公很容易受我影响，经常自觉不自觉地就学我的招牌动作和口头禅；&lt;br /&gt;但是我说的更多的是“你错了”，他却总说“我错了”。 &lt;br /&gt;知道我在等的时候就急急忙忙，等我的时候总说“不急不急”；&lt;br /&gt;我爱吃地就说吃不下了，我做的好不好吃都说“还是家里做的好吃”。&lt;br /&gt;&lt;br /&gt;可是正经事上老公却一点也不含糊。&lt;br /&gt;里里外外的大事没有什么让我操心的，我只管读书和做家务就好了。 &lt;br /&gt;可爱，又让人有依靠，再没什么让人可挑剔的了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-4135731038877351999?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/4135731038877351999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=4135731038877351999' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/4135731038877351999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/4135731038877351999'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2010/11/blog-post_17.html' title='关于老公'/><author><name>Angela Zhu</name><uri>http://www.blogger.com/profile/16436803606263253069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-1211548509306303592</id><published>2010-11-17T10:08:00.000-08:00</published><updated>2010-11-17T10:08:42.316-08:00</updated><title type='text'>【转载】俗话说……， 可俗话又说……</title><content type='html'>1、俗话说：好马不吃回头草；可俗话又说：浪子回头金不换！&lt;br /&gt;2、俗话说：兔子不吃窝边草；可俗话又说：近水楼台先得月!&lt;br /&gt;3、俗话说：宰相肚里能撑船；可俗话又说：有仇不报非君子!&lt;br /&gt;4、俗话说：男子汉大丈夫，宁死不屈；可俗话又说：男子汉大丈夫，能屈能伸!&lt;br /&gt;5、俗话说：打狗还得看主人；可俗话又说：杀鸡给猴看!&lt;br /&gt;6、俗话说：知无不言，言无不尽；可俗话又说：交浅勿言深，沉默是金!&lt;br /&gt;7、俗话说：车到山前必有路；可俗话又说：不撞南墙不回头!&lt;br /&gt;8、俗话说：人不犯我，我不犯人；可俗话又说：先下手为强，后下手遭殃!&lt;br /&gt;9、俗话说：礼轻情谊重；可俗话又说：礼多人不怪!&lt;br /&gt;10、俗话说：人多力量大；可俗话又说：人多嘴杂!&lt;br /&gt;11、俗话说：买卖不成仁义在；可俗话又说：亲兄弟，明算帐!&lt;br /&gt;12、俗话说：一个好汉三个帮；可俗话又说：靠人不如靠己!&lt;br /&gt;13、俗话说：人往高处走；可俗话又说：爬得高，摔得重!&lt;br /&gt;14、俗话说：一口唾沫一个钉；可俗话又说：人嘴两张皮，咋说咋有理!&lt;br /&gt;15、俗话说：知识要有产权；俗话又说：不分享心里不安!&lt;br /&gt;16、俗话说：亡羊补牢，未为迟也；可俗话又说：亡羊补牢，为时已晚！&lt;br /&gt;17、俗话说：瘦死的骆驼比马大；可俗话又说：拔了毛的凤凰不如鸡！&lt;br /&gt;18、俗话说：宁可玉碎，不能瓦全；可俗话又说：留得青山在，不怕没柴烧！　　&lt;br /&gt;19、俗话说：人不可貌相，海水不可斗量；可俗话又说：人靠衣裳马靠鞍！　　&lt;br /&gt;20、俗话说：浪子回头金不换；可俗话又说：狗改不了吃屎！&lt;br /&gt;21、俗话说：苦海无边，回头是岸；可俗话又说：开弓没有回头箭！&lt;br /&gt;22、俗话说：退一步海阔天空；可俗话又说：狭路相逢勇者胜！　　&lt;br /&gt;23、俗话说：三百六十行，行行出状元；可俗话又说：万般皆下品，唯有读书高！&lt;br /&gt;24、俗话说：书到用时方恨少；可俗话又说：百无一用是书生！　　&lt;br /&gt;25、俗话说：金钱不是万能的；可俗话又说：有钱能使鬼推磨！ 　　&lt;br /&gt;26、俗话说：天无绝人之路；可俗话又说：天网恢恢，疏而不漏！&lt;br /&gt;27、俗话说：出淤泥而不染；可俗话又说：近朱者赤，近墨者黑！ 　　&lt;br /&gt;28、俗话说：捉贼捉赃，捉奸捉双；可俗话又说：欲加之罪，何患无辞！　　&lt;br /&gt;29、俗话说：贫贱不能移！可俗话又说：人贫志短，马瘦毛长！　　&lt;br /&gt;30、俗话说：青取之于蓝而胜于蓝；可俗话又说：姜还是老的辣！&lt;br /&gt;31、俗话说：后生可畏；可俗话又说：嘴上无毛、办事不牢！&lt;br /&gt;32、俗话说：有缘千里来相会；可俗话又说：不是冤家不聚头！&lt;br /&gt;33、俗话说：在天愿作比翼鸟，在地愿为连理枝；可俗话又说：夫妻本是同林鸟，大难来时各自飞！&lt;br /&gt;34、俗话说：得饶人处且饶人；可俗话又说：纵虎归山，后患无穷！&lt;br /&gt;35、俗话说：善有善报，恶有恶报；话又说：人善被人欺，马善被人骑！&lt;br /&gt;36、俗话说：一分耕耘、一分收获；可俗话又说：人无横财不富、马无夜草不肥！&lt;br /&gt;37、俗话说：小心驶得万年船；可俗话又说：撑死胆大的，饿死胆小的！&lt;br /&gt;38、俗话说：量小非君子；可俗话又说：无毒不丈夫！&lt;br /&gt;39、俗话说：一寸光阴一寸金；可俗话又说：寸金难买寸光阴！　　&lt;br /&gt;40、俗话说：日久见人心；可俗话又说：人心隔肚皮！&lt;br /&gt;41、俗话说：光阴似箭；可俗话又说：度日如年！&lt;br /&gt;42、俗话说：己所不欲，勿施于人；可俗话又说：顺我者昌，逆我者亡！&lt;br /&gt;43、俗话说：邪不压正；可俗话又说：道高一尺，魔高一丈！&lt;br /&gt;44、俗话说：小不忍则乱大谋；可俗话又说：不蒸馒头蒸(争)口气！&lt;br /&gt;45、俗话说：人人为我，我为人人；可俗话又说：人不为己，天诛地灭！&lt;br /&gt;46、俗话说：不怕人不敬，就怕己不正；可俗话又说：众口烁金，积毁销骨！　　&lt;br /&gt;47、俗话说：三个臭皮匠，胜过诸葛亮；可俗话又说：一个和尚挑水喝，两个和尚抬水喝，三个和尚没水喝！ &lt;br /&gt;48、俗话说：不入虎穴，焉得虎子；可俗话又说：老虎屁股摸不得！　　&lt;br /&gt;49、俗话说：百事孝为先；可俗话又说：忠孝不能两全！&lt;br /&gt;50、俗话说：人无远虑，必有近忧；可俗话又说：今朝有酒今朝醉！&lt;br /&gt;51、俗话说：家事国事天下事，事事关心；可俗话又说：老婆孩子热炕头！&lt;br /&gt;52、俗话说：人定胜天；可俗话又说：天意难违！&lt;br /&gt;53、俗话说：愚公移山；可俗话又说：胳膊拧不过大腿！&lt;br /&gt;54、俗话说：哪里跌倒哪里爬起；可俗话又说：一失足成千古恨！&lt;br /&gt;55、俗话说：路不平有人铲，事不平有人管；可俗话又说：自家扫取门前雪，莫管他人屋上霜！ 　　&lt;br /&gt;56、俗话说：滴水之恩当涌泉相报！可俗话又说：过河拆桥、卸磨杀驴、兔死狗烹、鸟尽弓藏！&lt;br /&gt;57、俗话说：双喜临门；可俗话又说：福无双进，祸不单行！　　&lt;br /&gt;58、俗话说：人挪活，树挪死；可俗话又说：滚石不生苔，转业不生财！&lt;br /&gt;59、俗话说：嫁鸡随鸡，嫁狗随狗；可俗话又说：男怕选错行，女怕嫁错郎！&lt;br /&gt;60、俗话说：明人不做暗事；可俗话又说：兵不厌诈！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-1211548509306303592?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/1211548509306303592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=1211548509306303592' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/1211548509306303592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/1211548509306303592'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2010/11/blog-post.html' title='【转载】俗话说……， 可俗话又说……'/><author><name>Angela Zhu</name><uri>http://www.blogger.com/profile/16436803606263253069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-5947790810722716279</id><published>2010-10-18T11:43:00.000-07:00</published><updated>2010-10-18T11:43:21.958-07:00</updated><title type='text'>你现在所追求的，值得基督为它死么？</title><content type='html'>拿到MS学位后，在SLB工作了一年，在这一年里，经历了很多，也学会了很多。靠着神的保守和带领，很多生活和工作上的难处都一一过去了。因为性格里一贯的敏感和好强，更多时候比别人容易郁闷，起码在认识神以前，总是会为一些小事放不下或耿耿于怀。现在呢，慢慢好很多，尊着圣经的原则，努力去做神喜悦的事，也得到神的赐福，心里常常能有平安和喜乐。&lt;br /&gt;&lt;br /&gt;回到学校，便换了一种方式的压力。新的advisor人很nice，所以暂时还没有什么不适应。 上两周搬家，加上父母来visit，一直忙忙乱乱的。事情一多，脾气也不那么好，感觉偶尔为了些小事开始放不下。今天偶然看到以前自己blog上的一些引文，尤其是那句“你现在所追求的，值得基督为它死么？” 突然意识到很多不该在意的事自己太在意了。&lt;br /&gt;&lt;br /&gt;以后，在学校要做好自己的research，在家里做一个好妻子。全心全意地爱神，侍奉神。多读圣经，常常祷告，多关心周围的人。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-5947790810722716279?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/5947790810722716279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=5947790810722716279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/5947790810722716279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/5947790810722716279'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2010/10/blog-post.html' title='你现在所追求的，值得基督为它死么？'/><author><name>Angela Zhu</name><uri>http://www.blogger.com/profile/16436803606263253069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-5843707992449554927</id><published>2010-04-03T14:56:00.001-07:00</published><updated>2010-04-03T14:59:41.633-07:00</updated><title type='text'>世界上最远的距离</title><content type='html'>&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;摘自 泰戈尔《世界上最远的距离》&lt;/span&gt;&lt;br /&gt;&lt;div class="articalContent"&gt;&lt;span style="font-size: small;"&gt; &amp;nbsp;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;世界上最远的距离，不是生与死的距离，&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;而是我站在你面前，你不知道我爱你；&lt;/span&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;世界上最远的距离，不是我站在你面前，你不知道我爱你，&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;而是爱到痴迷却不能说我爱你；&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;世界上最远的距离，不是我不能说我爱你，&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;而是想你痛彻心脾，却只能深埋心底；&lt;/span&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;世界上最远的距离，不是我不能说我想你，&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;而是彼此相爱，却不能够在一起；&lt;/span&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;世界上最远的距离，不是彼此相爱却不能够在一起，&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;而是明知道真爱无敌却装作毫不在意；&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;世界上最远的距离，不是树与树的距离，&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;而是同根生长的树枝，却无法在风中相依；&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;世界上最远的距离，不是树枝无法相依，&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;而是相互了望的星星，却没有交汇的轨迹；&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;世界上最远的距离，不是星星之间的轨迹，&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;而是纵然轨迹交汇，却在转瞬间无处寻觅；&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;世界上最远的距离，不是瞬间便无处寻觅，&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;而是尚未相遇，便注定无法相聚；&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;span style="font-size: small;"&gt;世界上最远的距离，是鱼与飞鸟的距离，一个在天，一个却深潜海底。&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-5843707992449554927?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/5843707992449554927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=5843707992449554927' title='40 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/5843707992449554927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/5843707992449554927'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2010/04/blog-post.html' title='世界上最远的距离'/><author><name>Angela Zhu</name><uri>http://www.blogger.com/profile/16436803606263253069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>40</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-8275528974556197915</id><published>2009-04-22T17:44:00.000-07:00</published><updated>2009-04-25T05:45:51.086-07:00</updated><title type='text'>An important day!</title><content type='html'>Today, I successfully passed my MS thesis defense. ~~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-8275528974556197915?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/8275528974556197915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=8275528974556197915' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/8275528974556197915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/8275528974556197915'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2009/04/important-day.html' title='An important day!'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-4928437941174331152</id><published>2009-04-10T19:27:00.000-07:00</published><updated>2009-04-15T19:29:34.307-07:00</updated><title type='text'>We went to Austin!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_wc0wQsEWVEE/SeaX7mBxKzI/AAAAAAAABDM/aPNfj6eSh-0/s1600-h/IMG_9910.JPG"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_wc0wQsEWVEE/SeaX7mBxKzI/AAAAAAAABDM/aPNfj6eSh-0/s400/IMG_9910.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325110659488230194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_wc0wQsEWVEE/SeaXwlvocZI/AAAAAAAABDE/Vy1C2llu_MQ/s1600-h/IMG_3364.JPG"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_wc0wQsEWVEE/SeaXwlvocZI/AAAAAAAABDE/Vy1C2llu_MQ/s400/IMG_3364.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325110470433599890" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-4928437941174331152?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/4928437941174331152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=4928437941174331152' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/4928437941174331152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/4928437941174331152'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2009/04/we-went-to-austin.html' title='We went to Austin!'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_wc0wQsEWVEE/SeaX7mBxKzI/AAAAAAAABDM/aPNfj6eSh-0/s72-c/IMG_9910.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-4539967677152132845</id><published>2009-04-07T13:44:00.000-07:00</published><updated>2009-04-07T13:48:23.132-07:00</updated><title type='text'>OCaml file manipulation</title><content type='html'>&lt;span style="font-weight:bold;"&gt;The normal way of opening a file in OCaml returns a channel. There are two kinds of channels:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;channels that write to a file: type out_channel&lt;br /&gt;channels that read from a file: type in_channel&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Writing&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;For writing into a file, you would do this:&lt;br /&gt;1. Open the file to obtain an out_channel&lt;br /&gt;2. Write stuff to the channel&lt;br /&gt;3. If you want to force writing to the physical device, you must flush the channel, otherwise writing will not take place immediately.&lt;br /&gt;4. When you are done, you can close the channel. This flushes the channel automatically.&lt;br /&gt;&lt;br /&gt;Commonly used functions: open_out, open_out_bin, flush, close_out, close_out_noerr&lt;br /&gt;Standard out_channels: stdout, stderr&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Reading&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;For reading data from a file you would do this:&lt;br /&gt;1. Open the file to obtain an in_channel&lt;br /&gt;2. Read characters from the channel. Reading consumes the channel, so if you read a character, the channel will point to the next character in the file.&lt;br /&gt;3. When there are no more characters to read, the End_of_file exception is raised. Often, this is where you want to close the channel.&lt;br /&gt;Commonly used functions: open_in, open_in_bin, close_in, close_in_noerr&lt;br /&gt;Standard in_channel: stdin&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Example&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;open Printf&lt;br /&gt;&lt;br /&gt;let file = "example.dat"&lt;br /&gt;let message = "Hello!"&lt;br /&gt;&lt;br /&gt;let _ =&lt;br /&gt;&lt;br /&gt;  (* Write message to file *)&lt;br /&gt;  let oc = open_out file in    (* create or truncate file, return channel *)&lt;br /&gt;  fprintf oc "%s\n" message;   (* write something *)   &lt;br /&gt;  close_out oc;                (* flush and close the channel *)&lt;br /&gt;&lt;br /&gt;  (* Read file and display the first line *)&lt;br /&gt;  let ic = open_in file in&lt;br /&gt;  try &lt;br /&gt;    let line = input_line ic in  (* read line from in_channel and discard \n *)&lt;br /&gt;    print_endline line;          (* write the result to stdout *)&lt;br /&gt;    flush stdout;                (* write on the underlying device now *)&lt;br /&gt;    close_in ic                  (* close the input channel *) &lt;br /&gt;&lt;br /&gt;  with e -&gt;                      (* some unexpected exception occurs *)&lt;br /&gt;    close_in_noerr ic;           (* emergency closing *)&lt;br /&gt;    raise e                      (* exit with error: files are closed but&lt;br /&gt;                                    channels are not flushed *)&lt;br /&gt;&lt;br /&gt;  (* normal exit: all channels are flushed and closed *)&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-4539967677152132845?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/4539967677152132845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=4539967677152132845' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/4539967677152132845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/4539967677152132845'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2009/04/ocaml-file-manipulation.html' title='OCaml file manipulation'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-1040117792938436770</id><published>2009-04-07T11:46:00.000-07:00</published><updated>2009-04-07T11:49:24.835-07:00</updated><title type='text'>An interesting puzzle (from my comp409 homework)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_wc0wQsEWVEE/SdugLEwVYhI/AAAAAAAABCk/gcsOwdFO4G8/s1600-h/pets.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 160px;" src="http://3.bp.blogspot.com/_wc0wQsEWVEE/SdugLEwVYhI/AAAAAAAABCk/gcsOwdFO4G8/s200/pets.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5322023496783847954" /&gt;&lt;/a&gt;&lt;br /&gt;There are five houses in five different colors. In each house lives a man with a different&lt;br /&gt;nationality. The five owners drink a certain type of beverage, smoke a certain brand of cigar,&lt;br /&gt;and keep a certain pet. No owners have the same pet, smoke the same brand of cigar or drink&lt;br /&gt;the same beverage. The question is: “Who owns the fish?”&lt;br /&gt;Hints:&lt;br /&gt;• The Brit lives in the red house.&lt;br /&gt;• The Swede keeps dogs as pets.&lt;br /&gt;• The Dane drinks tea.&lt;br /&gt;• The green house is on the left of the white house.&lt;br /&gt;• The green house’s owner drinks coffee.&lt;br /&gt;• The person who smokes Pall Mall rears birds.&lt;br /&gt;• The owner of the yellow house smokes Dunhill.&lt;br /&gt;• The man living in the center house drinks milk.&lt;br /&gt;• The Norwegian lives in the first house.&lt;br /&gt;• The man who smokes Blends lives next to the one who keeps cats.&lt;br /&gt;• The man who keeps the horse lives next to the man who smokes Dunhill.&lt;br /&gt;• The owner who smokes Bluemasters drinks beer.&lt;br /&gt;• The German smokes Prince.&lt;br /&gt;• The Norwegian lives next to the blue house.&lt;br /&gt;• The man who smokes Blends has a neighbor who drinks water.&lt;br /&gt;In order to solve the puzzle, you have to make some assumptions:&lt;br /&gt;1. The owner is the resident of each house.&lt;br /&gt;2. One of the residents owns the fish.&lt;br /&gt;3. The term neighbor in the last hint refers only to a directly adjacent neighbor.&lt;br /&gt;4. The houses are on the same side of the street.&lt;br /&gt;5. They are next to each other, and are ordered from left to right as you face them rather&lt;br /&gt;than standing in front of a house facing the street (i.e. facing the same direction as the&lt;br /&gt;house).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-1040117792938436770?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/1040117792938436770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=1040117792938436770' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/1040117792938436770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/1040117792938436770'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2009/04/interesting-puzzle-from-my-comp409.html' title='An interesting puzzle (from my comp409 homework)'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_wc0wQsEWVEE/SdugLEwVYhI/AAAAAAAABCk/gcsOwdFO4G8/s72-c/pets.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-5635516892782049404</id><published>2009-04-06T09:20:00.000-07:00</published><updated>2009-04-07T09:41:18.110-07:00</updated><title type='text'>From the foundering of the Vasa</title><content type='html'>Vasa (or Wasa) was a warship that was built for King Gustavus Adolphus of Sweden from 1626 to 1628. The ship foundered and sank after sailing less than a nautical mile (ca 2 km) into her maiden voyage on 10 August 1628. &lt;br /&gt;&lt;br /&gt;Vasa was built top-heavy with insufficient ballast. Despite an obvious lack of stability in port, she was allowed to set sail and foundered a few minutes later when she first encountered a wind stronger than a breeze. The impulsive move to set sail resulted from a combination of factors. King Gustavus Adolphus, who was abroad on the date of her maiden voyage, was impatient to see Vasa join the Baltic fleet in the Thirty Years' War. At the same time, the king's subordinates lacked the political courage to discuss the ship's structural problems frankly or to have the maiden voyage postponed.  The sinking of Vasa is a mishap in project management, QA testing and design.  Due to these, the ships were fated for imminent disaster.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_wc0wQsEWVEE/Sdow_zU_jtI/AAAAAAAABCc/iagbbBMGN-M/s1600-h/cow-cartoon.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 180px; height: 200px;" src="http://3.bp.blogspot.com/_wc0wQsEWVEE/Sdow_zU_jtI/AAAAAAAABCc/iagbbBMGN-M/s200/cow-cartoon.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5321619782359813842" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The Vasa is a classic engineering failure story. It is also a practical story that directly relates to people within engineering and technology disciplines. In many ways, as Kode Vicious points out, nothing has changed since 1628: People still fail to communicate, leading to failures of disastrous proportions. Egos get in the way, and mysterious supernatural forces are blamed for human failings.&lt;br /&gt;&lt;br /&gt;A question, then, is: What can you do if your manager, or advisor, or superior is impatient? &lt;br /&gt;&lt;br /&gt;[To be continued]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-5635516892782049404?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/5635516892782049404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=5635516892782049404' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/5635516892782049404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/5635516892782049404'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2009/04/from-foundering-of-vasa.html' title='From the foundering of the Vasa'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_wc0wQsEWVEE/Sdow_zU_jtI/AAAAAAAABCc/iagbbBMGN-M/s72-c/cow-cartoon.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-1377295026994313245</id><published>2009-04-02T08:18:00.000-07:00</published><updated>2009-04-02T08:23:27.392-07:00</updated><title type='text'>Where God guides, God provides!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_wc0wQsEWVEE/SdTX5va4ZOI/AAAAAAAABCU/1SWZpktixME/s1600-h/jesus+love.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 166px;" src="http://1.bp.blogspot.com/_wc0wQsEWVEE/SdTX5va4ZOI/AAAAAAAABCU/1SWZpktixME/s200/jesus+love.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5320114446813127906" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[following cited from: http://www.rbc.org/odb/odb.shtml]&lt;br /&gt;&lt;br /&gt;Whenever the Lord assigns us a difficult task, He gives us what we need to carry it out. John Wesley wrote, “Among the many difficulties of our early ministry, my brother Charles often said, ‘If the Lord would give me wings, I’d fly.’ I used to answer, ‘If God bids me fly, I will trust Him for the wings.’”&lt;br /&gt;&lt;br /&gt;If God has given you some special work to do that frightens you, it’s your responsibility to jump at it. It’s up to the Lord to see you through. As you faithfully do your part, He will do His part.  — Richard De Haan&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-1377295026994313245?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/1377295026994313245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=1377295026994313245' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/1377295026994313245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/1377295026994313245'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2009/04/where-god-guides-god-provides.html' title='Where God guides, God provides!'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_wc0wQsEWVEE/SdTX5va4ZOI/AAAAAAAABCU/1SWZpktixME/s72-c/jesus+love.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-9149244737599089379</id><published>2009-04-01T18:31:00.000-07:00</published><updated>2009-04-02T06:32:45.683-07:00</updated><title type='text'>杂七杂八：爱与恨之间的距离</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_wc0wQsEWVEE/SdQbI3UgYlI/AAAAAAAABCM/9s4gehFhrUk/s1600-h/lovely13.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 150px; height: 200px;" src="http://2.bp.blogspot.com/_wc0wQsEWVEE/SdQbI3UgYlI/AAAAAAAABCM/9s4gehFhrUk/s200/lovely13.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5319906898934260306" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;刘墉在《生死爱恨一念间》写到：&lt;br /&gt;有生必有死，有爱就有恨，我们因爱而生，因生而爱，&lt;br /&gt;又常怀恨而死，因死而恨；&lt;br /&gt;我们用一辈子的时间，织这生死爱恨的网，&lt;br /&gt;也用这一辈子的时间，解那生死爱恨的结；&lt;br /&gt;只是，看穿了，生死爱恨能有多少距离，&lt;br /&gt;看破了，生死爱恨只是一念之间！&lt;br /&gt;&lt;br /&gt;可是也有人说：&lt;br /&gt;爱恨是对立的.爱是人性无私的一面,恨是人性自私的一面;&lt;br /&gt;&lt;br /&gt;到底爱恨之间的距离有多远？一念之间？还是天南地北？&lt;br /&gt;&lt;br /&gt;我想：因为爱，所以有期望。因为期望了，所以会失望。&lt;br /&gt;一再的失望，或是很大的一次伤害，就会恨了吧。&lt;br /&gt;其实他们之间是有一道坎的，只有跨过了坎，才能越到另一边。&lt;br /&gt;如果初时爱的愈深，这道坎也就愈高愈安全。&lt;br /&gt;可是同时，一旦爱变成恨，也会恨的更刻骨铭心。&lt;br /&gt;&lt;br /&gt;每个人都经历过伤害，失望。&lt;br /&gt;经历过，才知道，不经意的，也可能是伤人的。&lt;br /&gt;己所不欲，勿施于人。所以以后要注意：&lt;br /&gt;不要轻易不回别人的信，等回信的滋味并不好受；&lt;br /&gt;不要因为不是别人的错而blame，冤枉的责备让人无法释怀；&lt;br /&gt;不要对别人的低落漠不关心，人在需要安慰的时候最敏感；&lt;br /&gt;不要在气头上口不择言，射出去的箭就收不回来了；&lt;br /&gt;不要在别人孤单需要你的时候，用“我很忙”来搪塞；&lt;br /&gt;不要对别人的努力不置一词，每个人都希望努力得到肯定；&lt;br /&gt;不要忘了偶尔告诉你care的人你的感觉，&lt;br /&gt;也许，那正是她所期待的。。。。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-9149244737599089379?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/9149244737599089379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=9149244737599089379' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/9149244737599089379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/9149244737599089379'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2009/04/blog-post.html' title='杂七杂八：爱与恨之间的距离'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_wc0wQsEWVEE/SdQbI3UgYlI/AAAAAAAABCM/9s4gehFhrUk/s72-c/lovely13.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-5772721032472001053</id><published>2009-03-19T18:36:00.000-07:00</published><updated>2009-03-19T18:52:51.730-07:00</updated><title type='text'>Renouncement</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_wc0wQsEWVEE/ScL26l4CwsI/AAAAAAAABBE/_M5W1lBpXeo/s1600-h/92.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 150px; height: 200px;" src="http://1.bp.blogspot.com/_wc0wQsEWVEE/ScL26l4CwsI/AAAAAAAABBE/_M5W1lBpXeo/s200/92.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5315081996710625986" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;by Alice Meynell&lt;br /&gt;&lt;br /&gt;I must not think of thee; and, tired yet strong, &lt;br /&gt;I shun the thought that lurks in all delight -- &lt;br /&gt;The thought of thee -- and in the blue heaven's height, &lt;br /&gt;And in the sweetest passage of a song.&lt;br /&gt;Oh, just beyond the fairest thoughts that throng&lt;br /&gt;This breast, the thought of thee waits hidden yet bright;&lt;br /&gt;But it must never, never come in sight;&lt;br /&gt;I must stop short of thee the whole day long. &lt;br /&gt;But when sleep comes to close each difficult day, &lt;br /&gt;When night gives pause to the long watch I keep, &lt;br /&gt;And all my bonds I needs must loose apart,&lt;br /&gt;Must doff my will as raiment laid away, --&lt;br /&gt;With the first dream that comes with the first sleep&lt;br /&gt;I run, I run, I am gather'd to thy heart.&lt;br /&gt;&lt;br /&gt;不可思念你，我虽疲累却坚持，&lt;br /&gt;逃避那潜藏于所有喜悦的情思 --&lt;br /&gt;对你的想念 -- 在蓝天高处，&lt;br /&gt;在歌曲最甜蜜的一节里。&lt;br /&gt;啊，在这美好的思议聚拢之际，&lt;br /&gt;想你的心潜伏而流晖；&lt;br /&gt;但是它万万不可显露；&lt;br /&gt;我须终日警惕，却步于你的周围。&lt;br /&gt;然而，当睡眠来结束每个艰难的白昼，&lt;br /&gt;当黑夜让我长久的窥探稍做停息之时，&lt;br /&gt;我得解开一切的束缚，&lt;br /&gt;该得把坚守的意志像收藏的衣裳般脱下，--&lt;br /&gt;酣然入睡，梦乡初启的一刹，&lt;br /&gt;载欣载奔，我已迎上你的心头。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-5772721032472001053?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/5772721032472001053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=5772721032472001053' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/5772721032472001053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/5772721032472001053'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2009/03/renouncement.html' title='Renouncement'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_wc0wQsEWVEE/ScL26l4CwsI/AAAAAAAABBE/_M5W1lBpXeo/s72-c/92.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-3824413938471896346</id><published>2009-03-17T18:35:00.001-07:00</published><updated>2009-03-19T18:35:59.308-07:00</updated><title type='text'>Dreaming CIty...Cheese Moon...One Me...One You...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_wc0wQsEWVEE/ScBQjJ_WiLI/AAAAAAAABAk/mYeJJ8-kd-E/s1600-h/angel3.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 190px;" src="http://1.bp.blogspot.com/_wc0wQsEWVEE/ScBQjJ_WiLI/AAAAAAAABAk/mYeJJ8-kd-E/s200/angel3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5314336125204465842" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Love is a smoke made with the fume of sighs. Being purged, a fire sparkling in lovers' eyes. Being vexed, a see nourished with lovers' tears. What is it else? A madness most discreet, a choking gall and a preserving sweet.&lt;br /&gt;&lt;br /&gt;-- William Shakespear&lt;br /&gt;&lt;br /&gt;(author unknown)&lt;br /&gt;&lt;br /&gt;There were no words to be spoken. With time standing still as you were lying on my lap, there were just you and me, my love, surrounded with obscure feelings that connected us once, and led us to surrender ourselves secretly to the night.&lt;br /&gt;&lt;br /&gt;The city was wearing her most fascinating dress that night. The dark dream-dress worn so elegantly that every flickering sparkle on the dress revealed our secret dreams.&lt;br /&gt;&lt;br /&gt;In this intoxicating view of the city, we, two strangers, from different backgrounds, yet similar feelings met under the same sky, which fell upon us as the night went by.&lt;br /&gt;&lt;br /&gt;Our roles were set on this night's stage waiting for the right time for the right move. After all, time did not exist for us that night: every move was right, and every minute referred to a great timing, denying its existence. We were just to have this moment, together to exist in ight's everlasting memories.&lt;br /&gt;&lt;br /&gt;Millions of thoughts crossed my mind, wandering endlessly back and forth in the imaginary reality of this particular moment. It was the urge to confront reality that drew me closer to his lips, without knowing the consequences of reality would convert to fantasy instantly.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_wc0wQsEWVEE/ScBRDNqRl8I/AAAAAAAABA8/VX8OBVJoWzE/s1600-h/angel8.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 143px; height: 200px;" src="http://4.bp.blogspot.com/_wc0wQsEWVEE/ScBRDNqRl8I/AAAAAAAABA8/VX8OBVJoWzE/s200/angel8.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5314336675945617346" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Touching lips and thrashing tongues are the sum of how that exquisite moment occurred. I felt connected to him in an unknown way, in a way that the more passionately I kept kissing him, the less sure I became of what I was kissing. That particular night, he and I let the cheese moon and dreaming city in on our secret; the rest was meaningless.&lt;br /&gt;&lt;br /&gt;Since then I've been lost in this universe, with a restless conscious, tracing my path by pursuing the star dust, left over from a summer night's dream, with everlasting hope to reach "there;" blinded with sublime darkness, with no time to sustain, will my floating conscious ever find him again?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-3824413938471896346?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/3824413938471896346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=3824413938471896346' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/3824413938471896346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/3824413938471896346'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2009/03/dreaming-citycheese-moonone-meone-you.html' title='Dreaming CIty...Cheese Moon...One Me...One You...'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_wc0wQsEWVEE/ScBQjJ_WiLI/AAAAAAAABAk/mYeJJ8-kd-E/s72-c/angel3.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-7549565025802906251</id><published>2009-03-16T18:24:00.001-07:00</published><updated>2009-03-16T19:06:32.822-07:00</updated><title type='text'>Taking the risk</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_wc0wQsEWVEE/Sb8FoX5zADI/AAAAAAAABAc/MMVpirTMkEU/s1600-h/69.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 150px; height: 200px;" src="http://2.bp.blogspot.com/_wc0wQsEWVEE/Sb8FoX5zADI/AAAAAAAABAc/MMVpirTMkEU/s200/69.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5313972276489814066" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;前不久和朋友聊天，朋友说参加一个聚会，当时有个对personality的测试，有一项是看看你自己是不是一个敢于take risk的人。&lt;br /&gt;据说在场的大部分都认为自己是“低风险”一类的。&lt;br /&gt;&lt;br /&gt;想想自己，属于什么样的人呢？当时的第一个念头，觉得自己在风险上是比较保守的：通常一件事都喜欢有个backup。&lt;br /&gt;高考的时候如此，保送研究生的时候如此，申请出国读书的时候也是如此。现在，面临工作和读书的抉择，依然如此。&lt;br /&gt;&lt;br /&gt;不过最近在关系到签证的事情上发现某些事上，自己都不能理解自己在做什么。&lt;br /&gt;暑假决定要回国，很多层原因，总之心里就是不能接受不能回国的事实。可是律师也明确的warn me：如果一定坚持要&lt;br /&gt;回国，可能会面临stuck在国内回不来，或是留在美国却没有身份工作的风险。&lt;br /&gt;&lt;br /&gt;整整一个星期都在这个决定上挣扎，加上最近硕士答辩和论文的事，搞得有点小紧张。不过无论如何，&lt;br /&gt;可能还是会铤而走险，回这一趟。是福是祸，只能交在天父手上了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-7549565025802906251?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/7549565025802906251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=7549565025802906251' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/7549565025802906251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/7549565025802906251'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2009/03/taking-risk.html' title='Taking the risk'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_wc0wQsEWVEE/Sb8FoX5zADI/AAAAAAAABAc/MMVpirTMkEU/s72-c/69.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-4647892795665201819</id><published>2009-02-18T18:15:00.000-08:00</published><updated>2009-03-16T19:04:22.624-07:00</updated><title type='text'>几首喜欢的词</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_wc0wQsEWVEE/Sb8FIHbeKDI/AAAAAAAABAU/0rFgdVSjlyc/s1600-h/06.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_wc0wQsEWVEE/Sb8FIHbeKDI/AAAAAAAABAU/0rFgdVSjlyc/s200/06.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5313971722311837746" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;（1） 梦江南   － 皇甫松&lt;br /&gt;兰烬落，&lt;br /&gt;屏上暗红蕉。&lt;br /&gt;闲梦江南梅熟日，&lt;br /&gt;夜船吹笛雨潇潇。&lt;br /&gt;人语驿边桥。&lt;br /&gt;&lt;br /&gt;（2）浣溪沙  －李璟&lt;br /&gt;手卷珠帘上玉钩，&lt;br /&gt;依前春恨锁重楼。&lt;br /&gt;风里落花谁是主？&lt;br /&gt;思悠悠。  &lt;br /&gt;&lt;br /&gt;青鸟不传云外信，&lt;br /&gt;丁香空结雨中愁。&lt;br /&gt;回首绿波春色暮，&lt;br /&gt;接天流。&lt;br /&gt;&lt;br /&gt;(3) 浪淘沙 － 李煜&lt;br /&gt;帘外雨潺潺，春意阑珊，&lt;br /&gt;罗衾不耐五更寒。&lt;br /&gt;梦里不知身是客，&lt;br /&gt;一晌贪欢。&lt;br /&gt;&lt;br /&gt;独自莫凭栏，无限江山。 &lt;br /&gt;别时容易见时难。&lt;br /&gt;流水落花春去也，&lt;br /&gt;天上人间。&lt;br /&gt;&lt;br /&gt;(4) 千秋岁 － 张先&lt;br /&gt;数声鶗鴂，又报芳菲歇。&lt;br /&gt;惜春更选残红折，&lt;br /&gt;雨轻风色暴，&lt;br /&gt;梅子青时节。&lt;br /&gt;永丰柳，无人尽日花飞雪。&lt;br /&gt;　　&lt;br /&gt;莫把幺弦拨，怨极弦能说。&lt;br /&gt;天不老，情难绝，&lt;br /&gt;心似双丝网，中有千千结。&lt;br /&gt;夜过也，东窗未白孤灯灭。 &lt;br /&gt;&lt;br /&gt;（5）浣溪沙－晏殊&lt;br /&gt;一曲新词酒一杯，&lt;br /&gt;去年天气旧亭台，&lt;br /&gt;夕阳西下几時回？&lt;br /&gt;&lt;br /&gt;无可奈何花落去，&lt;br /&gt;似曾相似燕归來，&lt;br /&gt;小园香径独徘徊。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-4647892795665201819?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/4647892795665201819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=4647892795665201819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/4647892795665201819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/4647892795665201819'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2009/02/blog-post.html' title='几首喜欢的词'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_wc0wQsEWVEE/Sb8FIHbeKDI/AAAAAAAABAU/0rFgdVSjlyc/s72-c/06.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-9077435294469601152</id><published>2008-11-02T20:40:00.000-08:00</published><updated>2009-03-19T21:00:43.646-07:00</updated><title type='text'>彼岸花</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_wc0wQsEWVEE/ScMQldz8EkI/AAAAAAAABBM/w6KH7kAwf_k/s1600-h/bianhua.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_wc0wQsEWVEE/ScMQldz8EkI/AAAAAAAABBM/w6KH7kAwf_k/s200/bianhua.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5315110221070996034" /&gt;&lt;/a&gt;&lt;br /&gt;彼岸花.&lt;br /&gt;开一千年.落一千年.&lt;br /&gt;花叶永不相见.情不为因果.缘注定生死...&lt;br /&gt;&lt;br /&gt;传说中冥界唯一的花朵-------蔓珠莎华&lt;br /&gt;蔓珠莎华，又称彼岸花，学名应该是叫石蒜.&lt;br /&gt;一般认为是生长在三途河边的接引之花.&lt;br /&gt;花香传说有魔力，能唤起死者生前的记忆.&lt;br /&gt;春分前后三天叫春彼岸，秋分前后三天叫秋彼岸.是上坟的日子.&lt;br /&gt;彼岸花开在秋彼岸期间，非常准时，所以才叫彼岸花.&lt;br /&gt;彼岸花，&lt;br /&gt;花开开彼岸，花开时看不到叶子，&lt;br /&gt;有叶子时看不到花，花叶两不相见，生生相错.&lt;br /&gt;相传此花只开于黄泉，是黄泉路上唯一的风景.&lt;br /&gt;&lt;br /&gt;蔓珠莎华的美，是妖异、灾难、死亡与分离的不祥之美.&lt;br /&gt;或者是因为它深艳鲜红的色泽让人联想到血，也或者是因为它的鳞茎含有剧毒，在一般的文学作品中的形象通常是与“疯狂、血腥”之类的概念相联系起来的.&lt;br /&gt;日本的花语是“悲伤的回忆”,韩国的花语则是“相互思念”.&lt;br /&gt;&lt;br /&gt;传说，很久很久以前，&lt;br /&gt;城市的边缘开满了大片大片的彼岸华，也就是曼珠沙华.&lt;br /&gt;它的花香有一种魔力，可以让人想起自己前世的事情.&lt;br /&gt;守护彼岸花的是两个妖精，一个花妖叫曼珠，一个是叶妖叫沙华.&lt;br /&gt;他们守候了几千年的彼岸花，可是从来没有见过面，因为花开的时候，花开时看不到叶子，有叶子时看不到花，花叶两不相见，生生相错.&lt;br /&gt;他们疯狂地想念着彼此，并被这种痛苦折磨着.&lt;br /&gt;终于有一天，&lt;br /&gt;他们决定违背神的规定偷偷地见一次面.&lt;br /&gt;那一年的曼珠沙华红艳艳的花被惹眼的绿色衬托着，开得格外妖冶美丽.&lt;br /&gt;神怪罪下来，这也是意料之中的.&lt;br /&gt;曼珠和沙华被打入轮回，并被诅咒永远也不能在一起，生生世世在人间受到磨难.&lt;br /&gt;从那以后，蔓珠沙华又叫做彼岸花，意思是开放在天国的花，花的形状像一只只在向天堂祈祷的手掌，可是再也没有在城市出现过.&lt;br /&gt;这种花是开在黄泉路上的，曼珠和沙华每一次转世在黄泉路上闻到彼岸花的香味就能想起前世的自己，然后发誓不分开，在下一世再跌入诅咒的轮回. 彼岸华的花语是哀伤的回忆 ……&lt;br /&gt;&lt;br /&gt;听说，上帝在造人的时候.&lt;br /&gt;将每个灵魂都分为两半，一半给男人，一半给女人.&lt;br /&gt;然后所谓爱情就成了人们寻找另外那般灵魂的过程.&lt;br /&gt;有的人找到了，有的人穷尽一生也没有找到；&lt;br /&gt;有的人找到了却以为没有找到.&lt;br /&gt;于是在欲望的驱使下离身边那一找到的灵魂越来越远.&lt;br /&gt;有的人以为找到了，却不知道那真正与他本属一体的灵魂还在别处.&lt;br /&gt;或者擦肩而过.&lt;br /&gt;有人说，这注定分离的东西，为什么一定要找到呢？&lt;br /&gt;也许上帝的用意就在于这永远的分离.&lt;br /&gt;找到了也是伤害.&lt;br /&gt;曼珠和沙华，大概就是这样的.&lt;br /&gt;虽然同为彼岸化的守护神，却注定被分开.短暂相聚，永世相离......&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_wc0wQsEWVEE/ScMU3csx_3I/AAAAAAAABBk/3md2rHg7Uig/s1600-h/bianhua+3.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 130px; height: 87px;" src="http://4.bp.blogspot.com/_wc0wQsEWVEE/ScMU3csx_3I/AAAAAAAABBk/3md2rHg7Uig/s320/bianhua+3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5315114928056696690" /&gt;&lt;/a&gt;&lt;br /&gt;冥界唯一的引魂之花&lt;br /&gt;(春天是球根，夏天生长叶子，秋天立起开花，冬天叶子又慢慢退去，如此轮回.&lt;br /&gt;而花叶永不相见，有着永远无法相会的悲恋之意，又称曼珠沙花，天涯花，舍子花.)遍地簇拥的红花，像是用血铺就的地毯，&lt;br /&gt;那是这长长黄泉路上，唯一的风景与色彩.&lt;br /&gt;浮动的花香打开了那尘封已久的记忆，&lt;br /&gt;生前的寻寻觅觅和心底那莫名的伤痛竟是千年来心中唯一的羁绊，唯一的牵挂.&lt;br /&gt;她记起了她是花妖曼珠，他是叶妖沙华.&lt;br /&gt;彼岸花，花开开彼岸，&lt;br /&gt;花开不见叶，有叶不见花，生生相错.&lt;br /&gt;她和他守候了千年的彼岸花，守侯着千年的相思苦.&lt;br /&gt;那唯一的一次相见，那等待了千年的相拥.&lt;br /&gt;艳丽的红，惹眼的绿，拥抱着，&lt;br /&gt;那一年的彼岸花格外妖冶，格外美丽.&lt;br /&gt;短暂相拥换来的却是无止尽的诅咒轮回：&lt;br /&gt;花叶不见，你我难逢，生生相错.&lt;br /&gt;千年的轮回，嗔痴不减，却再难逢…&lt;br /&gt;却再难逢……&lt;br /&gt;那黄泉路上唯一的花，&lt;br /&gt;那接引她去彼岸的曼珠沙华，&lt;br /&gt;那至今还回响着等待救赎的痛楚，&lt;br /&gt;那失去的她爱着的他……&lt;br /&gt;三途河上激流涌动，彼岸没有指引的灯塔.&lt;br /&gt;那是永无黎明的天涯苍白的眼眸里，溅出悲哀而无奈的泪花.她听见自己说：我不害怕，我很爱他......&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_wc0wQsEWVEE/ScMUfoL-w0I/AAAAAAAABBc/PNz1E6MHdzc/s1600-h/bianhua+4.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_wc0wQsEWVEE/ScMUfoL-w0I/AAAAAAAABBc/PNz1E6MHdzc/s200/bianhua+4.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5315114518823486274" /&gt;&lt;/a&gt;&lt;br /&gt;看见的熄灭了，&lt;br /&gt;消失的记住了.&lt;br /&gt;我站在海角天涯，&lt;br /&gt;听见土壤萌芽.&lt;br /&gt;等待昙花再开，&lt;br /&gt;把芬芳留给年华.&lt;br /&gt;彼岸没有灯塔，&lt;br /&gt;我依然张望着.&lt;br /&gt;天黑刷白了头发，&lt;br /&gt;紧握着我的火把.&lt;br /&gt;他来我对自己说：&lt;br /&gt;我不害怕，我很爱他...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-9077435294469601152?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/9077435294469601152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=9077435294469601152' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/9077435294469601152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/9077435294469601152'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2008/11/blog-post.html' title='彼岸花'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_wc0wQsEWVEE/ScMQldz8EkI/AAAAAAAABBM/w6KH7kAwf_k/s72-c/bianhua.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-4936778102634672463</id><published>2008-09-12T12:08:00.000-07:00</published><updated>2008-09-12T12:45:10.325-07:00</updated><title type='text'>祝母亲生日快乐</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_wc0wQsEWVEE/SMrFm1e5YSI/AAAAAAAAAIU/LUBQ43FQc6s/s1600-h/mom_moon.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_wc0wQsEWVEE/SMrFm1e5YSI/AAAAAAAAAIU/LUBQ43FQc6s/s200/mom_moon.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5245221987008733474" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;明天是国内的中秋，后天就是母亲的生日。&lt;br /&gt;游子在外，不能承欢膝下。&lt;br /&gt;自赋诗一首，聊以为贺：&lt;br /&gt;&lt;font color=blue&gt;&lt;br /&gt;慈母之线游子衣，重洋相隔八千里。&lt;br /&gt;举首明月犹漾漾，回想别时语依依。&lt;br /&gt;&lt;br /&gt;桂花秋深独皎洁，自有欣欣岁寒心。&lt;br /&gt;以花比母比不足，花香哪抵舐犊情。&lt;br /&gt;&lt;br /&gt;竹翠莫忘春雨润，蚕肥须念桑叶稀。&lt;br /&gt;借来天边中秋月，共祝我母乐生辰！&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;祝母亲生日快乐！～万事如意！～&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-4936778102634672463?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/4936778102634672463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=4936778102634672463' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/4936778102634672463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/4936778102634672463'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2008/09/blog-post.html' title='祝母亲生日快乐'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_wc0wQsEWVEE/SMrFm1e5YSI/AAAAAAAAAIU/LUBQ43FQc6s/s72-c/mom_moon.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-5504828854897278051</id><published>2008-07-21T10:55:00.000-07:00</published><updated>2008-08-28T18:47:37.563-07:00</updated><title type='text'>Be Brave, Be Yourself</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_wc0wQsEWVEE/SITOsDCBD_I/AAAAAAAAAHU/t2HJfVU3lXA/s1600-h/lionking.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_wc0wQsEWVEE/SITOsDCBD_I/AAAAAAAAAHU/t2HJfVU3lXA/s200/lionking.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5225528723779948530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Do you believe this? Their is an evil lives in every people's heart. Sometimes you know what is the right to do, but you just choose to live with the mundane fact. Sometime you know hiding is not the solution, but as far as you can avoid it, you choose not to face it.&lt;br /&gt;&lt;br /&gt;J. B. Bossuet once said: "The greatest of all weaknesses is the fear of appearing weak." And I know one of my weakness is choosing to hide too many times in my life. People make decisions everyday, no matter important or trivial, it has effects in your future. It is hard to say which way to decide is right, because we are really human beings. And in some situations, emotions take charge, and your choices just came by nature.&lt;br /&gt;&lt;br /&gt;I never regret even a single decision I have made so far in my life. Because I know, in that early age, and with such knowledge, the decision I have made probably is the wisest one, given the situation.&lt;br /&gt;&lt;br /&gt;But, sometimes, I know, sometimes, things should not go that way. And we can do something to end the "bad" effect of a previous decision or behavior. It is simple, an apologize, or a confession will do. It is not simple, since the apology or the confession might appear to be painful. As far as you have the option to let it go, you choose not to face it. The hardest part is just to muster the courage and strength, and step forward...&lt;br /&gt;&lt;br /&gt;Thanks to god, there are people in my life who really affects me and helps me. Talk to a friend, who loves you, and who is also wise, you will have a better insight about the situation you are in. And that, will give you all you need, to face the mess with a light and healthy heart. Just try to be brave and try to be yourself, you will find the sky after the overcast is so blue, so clear, and so lovely. You are going to love your life more and be much happier.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-5504828854897278051?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/5504828854897278051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=5504828854897278051' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/5504828854897278051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/5504828854897278051'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2008/07/be-brave-be-yourself.html' title='Be Brave, Be Yourself'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_wc0wQsEWVEE/SITOsDCBD_I/AAAAAAAAAHU/t2HJfVU3lXA/s72-c/lionking.gif' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-3300222266099187180</id><published>2008-07-18T09:18:00.000-07:00</published><updated>2008-07-18T09:42:25.706-07:00</updated><title type='text'>Reasons for loving Computer Science</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_wc0wQsEWVEE/SIDCk-mgfYI/AAAAAAAAAGc/Mx6ElGCXc1M/s1600-h/computer.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_wc0wQsEWVEE/SIDCk-mgfYI/AAAAAAAAAGc/Mx6ElGCXc1M/s200/computer.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5224389508285365634" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Computer Science to me, is about how to produce good programs and how to make those programs work more efficiently. "Programming itself is actually neither solely art nor science. It is simply a way of life. It is a human endeavor, and like most human endeavors, it contains elements of both science and art. It is both logical and emotional, both disciplined and passionate."&lt;br /&gt;&lt;br /&gt;"Programming is a task of the heart, soul and mind." Unlike pure art, the logic of it is unavoidable. But unlike pure science, it requires passion and an appreciation of an aesthetic to do it well."&lt;br /&gt;&lt;br /&gt;I started to think why I am enjoying doing my research, working on something about computer science and programming. Though from time to time, the life of a Ph.D. abroad can be very tough, even nearly unbearable, I still go through every single storm of depressing without giving up. Here are something came to my mind:&lt;br /&gt;&lt;br /&gt;(1) Since it involves both science and art, it can never go irrational, or go boring. The first half make the work more logical, which is something I liked ever since fundamental school. The second half gives you space for creation, and aesthetics. And this gives the work its life, make it more fleshy and animated.&lt;br /&gt;&lt;br /&gt;(2) Computer Science nowadays is among those science which grows fastest  and challenges most.  It requires you to update your knowledge everyday, and embrace fresh ideas all the time. Working on computer science, keeps you like a plant always in growing, with those green leaves flourish for all seasons.&lt;br /&gt;&lt;br /&gt;(3) Programming actually helps developing good personalities. Sometimes you fight with a bug for hours; You must be patient to not give up; Sometimes you comment your program with a grace that makes later readers appreciate your thinking and work; You must be precise and responsible to wave a high-quality cob. Sometimes you just struggling to understand some new tools and other's code; and you must be intelligent to understand the tricks and knack that nobody is going to tell you directly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-3300222266099187180?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/3300222266099187180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=3300222266099187180' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/3300222266099187180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/3300222266099187180'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2008/07/blog-post.html' title='Reasons for loving Computer Science'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_wc0wQsEWVEE/SIDCk-mgfYI/AAAAAAAAAGc/Mx6ElGCXc1M/s72-c/computer.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-7329222915764685240</id><published>2008-06-18T06:44:00.000-07:00</published><updated>2008-08-28T18:47:10.799-07:00</updated><title type='text'>Little Prince and Fox</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_wc0wQsEWVEE/SIDIjGuE95I/AAAAAAAAAGk/MgEI3QAHo7Q/s1600-h/littleprincefox.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_wc0wQsEWVEE/SIDIjGuE95I/AAAAAAAAAGk/MgEI3QAHo7Q/s200/littleprincefox.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5224396073174628242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The fox gazed at the little prince, for a long time. "Please--tame me!" he said.&lt;br /&gt;&lt;br /&gt;"I want to, very much," the little prince replied. "But I have not much time. I have friends to discover, and a great many things to understand."&lt;br /&gt;&lt;br /&gt;"One only understands the things that one tames," said the fox. "Men have no more time to understand anything. They buy things all ready made at the shops. But there is no shop anywhere where one can buy friendship, and so men have no friends any more. If you want a friend, tame me . . . "&lt;br /&gt;&lt;br /&gt;"What must I do, to tame you? asked the little prince.&lt;br /&gt;&lt;br /&gt;"You must be very patient," replied the fox. First you will sit down at a little distance from me--like that--in the grass. I shall look at you out of the corner of my eye, and you will say nothing. Words are the source of misunderstandings. But you will sit a little closer to me, every day . . . "&lt;br /&gt;&lt;br /&gt;The next day the little prince came back.&lt;br /&gt;&lt;br /&gt;"It would have been better to come back at the same hour," said the fox. "If for example, you came at four o'clock in the afternoon, then at three o'clock I shall begin to be happy. I shall feel happier and happier as the hour advances. At four o'clock, I shall be worrying and jumping about. I shall show you how happy I am! But if you come at just any time, I shall never know at what hour my heart is ready to greet you . . . One must observe the proper rites . . . "&lt;br /&gt;&lt;br /&gt;"What is a rite?" asked the little prince.&lt;br /&gt;&lt;br /&gt;"Those also are actions too often neglected," said the fox. "They are what make one day different from other days, one hour different from other hours. There is a rite, for example, among my hunters. Every Thursday they dance with the village girls. So Thursday is a wonderful day for me! I can take a walk as far as the vineyards. But if the hunters danced at just any time, every day would be like every other day, and I should never have any vacation at all."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-7329222915764685240?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/7329222915764685240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=7329222915764685240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/7329222915764685240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/7329222915764685240'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2008/07/little-prince-and-fox.html' title='Little Prince and Fox'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_wc0wQsEWVEE/SIDIjGuE95I/AAAAAAAAAGk/MgEI3QAHo7Q/s72-c/littleprincefox.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-47450584208059456</id><published>2008-05-06T18:55:00.000-07:00</published><updated>2008-05-06T19:09:41.185-07:00</updated><title type='text'>Don't wait</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_wc0wQsEWVEE/SCEMRu-i3ZI/AAAAAAAAAFU/kbb3kKnX_PM/s1600-h/1407340173_8111a17998.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_wc0wQsEWVEE/SCEMRu-i3ZI/AAAAAAAAAFU/kbb3kKnX_PM/s320/1407340173_8111a17998.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5197448943769935250" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Don't wait to have time, to be able to serve;&lt;br /&gt;Don't wait for the best job, to begin the work ...&lt;br /&gt;&lt;br /&gt;有的时候发现自己会偶尔偷懒，就是不想认真地做该做的事。&lt;br /&gt;通常这个时候，都会觉得心情多少有些浮躁，也会有些许这样那样地理由觉得不是“发奋”的好时机。&lt;br /&gt;更有甚时，会怨天尤人觉得机遇不够好。。。&lt;br /&gt;&lt;br /&gt;前两天心情很低落，刚开始intern不是特别顺心，关于到底暑期intern做什么，&lt;br /&gt;“领导”们没有个定论，还要讨论。&lt;br /&gt;Rice配的电脑down机了，公司因为office紧张，只能临时让我坐在一个去出差人的位子上，&lt;br /&gt;公司也迟迟电脑配不下来。&lt;br /&gt;于是不能安心工作或学习，虽然知道这样情况下可以干的事情还是很多。&lt;br /&gt;&lt;br /&gt;直到今天，所有的事情都sort out了，却突然发现自己“晃荡”掉了很多些时间。&lt;br /&gt;朋友给发了“北京欢迎你”的歌，是MTV，100多个知名歌手合作的作品，&lt;br /&gt;真的很不错，也很受感动。猛然发现，他们虽然没人只很少的几句，&lt;br /&gt;却都是很投入，很努力的唱出很好的水平，让整个作品成为经典。&lt;br /&gt;虽然有点牵强，可是因为这几天因为自己的“晃晃悠悠”而自责，&lt;br /&gt;还是觉得颇受感动。&lt;br /&gt;&lt;br /&gt;该摆正态度，好好工作了。 ：）&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-47450584208059456?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/47450584208059456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=47450584208059456' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/47450584208059456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/47450584208059456'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2008/05/dont-wait.html' title='Don&apos;t wait'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_wc0wQsEWVEE/SCEMRu-i3ZI/AAAAAAAAAFU/kbb3kKnX_PM/s72-c/1407340173_8111a17998.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-6196327071467139934</id><published>2008-04-30T13:01:00.000-07:00</published><updated>2008-04-30T13:21:04.640-07:00</updated><title type='text'>Exciting~ My internship starts tomorrow!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_wc0wQsEWVEE/SBjTte-i3YI/AAAAAAAAAFM/vNhWMi0BS-M/s1600-h/DSC_5962.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_wc0wQsEWVEE/SBjTte-i3YI/AAAAAAAAAFM/vNhWMi0BS-M/s400/DSC_5962.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5195134948534836610" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-6196327071467139934?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/6196327071467139934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=6196327071467139934' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/6196327071467139934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/6196327071467139934'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2008/04/exciting-my-internship-starts-tomorrow.html' title='Exciting~ My internship starts tomorrow!'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_wc0wQsEWVEE/SBjTte-i3YI/AAAAAAAAAFM/vNhWMi0BS-M/s72-c/DSC_5962.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-4544630495647092944</id><published>2008-03-04T08:47:00.000-08:00</published><updated>2008-03-04T08:51:20.105-08:00</updated><title type='text'>Using threads is not that bad</title><content type='html'>Well, it turns out to be that my previous fix by breaking down a mega computation turns out to be very ugly and it causes problem in many ways (e.g.: draw the final trace).&lt;br /&gt;After playing with threads for a while, together with help from Jun, now the implementation using threads seems to be pretty neat.&lt;br /&gt;&lt;br /&gt;Happy this is eventually done. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-4544630495647092944?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/4544630495647092944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=4544630495647092944' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/4544630495647092944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/4544630495647092944'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2008/03/using-threads-is-not-that-bad.html' title='Using threads is not that bad'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-1963294083375768914</id><published>2008-02-26T15:45:00.000-08:00</published><updated>2008-02-26T15:52:01.713-08:00</updated><title type='text'>Threads can be totally messed up in OCaml with GUI development</title><content type='html'>It is so difficult to cancel an execution in GUI written in OCaml.&lt;br /&gt;To cancel a long program run in Acumen GUI, it seems that I have the following problems:&lt;br /&gt;(1) If using singe thread, a "cancel" signal will be pended until current (long) computation is completed, which makes it potentially useless.&lt;br /&gt;(2) Thread is so inconvenient to use in OCaml! There are several problems: &lt;br /&gt;&lt;br /&gt;First, if using "fork", it turns out to be that I cannot update the GUI from within my callback thread. In practice, no thread other than the main thread (aka "GUI-thread") may update any widget (that is, no call to QWidget::update(), QWidget::setFoo() etc. from another thread).&lt;br /&gt;&lt;br /&gt;So I tried the following: In my worker thread put events into the Qt event queue and inform the GUI thread that it needs to update its GUI state according to the "model" (that is, my sound data). But things are still messed up, and eventually, "Unix.kill" or "Thread.kill" are neither implemented in OCaml!&lt;br /&gt;&lt;br /&gt;(3) I solved the problem by a somehow nasty trick:&lt;br /&gt;I break my mega computation into something that can get done in pieces and have [eval prog1] return true or false based on whether it has more work to do.  Then schedule it using [Idle.add], and it'll keep running in chunks until it's done, but the GUI will still get time to process events (and allow you to kill the task by removing it from the idle loop).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-1963294083375768914?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/1963294083375768914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=1963294083375768914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/1963294083375768914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/1963294083375768914'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2008/02/threads-can-be-totally-messed-up-in.html' title='Threads can be totally messed up in OCaml with GUI development'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-8079068040454961198</id><published>2008-02-20T16:00:00.000-08:00</published><updated>2008-02-20T16:07:33.036-08:00</updated><title type='text'>Problem with Threads in GUI</title><content type='html'>When trying to implement a GUI, I tried to create a new thread on pressing&lt;br /&gt;the "execute" button, However, I got the following errors:&lt;br /&gt;&lt;blockquote&gt;Xlib: unexpected async reply (sequence 0x4fc8)!&lt;/blockquote&gt;&lt;br /&gt;The problem turned out to be that I update the GUI from within my callback thread. In practice, no thread other than the main thread (aka "GUI-thread") may update any widget (that is, no call to QWidget::update(), QWidget::setFoo() etc. from another thread).&lt;br /&gt;&lt;br /&gt;What can I do to solve the problem? I can try the following: &lt;br /&gt;In my worker thread put events into the Qt event queue and inform the GUI thread that it needs to update its GUI state according to the "model" (that is, your sound data).&lt;br /&gt;&lt;br /&gt;See QApplication::postEvent. This is a common mistake, see also Qt archive for more details. Maybe qtforum.org knows more as well (haven't checked).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-8079068040454961198?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/8079068040454961198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=8079068040454961198' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/8079068040454961198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/8079068040454961198'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2008/02/problem-with-threads-in-gui.html' title='Problem with Threads in GUI'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-3561682173841627890</id><published>2008-02-14T14:53:00.000-08:00</published><updated>2008-02-14T14:58:10.650-08:00</updated><title type='text'>Drawing Surface Function [TODO]</title><content type='html'>&lt;span style="font-weight:bold;"&gt;(1) How to draw now:&lt;/span&gt;&lt;br /&gt;To plot a 1-D surface function&lt;br /&gt;f(x) = sin(x)&lt;br /&gt;You can use:&lt;br /&gt;&lt;br /&gt;external matlab&lt;br /&gt;    reads surface_line;&lt;br /&gt;system&lt;br /&gt;    f(x) = sin(x);&lt;br /&gt;    surface_line = f(t);&lt;br /&gt;&lt;br /&gt;To plot a 2-D surface function&lt;br /&gt;x+y=0, you should treat x as t and&lt;br /&gt;define y in terms of x, so you get y = f(x),&lt;br /&gt;Then use above method to draw it.&lt;br /&gt;&lt;br /&gt;Or you can parameterize both x, and y with another z&lt;br /&gt;func_x (x) = sin(x);&lt;br /&gt;func_y (y) = cos(y);&lt;br /&gt;&lt;br /&gt;then define&lt;br /&gt;x_curve = func_x(t);&lt;br /&gt;y_curve = func_y(t);&lt;br /&gt;&lt;br /&gt;in matlab reads x_curve, and y_curve.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;(2) Problem:&lt;/span&gt;&lt;br /&gt;"This will work around the derivative issue and the code appears to work fine, but now I am unable to plot the surface that the vehicle traverses, because it is a function. Is there some way to do this? It would be helpful if once I have more complex surfaces I can see the surface and the system's response to the surface together on the plot. Thanks."&lt;br /&gt;&lt;br /&gt;"I agree that this will work, but it regresses back to what I had for the implementation before this. Before I could create a function, I had to individually create each track along the surface in terms of t. If you look at 2DofSpringDamper-4Wheel-Surface.phydl on my Wiki page, that is what I did there - after individually calculating each line along the surface in terms of t, I could plot them. However, this is not the ideal way to do things. Assuming a more complex system, or one where there are more than four objects tracking along a surface, it can become quite tedious to calculate each individually, and ideally the software should be able to do it for you. This was the whole point of adding functions in the first place - so that you dont have to calculate each function. Which worked (see 2DofSpringDamper-4Wheel-Surface2.phydl, allowing for modifications for derivative of function), but then its not helpful if you have to calculate each function anyway again to plot.&lt;br /&gt; &lt;br /&gt;Basically, while I agree that this will work around the problem, it is a step backwards, and I think that there is some better way to fix the problem. Everyone please let me know what they think."&lt;br /&gt; &lt;br /&gt;-Kevin&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;(3) Comments:&lt;/span&gt;&lt;br /&gt;"the problem is that Kevin would like to render a multi-parameter function (the surface), and we are only letting it pass to the outside world as a single parameter function.  This seems like a particularly enlightening situation, because it points out a limitation of the current way in which we are doing "external":  We are assuming that all external interactions with the outside world are simple values that are functions of times.  This is certainly a very useful thing to have, but it is not the only kind of thing that we'd like to have in external with the outside world. When we are working on real problems in Acumen and we are modeling a complex physical&lt;br /&gt;environment, this model will have complex constants that are basically functions, and we will want to have a good way to pass such functions back and forth with the outside&lt;br /&gt;tools."&lt;br /&gt;&lt;br /&gt;"[TO Angela]: In some sense, we can already achieve this with the current external mechanism. Basically, if we want to export a function f:A -&gt; B we can export it&lt;br /&gt;as (lambda (t) f) : T -&gt; A -&gt; B, which is a function that just ignores time.  The only problem, of course, is that the user on the other side is likely to recompute this function many times on the other side.  of course, we also have to have function spaces in our co-domain.  An alternative way that might be worth trying is to allow a new syntactic form "reads constant ..." and "writes constant ..." which basically does the trick that we are talking about above implicitly, and could possibly make it easier for outside programs to recognize this situation."&lt;br /&gt;&lt;br /&gt;-Walid&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-3561682173841627890?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/3561682173841627890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=3561682173841627890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/3561682173841627890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/3561682173841627890'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2008/02/drawing-surface-function.html' title='Drawing Surface Function [TODO]'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-1977017734348539286</id><published>2008-02-14T14:46:00.000-08:00</published><updated>2008-02-14T14:53:10.084-08:00</updated><title type='text'>Acumen [TODO]</title><content type='html'>&lt;span style="font-weight:bold;"&gt;For the paper:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(1) the formal definition of normalization,&lt;br /&gt;(2) the formal semantics,&lt;br /&gt;(3) a clear statement of the theorem(s) that you have,&lt;br /&gt;(4) the proof that you have.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;For the implementation:&lt;/span&gt;&lt;br /&gt;(1) &lt;span style="font-weight:bold;"&gt;About Equation Format&lt;/span&gt;&lt;br /&gt;  I don't like the fact that the equations in PhyDL have (1/m1 * ...).  In particular, this introduces division, which the original system did not have.  Also, it is notationally different (and heavier) than the original system.  Can we extend pre-processing to allow constant factors on the left-hand-side?&lt;br /&gt;  In the future, also, I would like us to explore more general questions, where, for example, we can always simply write equations in the form "0 = ...", which is how engineers generally write their force equations.  &lt;br /&gt;&lt;br /&gt;(2) &lt;span style="font-weight:bold;"&gt;About Precision&lt;/span&gt;&lt;br /&gt;  I (and an CS/PL reader would) see from this example is that the simulation parameter suggest that you probably don't provide very strong guarantees about accuracy.  In particular, the fact that you specify a step-size suggests that this is a low-level specification for a simulation.  When we are finally doing high-fidelity simulation, I would expect to see that a simulation run is specified in terms of the accuracy of the result, not how the engineer thinks the simulation ought to be run.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-1977017734348539286?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/1977017734348539286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=1977017734348539286' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/1977017734348539286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/1977017734348539286'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2008/02/acumen.html' title='Acumen [TODO]'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-4669547379076700889</id><published>2008-02-14T14:37:00.001-08:00</published><updated>2008-02-14T14:38:38.926-08:00</updated><title type='text'>Programming in Concoqtion [DONE]</title><content type='html'>- Instead of focusing on two data-structures, we should really focus&lt;br /&gt;  on concepts.  In fact, it would be better to start directly with saying&lt;br /&gt;  that we want to focus on the four programming techniques (existentials,&lt;br /&gt;  option types, match, and cast) and THEN saying that they will&lt;br /&gt;  be illustrated with examples using lists and braun trees.&lt;br /&gt;- Note:  We should write this section in the context of what was&lt;br /&gt;  already discussed in the paper.  For example, where lists not&lt;br /&gt;  discussed at all?&lt;br /&gt; - Also, the definitions of sized lists and braun trees can be&lt;br /&gt;   explain in section 1.  We can drop the current intro/opening&lt;br /&gt;   of section 2.  Also, it would be good to write each example&lt;br /&gt;   on a different line, so that they come up something like this:&lt;br /&gt;&lt;br /&gt;                           Nil : (0, 'a) list&lt;br /&gt;                 Cons (1, Nil) : (1, int) list&lt;br /&gt;     Cons ('a', Cons 'b', Nil) : (2, char) list&lt;br /&gt;&lt;br /&gt;   with the semi-colons aligned one on top of the other.&lt;br /&gt; - For the braun trees, it might be good to insert some little&lt;br /&gt;   diagrams.  If you want to do that, then it it would be good&lt;br /&gt;   to look for some latex packages for drawing small trees.&lt;br /&gt;   Alternatively, you can generate a high-quality pdf using an&lt;br /&gt;   easily available program, and we can include it in the tex&lt;br /&gt;   file.  Generally, the first option is preferable.&lt;br /&gt; - A section on existential quantification should explain in&lt;br /&gt;   broader terms why it would be needed in general.  First, it&lt;br /&gt;   should start with a clear statement:  While we have an explicit&lt;br /&gt;   construct for universal quantification at the level of types,&lt;br /&gt;   we do not have one for existential quantification.&lt;br /&gt;   Existential quantification arises natural in situations where&lt;br /&gt;   a function (such as a type-checker) has to produce a value with&lt;br /&gt;   a type that was not explicitly provided in the input.  &lt;br /&gt;   In fact, existentials would be needed whenever we have coercsions&lt;br /&gt;   from values of simple types to values of more refined depedent&lt;br /&gt;   types (such as converting from lists to sized lists).  It is&lt;br /&gt;   therefore&lt;br /&gt;   important to know how to Concoqtion can express a limited&lt;br /&gt;   for of existentials.  The basic idea is drawn from the following&lt;br /&gt;   relation between existential and universal quantification:&lt;br /&gt;&lt;br /&gt;      ... write equivalence here ...&lt;br /&gt;&lt;br /&gt; - Is it really necessary to understand how things work in Coq&lt;br /&gt;   to understand this trick?  We should keep everything as short&lt;br /&gt;   and as direct as possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-4669547379076700889?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/4669547379076700889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=4669547379076700889' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/4669547379076700889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/4669547379076700889'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2008/02/todo-programming-in-concoqtion.html' title='Programming in Concoqtion [DONE]'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-8439643482844423569</id><published>2008-02-14T14:34:00.000-08:00</published><updated>2008-02-14T14:39:05.229-08:00</updated><title type='text'>Related Work [TODO]</title><content type='html'>The current document features six slides.  The first two slides try&lt;br /&gt;to explain and distinguish between operational and denotational&lt;br /&gt;semantics.  Next, the slides try to explain some problems with&lt;br /&gt;each of these two approaches.  This is followed by a surprising&lt;br /&gt;brief discussion of a surprisingly small number of papers.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Things that are needed:&lt;/span&gt;&lt;br /&gt;-At the very beginning, give a clear description of your own work.&lt;br /&gt;  This is necessary here, because this is a stand alone document.&lt;br /&gt;  A very important part of this will be a clear statement of the&lt;br /&gt;  problem (or problems) that you are trying to solve.  Then, the&lt;br /&gt;  papers that you will talk about in the related work sections will&lt;br /&gt;  be essentially all the papers that try to solve the same problem or&lt;br /&gt;  problems.&lt;br /&gt;- Diagrams are fantastic, but it is absolutely essential to have&lt;br /&gt;  text that explains exactly what the intended meaning from each&lt;br /&gt;  one of these diagrams is.  This kind of textual explanation should&lt;br /&gt;  be the rule for any kind of display (diagram, equation, table, graph,&lt;br /&gt;  mathematical formula, etc).&lt;br /&gt;- When you start thinking about related work, you should immediately&lt;br /&gt;  start working on an extended "Related Work" section.  Such as an&lt;br /&gt;  extended related work section can be thought of as an annotated&lt;br /&gt;  bibliography:  It is a list of references, with your comment about&lt;br /&gt;  these references.  It is useful (for you, mainly) to have your&lt;br /&gt;  comments about all papers that you have read.  More important for&lt;br /&gt;  presentation to me is how you classify these papers (that is, how&lt;br /&gt;  you organize them into related groups) and how you explain the&lt;br /&gt;  relation between each of these other projects and your work.&lt;br /&gt;- Vitally, you need to add specific citations.  Yes, it is very&lt;br /&gt;  useful to explain how the literature can be divided, but it is&lt;br /&gt;  essential that such an explanation comes with statements about how&lt;br /&gt;  individual papers fall in each group.  It is also especially important&lt;br /&gt;  that you identify both examples papers in each group as well as&lt;br /&gt;  the papers that you and others view as important (not necessarily&lt;br /&gt;  the same).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Things that need rethinking:&lt;/span&gt;&lt;br /&gt;- Whatever classification you introduce, you should make sure that&lt;br /&gt;  you already know where your work falls.  It might be useful for&lt;br /&gt;  you to make a table (similar to the one in the concoqtion paper)&lt;br /&gt;  as you are trying to figure out how to organize the related work.&lt;br /&gt;  It is OK to find that you are redoing the table several times&lt;br /&gt;  until you get to something that you are happy with.&lt;br /&gt;- Avoid complex definitions, especially for things that are not&lt;br /&gt;  necessarily essential for your related work section.  Examples&lt;br /&gt;  are the subjects of operational and denotational semantics.  If&lt;br /&gt;  you think about what you have done, you have not really focused&lt;br /&gt;  on related work.  Instead, you tried to explain why there are&lt;br /&gt;  problems with operational and denotational semantics based design.&lt;br /&gt;  This is not a good idea, for two reasons.  First, it may not&lt;br /&gt;  be something that can be done very clearly.  Second, it is not&lt;br /&gt;  essential for your goal, which is organizing the related work,&lt;br /&gt;  and explaining where in this context your paper falls.&lt;br /&gt;- When you are doing a classification of papers, you can't do that&lt;br /&gt;  based on the title or the topic or what you heard about papers&lt;br /&gt;  or projects.  You really have to read the papers carefully and&lt;br /&gt;  determine for yourself what you think about the extent and the&lt;br /&gt;  way they have managed (or not managed) to solve "The Problem(s)"&lt;br /&gt;  that you have identified at the beginning of your related work&lt;br /&gt;  section.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-8439643482844423569?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/8439643482844423569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=8439643482844423569' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/8439643482844423569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/8439643482844423569'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2008/02/todo-related-work.html' title='Related Work [TODO]'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-4840512962206469822</id><published>2008-01-24T08:19:00.000-08:00</published><updated>2008-02-20T16:07:18.783-08:00</updated><title type='text'>New semester, New me</title><content type='html'>It is so bad to catch a flu at the beginning of the semester.&lt;br /&gt;Luckily everything goes fine now.&lt;br /&gt;It seems that a lot many people got seek during the winter break.&lt;br /&gt;&lt;br /&gt;We are preparing a paper aiming at ICESS'08.&lt;br /&gt;Also, my adviser might will be back to US soon.&lt;br /&gt;It is not good when he is not around, work has been slowed done. :)&lt;br /&gt;(Because my laziness.)&lt;br /&gt;&lt;br /&gt;Met several people during the POPL, which is really nice.&lt;br /&gt;&lt;br /&gt;I am going to do an internship again this summer, so &lt;br /&gt;will only have little time to visit my parents back in China.&lt;br /&gt;&lt;br /&gt;I am so looking forward to all the new challenges and good in the new &lt;br /&gt;semester.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-4840512962206469822?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/4840512962206469822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=4840512962206469822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/4840512962206469822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/4840512962206469822'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2008/01/new-semester-new-me.html' title='New semester, New me'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-3512053253829627269</id><published>2007-12-17T12:30:00.000-08:00</published><updated>2007-12-17T10:30:45.300-08:00</updated><title type='text'></title><content type='html'>Several things happened recently:&lt;br /&gt;Zhenzhen and Wei had an accident with their new car after their parents came. I wish everything will be good soon.&lt;br /&gt;My parents visa got rejected again (12/14) so I decided to go to California with my friends this winter.&lt;br /&gt;My adviser left for Egypt with his family, I had a chance to see his father on Friday.&lt;br /&gt;The day before yesterday was my birthday and I had a wonderful day with my friends.&lt;br /&gt;Got an invitation from Eugene and had a nice dinner time with them yesterday.&lt;br /&gt;Almost forgot my Comp320 take home final, so did it last time until after 1am.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-3512053253829627269?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/3512053253829627269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=3512053253829627269' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/3512053253829627269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/3512053253829627269'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2007/12/several-things-happened-recently.html' title=''/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-1113890531520894245</id><published>2007-12-04T12:21:00.000-08:00</published><updated>2007-12-04T12:22:43.659-08:00</updated><title type='text'></title><content type='html'>Just finished my Comp450 final exam.&lt;br /&gt;I think I need to study more on probabilistic problems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-1113890531520894245?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/1113890531520894245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=1113890531520894245' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/1113890531520894245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/1113890531520894245'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2007/12/just-finished-my-comp450-final-exam.html' title=''/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-3633374543985834294</id><published>2007-12-03T18:32:00.000-08:00</published><updated>2007-12-03T18:33:28.901-08:00</updated><title type='text'></title><content type='html'>It is so wired that the web proxy I wrote can process most process correctly, but always be problematic when accessing "http://www.rice.edu". :(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-3633374543985834294?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/3633374543985834294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=3633374543985834294' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/3633374543985834294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/3633374543985834294'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2007/12/it-is-so-wired-that-web-proxy-i-wrote.html' title=''/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-3594040621557711924</id><published>2007-11-09T07:22:00.000-08:00</published><updated>2009-03-19T21:03:29.502-07:00</updated><title type='text'>Malloc Dynamic Memory Allocator</title><content type='html'>Implementation is fun!~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-3594040621557711924?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/3594040621557711924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=3594040621557711924' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/3594040621557711924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/3594040621557711924'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2007/11/malloc-dynamic-memory-allocator.html' title='Malloc Dynamic Memory Allocator'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-6425526831339588647</id><published>2007-10-26T14:04:00.000-07:00</published><updated>2007-10-26T14:21:37.125-07:00</updated><title type='text'>Actor-Oriented Programming</title><content type='html'>(1) Loosely, actors are concurrent components that communicate through ports and interact according to a common patterns of interaction. &lt;br /&gt;&lt;br /&gt;(2) Primarily, actor-oriented design allows designers to consider the interaction between components distinctly from the specification of component behavior. ... Where others usually the communication mechanism becomes an integral part of a component design.  &lt;br /&gt;&lt;br /&gt;(3) AO platforms orthogonalize the actor definition language and the actor composition language, enabling highly polymorphic actor definitions and design using multiple models of computation. &lt;br /&gt;&lt;br /&gt;(4) Perhaps the most significant advantage of AO design is the use of patterns of component interaction with useful modeling properties. These patterns are termed models of computation. &lt;br /&gt;&lt;br /&gt;(5) Simulink is one of the most successful instances of model-based design. Simulink also represents an instance of what is called AO design.&lt;br /&gt;&lt;br /&gt;(6) A platform is an abstraction layer in the design flow, it is equivalently a set of design. Model-based design is about using platforms with useful modeling properties to specify designs, and then synthesizing implementations from these specifications. Hence model based design is the view from above (more abstract, closer to the problem domain) and platform-based design is the view from below (less abstract, closer tot he implementation technology.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-6425526831339588647?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/6425526831339588647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=6425526831339588647' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/6425526831339588647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/6425526831339588647'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2007/10/actor-oriented-programming.html' title='Actor-Oriented Programming'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-8562280404457658027</id><published>2007-09-26T12:07:00.000-07:00</published><updated>2008-08-28T18:46:35.403-07:00</updated><title type='text'>Ramdom notes on Recursion Function, Curry-Howard isomorphism, etc..</title><content type='html'>(1) Reasoning about structural recursive functions naturally relies on a proof by induction on the principle argument of these functions and thus follows the structure of pattern matching constructs present in these functions&lt;br /&gt;&lt;br /&gt;(2) According to the Curry-Howard isomorphism, the fact that a type is empty or not can carry logical information: The type represents a false or true formula.&lt;br /&gt;&lt;br /&gt;(3) Natural numbers provide a simple recursion structure that often plays a role in problems of data size or combinatorics. Integers provide a clear algebraic structure, the ring structure, and are based on a binary encoding that supports efficient implementations of the most basic operations. Real numbers are given by a set of axioms. The definitional approach does not make it possible to obtain a type of real numbers with the usual notion of equality. For these three kind of numbers, a total order is also provided.&lt;br /&gt;&lt;br /&gt;(4) The Coq system also provides a language called Ltac to define new tactics. Thanks to this language, we can write tactics with arguments without needing to master the internal structure of the proof engine. The Ltac engine is  original in the control structures it provides; however, it provides no data structures. All this makes this programming language quite exotic. Ltac is quite recent and its syntax and semantics are probably unstable. Still, we can program very concise proof search algorithms, sometimes with functions whose termination is not ensured.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-8562280404457658027?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/8562280404457658027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=8562280404457658027' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/8562280404457658027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/8562280404457658027'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2007/10/ramdom-notes-on-recursion-function.html' title='Ramdom notes on Recursion Function, Curry-Howard isomorphism, etc..'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-2922535777256651131</id><published>2007-08-25T11:30:00.000-07:00</published><updated>2008-08-28T18:46:22.398-07:00</updated><title type='text'>Theorem Prover and Proof Checker</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Decidability of the problem&lt;/span&gt;&lt;br /&gt;Depending on the underlying logic, the problem of deciding the validity of a theorem varies from trivial to impossible. For the frequent case of propositional logic, the problem is decidable but NP-complete, and hence only exponential-time algorithms are believed to exist for general proof tasks. For a first order predicate calculus, that is having no proper axioms, Gödel's Completeness Theorem states that the theorems are exactly the logically valid well-formed formulas, so identifying theorems is recursively enumerable, i.e., given unbounded resources, any valid theorem can eventually be proven. Invalid statements, i.e. formulas that are not entailed by a given theory, cannot always be recognized. In addition, a consistent formal theory that contains the first-order theory of the natural numbers (having certain proper axioms then), by Gödel's incompleteness theorems, contains a true statement which cannot be proven, in which case a theorem prover trying to prove such a statement ends up in nontermination.&lt;br /&gt;In these cases, a first-order theorem prover may fail to terminate while searching for a proof. Despite these theoretical limits, practical theorem provers can solve many hard problems in these logics.&lt;br /&gt;&lt;br /&gt;(1) Theorem proving is recursively enumerable&lt;br /&gt;(2) Proof verification: whether an existing proof for a theorem is certified valid or not. Decidable&lt;br /&gt;(3) Interactive theorem provers require a human user to give hints to the system. Depending on the degree of automation, the prover can essentially be reduced to a proof checker, with the user providing the proof in a formal way, or significant proof tasks can be performed automatically. Hard problems usually requires a proficient user.&lt;br /&gt;(4) Model checking, which is equivalent to brute-force enumeration of many possible states (although the actual implementation of model checkers requires much cleverness, and does not simply reduce to brute force).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-2922535777256651131?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/2922535777256651131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=2922535777256651131' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/2922535777256651131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/2922535777256651131'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2007/10/theorem-prover-and-proof-checker.html' title='Theorem Prover and Proof Checker'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-6088235154020007764</id><published>2007-07-22T11:02:00.000-07:00</published><updated>2008-08-28T18:46:07.413-07:00</updated><title type='text'>Ptolemy II + HyVisual</title><content type='html'>I found a very interesting work on modeling continuous-time dynamics today.&lt;br /&gt;From its description on its website, it seems very close to what we are trying to do here:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Hybrid systems are systems with continuous-time dynamics, discrete events, and discrete mode changes. This visual modeler supports construction of hierarchical hybrid systems. It uses a block-diagram representation of ordinary differential equations (ODEs) to define continuous dynamics. It uses a bubble-and-arc diagram representation of finite state machines to define discrete behavior.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I wish to learn more about this and see how does it related to my work.&lt;br /&gt;&lt;br /&gt;The difference between Ptolemy and Simulink:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Ptolemy II has much more in common with Simulink, which is a graphical block-diagram language, originally developed for control system design. Simulink has a rich and expressive model of computation with continuous-time semantics and support for periodic discrete-time signals. Some of its principles have been incorporated in the CT (continuous-time) domain of Ptolemy II, but not all. The CT domain, for example, does not have the notion of "sample time" (which in Simulink provides the periodic discrete-time support) nor the support for algebraic loops. There is also currently no code generation support in CT (in Simulink, this is provided through the associated product Real-Time Workshop). Also, the CT domain has implemented fewer ODE solvers than those provided by Simulink and has a smaller actor library.&lt;br /&gt;&lt;br /&gt;Ptolemy II and Simulink both support extension of the actor library through well-defined interfaces (in Simulink, this is called the S-function interface). However, Ptolemy II is a more open architecture in that its infrastructure is open source, and the interfaces to the core mechanisms in the software are published and documented. The persistent file format (MoML) is XML in Ptolemy II, which makes it both more verbose and more portable than the Simulink syntax (MDL files). Simulink supports one model of computation, whereas Ptolemy II supports several, and can be extended with new models of computation. Simulink can also be extended, as for example it has been with the associated product Stateflow, which supports state-machine modeling. But in Simulink, the extension is done by defining new blocks using the S-function interface. As such, additional models of computation added this way are second class. For example, they cannot define the model of computation at the top level of the hierarchy, and cannot contain Simulink models within their own components.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ptolemy.eecs.berkeley.edu/hyvisual/"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-6088235154020007764?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/6088235154020007764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=6088235154020007764' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/6088235154020007764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/6088235154020007764'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2007/10/ptolemy-ii-hyvisual.html' title='Ptolemy II + HyVisual'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-8336330986564259321</id><published>2007-06-05T20:07:00.000-07:00</published><updated>2008-08-28T18:45:29.426-07:00</updated><title type='text'>"Good Morning"</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_wc0wQsEWVEE/RuAbRNKizSI/AAAAAAAAABo/j1gTALF1IiE/s1600-h/good_mornign.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_wc0wQsEWVEE/RuAbRNKizSI/AAAAAAAAABo/j1gTALF1IiE/s320/good_mornign.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5107111959843753250" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Another Sunny day.&lt;br /&gt;&lt;br /&gt;I have a presentation today.&lt;br /&gt;I got up around 7:00, check eamil, take a shower,&lt;br /&gt;grab a piece of bread, jump into my car, and head to school.&lt;br /&gt;&lt;br /&gt;After parking my car in the parking lot, the school bus came.&lt;br /&gt;I get onto the bus, and say "Good morning" to the driver as usual.&lt;br /&gt;And a warm reply got I.&lt;br /&gt;&lt;br /&gt;In next stop, more students were there.&lt;br /&gt;They got onto bus one after another. &lt;br /&gt;To everyone of them, the driver said "Good morning!" with a big smile.&lt;br /&gt;&lt;br /&gt;However, a girl didn't reply, a boy ignored it, another girl no reply,...&lt;br /&gt;and well, maybe one or two of them, said hello to the driver.&lt;br /&gt;&lt;br /&gt;It was really unexpected. &lt;br /&gt;Like in China, few driver of public transpotation will say hell to passenger.&lt;br /&gt;And on the contrary, people will usually reply a greeting if there is some.&lt;br /&gt;&lt;br /&gt;The driver keeped her smile and greeting to every one on every stop.&lt;br /&gt;I think only 20-30% replied. I am really feel bad of that..&lt;br /&gt;&lt;br /&gt;When the bus reached Duncan Hall, I got my staff and stepped out of the bus with a really sincerelly "thank you".&lt;br /&gt;Not only for the convenience she gave us, but also more for her insist on bringing a really &lt;em&gt;&lt;font color=Orange size=3%&gt;"Good morning"&lt;/font&gt;&lt;/em&gt; to others.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-8336330986564259321?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/8336330986564259321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=8336330986564259321' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/8336330986564259321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/8336330986564259321'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2007/09/good-morning.html' title='&quot;Good Morning&quot;'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_wc0wQsEWVEE/RuAbRNKizSI/AAAAAAAAABo/j1gTALF1IiE/s72-c/good_mornign.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-3212014956294266255</id><published>2007-05-04T14:58:00.000-07:00</published><updated>2008-08-28T18:45:14.803-07:00</updated><title type='text'>About Lagrangian mechanics</title><content type='html'>&lt;font color=blue&gt;Something for me to remember today. &lt;/font&gt;&lt;br /&gt;&lt;br /&gt;(1) In Lagrangian mechanics, the trajectory of an object is derived by finding the path which minimizes the action, a quantity which is the integral of the Lagrangian over time. The Lagrangian for classical mechanics is taken to be the difference between the kinetic energy and the potential energy.&lt;br /&gt;&lt;br /&gt;(2) Using Lagrangian mechanics, there are no vector quantities involved in the calculations, which simplifies problems a great deal. But also sometimes makes the results hard to intepret.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-3212014956294266255?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/3212014956294266255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=3212014956294266255' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/3212014956294266255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/3212014956294266255'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2007/09/about-lagrangian-mechanics.html' title='About Lagrangian mechanics'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-5192141662157024386</id><published>2007-04-04T06:17:00.000-07:00</published><updated>2008-08-28T18:45:04.375-07:00</updated><title type='text'>Functional Programming and Simulatioin of Dynamical Systems</title><content type='html'>&lt;font color=blue&gt;&lt;strong&gt;We give you the right tool to do your work!&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_wc0wQsEWVEE/Rt1b7tKizQI/AAAAAAAAABY/Cm2qKcr8byk/s1600-h/think_hard"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_wc0wQsEWVEE/Rt1b7tKizQI/AAAAAAAAABY/Cm2qKcr8byk/s200/think_hard" border="0" alt=""id="BLOGGER_PHOTO_ID_5106338633802239234" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Why in Acumen we choose its basic language to be a functional programming Language?&lt;br /&gt;&lt;br /&gt;The most important reason is that we hope to model the system in the most natural way. This includes two sides.&lt;br /&gt;At the syntax level, what we can do is to use the notations of math that is already widely used by engineers for&lt;br /&gt;dynamics and kinematics. One the other hand, which is also more important, is that mathematical model of dynamics&lt;br /&gt;usually involves functional derivatives. &lt;br /&gt;&lt;br /&gt;Functional derivatives are derivatives of functionals: i.e. they carry information on how a functional changes, when the function changes by a small amount. The name &lt;strong&gt;functional&lt;/strong&gt; is  used as for a specific kind of function that takes functions as its argument; that is, a function whose domain is a set of functions. In functional programming language, we have lambda calculus and higher-order function (that accepts a function and returns some value or function), and thus functions can be manipulated as first order value in program.&lt;br /&gt;&lt;br /&gt;To be more specific, let's consider a simple example. To find the curve of shortest length connecting two points. If there are no constraints, the solution is obviously a straight line between the points. However, if the curve is constrained to lie on a surface in space, then the solution is less obvious, and possibly many solutions may exist. Such solutions are known as geodesics. A general solution is to integrate the path and find the minimized length of the path. Here the integral to be minimized should be a functional, applied to an as-yet unknown function satisfying only some boundary conditions, and differentiability conditions.&lt;br /&gt;&lt;br /&gt;Especially in Lagrangian mechanics, a lot of all the operations are on functions(see &lt;a href="http://en.wikipedia.org/wiki/Lagrange_equation"&gt;Lagrangian mechanics&lt;/a&gt;). Our inspirations in designing Acumen comes from how to represent those equations natually, and inteprete them in the nature mathematical way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-5192141662157024386?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/5192141662157024386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=5192141662157024386' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/5192141662157024386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/5192141662157024386'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2007/09/functional-programming-and-simulatioin.html' title='Functional Programming and Simulatioin of Dynamical Systems'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_wc0wQsEWVEE/Rt1b7tKizQI/AAAAAAAAABY/Cm2qKcr8byk/s72-c/think_hard' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-2451745055474277319</id><published>2007-03-28T12:35:00.000-07:00</published><updated>2008-08-28T18:44:28.206-07:00</updated><title type='text'>亲爱的，那不是爱情</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_wc0wQsEWVEE/SLcBEkCbSgI/AAAAAAAAAIE/dUrH6srqy_0/s1600-h/rose.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_wc0wQsEWVEE/SLcBEkCbSgI/AAAAAAAAAIE/dUrH6srqy_0/s200/rose.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5239657869373819394" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;玫突然发现自己是个很不负责人的人。&lt;br /&gt;不，其实玫一直知道自己是个不负责任的人。&lt;br /&gt;&lt;br /&gt;知道曵住进医院虽然已经有好几天了，&lt;br /&gt;可是玫还是一拖再拖不去看他。&lt;br /&gt;因为不知道怎么面对曵。&lt;br /&gt;其实是不知道自己怎么面对自己吧。&lt;br /&gt;&lt;br /&gt;玫有太多缺点。&lt;br /&gt;没有安全感、小心眼、马虎、怕吃苦、虚荣、虚伪 ...&lt;br /&gt;只是因为很幸运地生就一副好皮囊，&lt;br /&gt;又有些小聪明，知道怎么去掩饰自己的不足，&lt;br /&gt;所以奇迹般的，很多人会认为玫是个不错的女孩，尤其是男生。&lt;br /&gt;&lt;br /&gt;玫知道，自己唯一的优点，可能就是，&lt;br /&gt;玫其实是很珍视每一份感情的，而且从来不愿意伤害谁，&lt;br /&gt;虽然结果是不是没有人受伤，就不是玫的智商可以控制的了。&lt;br /&gt;&lt;br /&gt;玫看起来挺聪明，对于书本上的死知识也还算有一套，&lt;br /&gt;可是对于感情经常糊里糊涂的，&lt;br /&gt;搞不清到底事情是怎样，应该怎么做是对的，&lt;br /&gt;更糟糕的是，玫连自己的心在哪里有时都不知道。&lt;br /&gt;经常是很久很久以后，&lt;br /&gt;才知道事发时自己不可理喻的举止是出于什么。&lt;br /&gt;&lt;br /&gt;就像曵，&lt;br /&gt;玫从来不知道曵在自己心里是什么样的地位，&lt;br /&gt;对于曵，玫真的很迷茫。&lt;br /&gt;也许因为曵有很多优点吧：&lt;br /&gt;办事负责，很在乎玫，勤快细心，没什么废话，也不会花言巧语，&lt;br /&gt;很有人缘，很随和，对玫极有耐心-无论是听玫唠叨，还是陪玫办事。。。。。。&lt;br /&gt;可是曵也有很多缺点：&lt;br /&gt;不会哄女孩子，对女生的心思很不开窍，大部分时候比较闷。&lt;br /&gt;（不应该用“很多”，该用“致命”才对。）&lt;br /&gt;&lt;br /&gt;最初在知道曵有女友的时候，真的很糟糕，&lt;br /&gt;就像小时候看到妈妈抱别人家的小孩一样的烧心的感觉。&lt;br /&gt;玫很坏，在别人面前装作没事，甚至可以开怀的拿曵和他mm打趣，&lt;br /&gt;可是只有玫和曵的时候，玫会故意说一些尖酸的，让曵难受的话。&lt;br /&gt;玫的聪明不用在正处，挖苦人可以做到不着痕迹。&lt;br /&gt;&lt;br /&gt;玫也知道自己很荒唐，&lt;br /&gt;自己先有bf的，尽管跟没有没两样，可能还更糟。&lt;br /&gt;玫曾经跟曵说，自己想远远地逃开这个地方，&lt;br /&gt;玫还真的能做到。&lt;br /&gt;玫在想做一件事的时候真的是个急性子，&lt;br /&gt;所以在快要离别的时候，兴奋淹没了玫，&lt;br /&gt;连心里是否有牵挂、或留念，都没有察觉出来。&lt;br /&gt;到底有没有，有多少？玫不知道。&lt;br /&gt;&lt;br /&gt;对于曵，&lt;br /&gt;玫很自私，&lt;br /&gt;知道该放手，知道曵太值得找到他自己的幸福，&lt;br /&gt;可是玫还是有意无意丢下了牵绊，让曵割舍不下。。&lt;br /&gt;&lt;br /&gt;玫经常觉得很累，&lt;br /&gt;当可以什么都不在乎的时候，&lt;br /&gt;玫可以装糊涂，像个孩子似的跟曵哭诉，&lt;br /&gt;到底哭的是什么，玫自己都不知道。&lt;br /&gt;&lt;br /&gt;。。。&lt;br /&gt;&lt;br /&gt;玫不知道该不该去看曵，&lt;br /&gt;玫很清楚住院的人心理防线最脆弱，&lt;br /&gt;这个时候女孩的关爱最具杀伤力，也最能抓住人的心。&lt;br /&gt;玫也知道，如果这个时候让男孩觉得自己不在乎，不关心，&lt;br /&gt;也是最容易让人心寒，让人放弃。&lt;br /&gt;&lt;br /&gt;对于曵，玫知道，不放手只会最终伤害他，&lt;br /&gt;因为玫知道，自己不会停留在这里。&lt;br /&gt;可是玫也无法打败自己那无耻的自私，&lt;br /&gt;总是希望在曵眼里，会有些与众不同。。。&lt;br /&gt;&lt;br /&gt;玫不想再牵住曵，更不想曵恨她。。。&lt;br /&gt;&lt;br /&gt;最后，玫和另一个女孩子一起去看的曵，&lt;br /&gt;停留的时间也很短，&lt;br /&gt;算是折中吧，玫无力地想。&lt;br /&gt;玫从来不够勇敢，&lt;br /&gt;玫也很不负责任，&lt;br /&gt;所以玫再次地选择了逃避。。。。。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(50, 350, 0);"&gt;&lt;br /&gt;PS：&lt;br /&gt;自己的故事？身边的故事？真实的？虚构的？别去猜了。&lt;br /&gt;如果真的有这样一个女孩，你觉得是可爱？可悲？还是可恨？&lt;br /&gt;如果你是男孩，你愿意你的生命中遇到这样一个女孩么？&lt;br /&gt;如果你是女孩，你能够理解这样的脆弱和“自私 ”么？&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-2451745055474277319?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/2451745055474277319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=2451745055474277319' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/2451745055474277319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/2451745055474277319'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2008/08/blog-post_28.html' title='亲爱的，那不是爱情'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_wc0wQsEWVEE/SLcBEkCbSgI/AAAAAAAAAIE/dUrH6srqy_0/s72-c/rose.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-7262114340370126293</id><published>2007-02-26T18:33:00.000-08:00</published><updated>2008-08-28T18:44:03.090-07:00</updated><title type='text'>向左走 向右走</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_wc0wQsEWVEE/SLSwo2b6-BI/AAAAAAAAAHc/vUyWxtAA60c/s1600-h/stars.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_wc0wQsEWVEE/SLSwo2b6-BI/AAAAAAAAAHc/vUyWxtAA60c/s200/stars.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5239006482392610834" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;有两个人是好朋友。&lt;br /&gt;&lt;br /&gt;小女孩叫银，她鬼灵精怪，爱说爱笑，总像银铃一样发着光芒和声响。&lt;br /&gt;小男孩叫石头，比较内向，尽管性格里有着对幸福和苦难的敏感，也有着愤世嫉俗的偏执。&lt;br /&gt;小女孩交际很广泛，和很多男生打成一片。&lt;br /&gt;不谙世事的她，出于虚荣心的驱使，总是希望表现发光的一面，有点"八面玲珑"的伪装。&lt;br /&gt;只有和石头在一起的时候，她能够放下面具，说说心里话。&lt;br /&gt;并不是她愿意这样，只是石头很聪明，也很敏感，在他面前作假会很累，所以干脆坦诚以对，缺点和任性也不在乎。&lt;br /&gt;银喜欢和石头在一起，但她以为这只是因为他很优秀，很出众，跟他聊天也很轻松。&lt;br /&gt;她只是把他当一个知己和朋友。&lt;br /&gt;&lt;br /&gt;直到有一天，只有他们两人在一起，不知道是不是出于荷尔蒙的作怪，&lt;br /&gt;银很过火的向石头暗示了什么，连她自己都很惊讶，因为从来没有认真这样考虑过。&lt;br /&gt;可是银碰了钉子。&lt;br /&gt;"反正我不在乎，没什么了不起的。"银这样安慰自己。&lt;br /&gt;可是银慢慢的发现，也许是自己伪装了太久，竟然发现冲动不仅仅是冲动。&lt;br /&gt;当被拒绝时，仔细反想，才发现，冲动并不是冲动，而是连自己都不知道的潜意识。&lt;br /&gt;&lt;br /&gt;银也很骄傲，不承认自己很受伤。&lt;br /&gt;很多时候银满不在乎，可是这次好像比较难。&lt;br /&gt;徘徊在骄傲、潜意识、和长期伪装的惯性，银和石头错过了很多机会。&lt;br /&gt;他们彼此伤害，银开始有划痕，石头也开始出现表层被风化的迹象。&lt;br /&gt;&lt;br /&gt;后来银遇到了风，出于赌气，银开始追着风跑。&lt;br /&gt;可是风总是飘忽不定，银很无奈。&lt;br /&gt;可是银也觉得很新奇，因为风总是带来很多好玩的信息，因为他吹过很多地方。&lt;br /&gt;银想抓住风，但是无论如何，风就是风。&lt;br /&gt;银慢慢开始不再发光，越来越暗淡，因为风里面有大量的氧，&lt;br /&gt;而银表面的划痕加速了自己的氧化。&lt;br /&gt;&lt;br /&gt;石头带着破裂的表层找过银，可是银就是任性，无知，&lt;br /&gt;只记得划痕是石头弄的，却忘了石头却伤的更甚。&lt;br /&gt;&lt;br /&gt;后来，石头遇到了溪，&lt;br /&gt;溪晶莹剔透，开朗欢快。&lt;br /&gt;溪不像银那么刻薄，她包容，体贴。&lt;br /&gt;溪冲走了石头表面的那层，慢慢的，石头也变得晶莹剔透，光彩夺目，&lt;br /&gt;原来石头是块玉石，经过溪的冲磨，才找到了自己。&lt;br /&gt;玉和溪从此在一起，快乐得令人羡慕。&lt;br /&gt;&lt;br /&gt;银离开了风，因为和风在一起很累，银也知道，&lt;br /&gt;其实自己和风不是一类。&lt;br /&gt;但银感谢风，因为从那里她学会了很多，也更了解了自己。&lt;br /&gt;&lt;br /&gt;氧化后的银开始变的不那么活跃了，但是她很平静，也很感激。&lt;br /&gt;她终于懂得，什么是真正的宝贵和幸福。&lt;br /&gt;她很珍惜和石头在一起的日子，因为银敲在石头上的声音很悦耳。&lt;br /&gt;但她也知道，石头是不属于她的，就像她不属于石头一样。&lt;br /&gt;她衷心为玉和溪高兴。&lt;br /&gt;。。。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-7262114340370126293?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/7262114340370126293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=7262114340370126293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/7262114340370126293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/7262114340370126293'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2008/08/blog-post.html' title='向左走 向右走'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_wc0wQsEWVEE/SLSwo2b6-BI/AAAAAAAAAHc/vUyWxtAA60c/s72-c/stars.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3525774626759039680.post-2147295823638419850</id><published>2007-01-19T06:10:00.000-08:00</published><updated>2008-08-28T18:43:30.030-07:00</updated><title type='text'>A Note on DSL</title><content type='html'>&lt;strong&gt;&lt;font color=blue&gt;"Our aim is your target!" &lt;/font&gt;&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_wc0wQsEWVEE/Rt1gZNKizRI/AAAAAAAAABg/Q_qMdT2Av04/s1600-h/target"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_wc0wQsEWVEE/Rt1gZNKizRI/AAAAAAAAABg/Q_qMdT2Av04/s200/target" border="0" alt=""id="BLOGGER_PHOTO_ID_5106343538654891282" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;People like to do things in an easy way. What does easy mean? Looking for the definition in a dictionary, you find that it can mean “requiring little effort”, “free from trouble”, so that you know how to handle it at the first glance.&lt;br /&gt;What do you do when you get a new machine? Say, a microwave? Well, I bet you won’t go through the tedious manual attached, but rather go ahead to the buttons and usually you have no problem to make it work. But how if the new machine is something you never touched before?&lt;br /&gt;Similar things happen in engineering. With computer technology becoming ubiquitous and popular, most scientist and engineers in other domains, say mathematicians or physicians, tends to use computer programs help solving their problems. Those people have good backgroud in their major, but might not be a computer scientist, or even, a good programmar. As some of my friends, who are not doing CS, they always feel frustrated when it comes to programms. First, because of the restriction in the language, like grammars and syntax, it might be not easy to find a way to express what they want. In some case, it demands a lot of effort on converting the same knowledge into a totally different form, in which the process itself might be error-prone. While mathematics gives us a huge space for thinking and describing real world, it becomes pretty much in a restricted form when going to computer programs in a perticular programming languages. Second, because the program execution might not be consistant with the idea how problems get solved, it might lack precision and ability of being understood for the final results. These burden scientists or engineers with extra effort on dealing with programs and its analysis thus impaires their productivity and creativity in a non-trivial way.&lt;br /&gt;There comes &lt;strong&gt;Domain Specific Languages (DSL)&lt;/strong&gt;  which is designed with a significant objective of making programming in the specific domain much easier. As a lot of people with great knowledge and bright ideas have worked on it for a long while, I doubt can I do better than than do? Well, here I'd like to quote some words from my advisor which is very encouraging (not taken literally): As far as we get this enthusiasm and have considerable background on both programming languages and the domain we are intrested, plus there is a need on this, we can definitely come up with some great idea.&lt;br /&gt;This is of course not simple. First, we need to make it clear, what kind of language we desire. For those DSLs that are widely used and greatly admitted as a good DSL, , while some of them are doing a great job in their domain, some just win because of there "fluent interface". As said earlier, the target of a DSL is to ease the programming in a specific domain, a good interface that makes the program looks pretty much like the things it is describing of course weight. But is that enough? No, what's more important is how the language elements orgnized. Does the combining of language elements reflects the combining of ideas in the domain? So that it keeps all the power and flexibility of original world, e.g., mathematics? (Following graph described the desired language's position, which is in between pure mathematics and some existing languages.)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_wc0wQsEWVEE/Rt1aQtKizPI/AAAAAAAAABQ/9v8ysi5vi1k/s1600-h/Picture_DSL.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_wc0wQsEWVEE/Rt1aQtKizPI/AAAAAAAAABQ/9v8ysi5vi1k/s320/Picture_DSL.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5106336795556236530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What's more, design process in the specific domain can gain advantage from a good DSL. For a design, we first have its &lt;strong&gt;specification&lt;/strong&gt;, which portraits what we want. Then, there comes &lt;strong&gt;algorithms&lt;/strong&gt; that aims at achieve this design. Finally, &lt;strong&gt;programs&lt;/strong&gt; are just implementations of the algorithm in a specific language. For instance, when we want to sort a list of numbers, first we give the specification "the sorted list is a permutation of original list where numbers appear in a decendant (non-increment) order." We have tons of algorithm that might achieve this goal, to our knowledge, algorithms like quick sort, bubble sort, insertion sort are all correct ones. And we do have more incorrect ones. Finally, these algorithms are described in C, C++, Java, OCaml, Fortran, etc..&lt;br /&gt;A good will is that we can program directly from specification, or more close to the specificaiton. This might be very expensive (for the example of sorting, list all the possible permutations and check the order one by one), and non practical at all. Whether the language is efficient seems not to be an interest here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3525774626759039680-2147295823638419850?l=angelaatrice.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://angelaatrice.blogspot.com/feeds/2147295823638419850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3525774626759039680&amp;postID=2147295823638419850' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/2147295823638419850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3525774626759039680/posts/default/2147295823638419850'/><link rel='alternate' type='text/html' href='http://angelaatrice.blogspot.com/2007/06/note-on-dsl.html' title='A Note on DSL'/><author><name>Angela Zhu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_wc0wQsEWVEE/Rt1gZNKizRI/AAAAAAAAABg/Q_qMdT2Av04/s72-c/target' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
