<?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-5376107083073034697</id><updated>2011-07-08T04:15:18.133-07:00</updated><title type='text'>cs</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bincmu.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5376107083073034697/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bincmu.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>berniefu@gmail.com</name><uri>http://www.blogger.com/profile/06278204524366522378</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><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5376107083073034697.post-5752036522630500681</id><published>2009-09-08T20:20:00.000-07:00</published><updated>2009-09-08T20:28:58.520-07:00</updated><title type='text'>First taste on the facebook application</title><content type='html'>I decided to write a facebook application. At least, that will increase my odds to work for facebook, isn't it?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Or, at least it helps me to work for xiaonei.com...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OK, come back to the point. Just follow the instruction on facebook. But several things remain to stop me from doing that. Several lessons:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;* Use a host that supports php5 (or, maybe php4 is good enough?). I used godaddy's economical hosting, whose default configuration (IIS6) doesn't support php at all. Fortunately it provides a free (!!) update to IIS7 which works for php5. That confused me quite a while.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;* Be careful for the settings:&lt;/div&gt;&lt;div&gt;   - Call back URL. Make sure to end with a "/" at last.&lt;/div&gt;&lt;div&gt;   - Use a IFrame to start with, and you can see the results for even a single HTML source page. Then be careful to change to FBML.&lt;/div&gt;&lt;div&gt;   - When using FBML, write a index.php and write code to that file. Now I'm using the example provided by facebook (&lt;span class="Apple-style-span" style="font-family: 'lucida grande'; font-size: 11px; "&gt;Get started quickly with some &lt;a onclick="return show_example_code(&amp;quot;125687791913&amp;quot;, &amp;quot;bernie_1st_test&amp;quot;, &amp;quot;489d6cad2ec06ec533ac597409d92625&amp;quot;, &amp;quot;4d36120b610e173aada4432c1245f4a0&amp;quot;, &amp;quot;http:\/\/www.facebook.com\/developers\/editapp.php?app_id=125687791913&amp;quot;, &amp;quot;http:\/\/www.berniefu.net\/guess\/&amp;quot;, &amp;quot;http:\/\/apps.facebook.com\/berniefu\/&amp;quot;);" style="cursor: pointer; color: rgb(59, 89, 152); text-decoration: none; "&gt;example code&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Georgia; font-size: 16px; "&gt;) which is a php code (FBML also works).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Gotta move on. Add oil!&lt;/div&gt;&lt;div&gt;      &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5376107083073034697-5752036522630500681?l=bincmu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bincmu.blogspot.com/feeds/5752036522630500681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bincmu.blogspot.com/2009/09/first-taste-on-facebook-application.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5376107083073034697/posts/default/5752036522630500681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5376107083073034697/posts/default/5752036522630500681'/><link rel='alternate' type='text/html' href='http://bincmu.blogspot.com/2009/09/first-taste-on-facebook-application.html' title='First taste on the facebook application'/><author><name>berniefu@gmail.com</name><uri>http://www.blogger.com/profile/06278204524366522378</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-5376107083073034697.post-1688501884733128619</id><published>2009-07-26T14:59:00.001-07:00</published><updated>2009-07-26T14:59:31.557-07:00</updated><title type='text'>MapReduce.. PartI</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; "&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;div&gt;I want to summarize my recent experience using MapReduce Framework.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Actually I will start after if you can successfully run a single-alone version of "wordcount" application. And it is more than just putting everything of single-alone code to the cluster and run it.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Moreover, I'll not introduce how to configure MapReduce on the cluster... Actually this time someone else has set it up for us users. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let's begin now.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Tip#1&lt;/b&gt;&lt;/div&gt;&lt;div&gt;This one is related not to MapReduce, but the difference between Windows and Linux.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well, as i found out earlier, &lt;b&gt;cygwin&lt;/b&gt; is a cool tool, because you can simulate a Linux environment from windows, &lt;b&gt;AND&lt;/b&gt; something more: for example, after I setting up Java environment under windows, you can directly use that Java under linux as well, without the need to install again. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well... really good?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, as I turned out later then, another programming tool, &lt;b&gt;gcc&lt;/b&gt;, yeilds &lt;b&gt;different&lt;/b&gt; results when compiling under &lt;b&gt;cygwin&lt;/b&gt; and &lt;b&gt;real Linux&lt;/b&gt;. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Maybe Java indeed is more a platform-independent programming language.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Tip#2&lt;/b&gt;&lt;/div&gt;&lt;div&gt;There are several reasons why programs running fine under single-alone MapReduce framework cannot work on the cluster (fully distributed MapReduce mode).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is one:&lt;/div&gt;&lt;div&gt;You should not assume that, you can smoothly pass parameters to Map and Reduce functions, from, e.g., class member variables. For example:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;public class WordCount {  &lt;/div&gt;&lt;div&gt;   int screwyou;&lt;/div&gt;&lt;div&gt;   public static class Map ...&lt;/div&gt;&lt;div&gt;   {&lt;/div&gt;&lt;div&gt;      public void map()&lt;/div&gt;&lt;div&gt;      {&lt;/div&gt;&lt;div&gt;          ...&lt;/div&gt;&lt;div&gt;      }&lt;/div&gt;&lt;div&gt;   }&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;   public static class Reduce ...&lt;/div&gt;&lt;div&gt;   {&lt;/div&gt;&lt;div&gt;      public void reduce()&lt;/div&gt;&lt;div&gt;      {&lt;/div&gt;&lt;div&gt;          ...&lt;/div&gt;&lt;div&gt;      }&lt;/div&gt;&lt;div&gt;   }&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;   public static void main(String[] args) throws Exception {  &lt;/div&gt;&lt;div&gt;      int screwyou=1;&lt;/div&gt;&lt;div&gt;      ...&lt;/div&gt;&lt;div&gt;   }  &lt;/div&gt;&lt;div&gt;}  &lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then you cannot assume that map/reduce function can access to screwyou variable (because you're screwed). Instead, you need some other mechanism to pass variable. Actually I haven't understood very well how to do that, but the general idea is, use:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;public void configure(JobConf job) {}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;function inside map and reduce to pass values. You can look at RandomWriter.java to see the example there.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;to be continued...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5376107083073034697-1688501884733128619?l=bincmu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bincmu.blogspot.com/feeds/1688501884733128619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bincmu.blogspot.com/2009/07/mapreduce-parti.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5376107083073034697/posts/default/1688501884733128619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5376107083073034697/posts/default/1688501884733128619'/><link rel='alternate' type='text/html' href='http://bincmu.blogspot.com/2009/07/mapreduce-parti.html' title='MapReduce.. PartI'/><author><name>berniefu@gmail.com</name><uri>http://www.blogger.com/profile/06278204524366522378</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-5376107083073034697.post-6507895609890208154</id><published>2009-06-28T12:38:00.000-07:00</published><updated>2009-06-28T13:43:01.490-07:00</updated><title type='text'>EM and etc.</title><content type='html'>OK, i admit that it's the Nth time that I studied EM algorithm all over again. But I don't quite blame myself when N&lt;=10. I follows &lt;a href="http://en.wikipedia.org/wiki/Em_algorithm"&gt;wikipedia&lt;/a&gt; page but didn't finish reading that. So were some other materials like &lt;a href="http://www.cc.gatech.edu/~dellaert/em-paper.pdf"&gt;this&lt;/a&gt;. Two most unbearable things related: different set of notations, and theory without concrete and suitable examples.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So what is EM? Well, i know its Expectation and Maximization... Well, firstly it's a way to do &lt;a href="http://en.wikipedia.org/wiki/Maximum_likelihood"&gt;MLE&lt;/a&gt;. Actually it is said to be able to do MAP as well. EM promises to find a local minimum but cannot always find global minimum if the distribution is  multi-modal. I just realized the &lt;a href="http://www.cs.cmu.edu/~guestrin/Class/10701/slides/em-pca-annotated.pdf"&gt;derivation&lt;/a&gt; from our course advisor Carlos Guestrin very useful... I must be misunderstanding him for a long tim.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In short, we want to:&lt;/div&gt;&lt;div&gt;arg max(theta) (Data Likelihood), or&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;arg max(theta) (Log P(data))&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And assume we have some observable variable notated by X and some hidden variable notated by Z, then a two-step EM procedure is defined as:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;First, set initial theta randomly. Then, for each iteration:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;E-step: Calculate&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Q(t+1)(z|xj) = P(Z|Xj, theta(t))&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;M-step:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;arg max(theta) [sigma(j) sigma(z) Q(t+1)(z|xj) logP(z,xj|theta)]&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Several points here. First, after E-step, the Q(t+1)(z|xj) is settled, and we can consider it as a constant in M-step; Second, i think we really need some examples to get a clearer idea of what those formula means. I'll give two examples here, but i'll just explain the variable, rather than go through the whole calculations.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Example1 Gaussian Mixture Model (GMM)&lt;/b&gt;&lt;/div&gt;&lt;div&gt;The most popular example. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Assume that we have 2 (can be &gt;2) gaussian distribution, each with &lt;b&gt;mu&lt;/b&gt; (central point) and &lt;b&gt;sigma&lt;/b&gt; (variance). Assume each point is generated by the following steps: 1. select which gaussian distribution it comes from (by another variables &lt;b&gt;tau1&lt;/b&gt;, and &lt;b&gt;tau2&lt;/b&gt;=1-&lt;b&gt;tau1&lt;/b&gt;) and 2. place the point according to corresponding distribution. Then we want to estimate all above parameters (&lt;b&gt;mu, sigma, tau, &lt;/b&gt;which constitutes &lt;b&gt;theta&lt;/b&gt;). X here are each data points, and Z is which Gaussian distribution each data point belongs to, i.e., P(Z=1|x1), P(Z=2|x1), P(Z=1|x2)...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So first step is just choose random values of &lt;b&gt;theta&lt;/b&gt; as initial values. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;E-step: Calculate&lt;/div&gt;&lt;div&gt;&lt;b&gt;P(Z|xj, theta) &lt;/b&gt;for each x and z value. Btw, this step is always simple because we can usually use Bayesian formula here.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;M-step: Now we know all the &lt;span class="Apple-style-span" style="font-weight: bold; "&gt;P(Z|xj, theta) &lt;span class="Apple-style-span" style="font-weight: normal; "&gt;values. Just maximize the function by corresponding mu, sigma and tau.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The most simple scenario is that, we can directly calculate the &lt;a href="http://en.wikipedia.org/wiki/Partial_derivative"&gt;partial derivative&lt;/a&gt; of each parameter, and set it to zero to find the value of parameter that minimize the function.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;Example2 &lt;a href="http://www.cs.purdue.edu/homes/lsi/ICML_2003.pdf"&gt;Flexible Mixture Model for Collaborative Filtering&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;From section3. Two things i want to mention here:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. Z here is a combination of (Zx,Zy). So the E-step actually calculates P(Zx,Zy|xi,yi,ri) for each rating i and each Zx, Zy. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. At M-step, we need to use &lt;a href="http://en.wikipedia.org/wiki/Lagrange_multiplier"&gt;Lagrange multiplier&lt;/a&gt; to estimate parameter. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That's probably it. I'll keep updating if i find anything more interesting.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5376107083073034697-6507895609890208154?l=bincmu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bincmu.blogspot.com/feeds/6507895609890208154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bincmu.blogspot.com/2009/06/em-and-etc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5376107083073034697/posts/default/6507895609890208154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5376107083073034697/posts/default/6507895609890208154'/><link rel='alternate' type='text/html' href='http://bincmu.blogspot.com/2009/06/em-and-etc.html' title='EM and etc.'/><author><name>berniefu@gmail.com</name><uri>http://www.blogger.com/profile/06278204524366522378</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-5376107083073034697.post-9132302155587829340</id><published>2009-06-07T12:33:00.000-07:00</published><updated>2009-06-07T12:34:10.465-07:00</updated><title type='text'>Hash &amp; VC6 Release Mode</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Tahoma; line-height: 17px; color: rgb(68, 68, 68); font-size: 13px; "&gt;&lt;div style="line-height: 17px; "&gt;道理说，对于VC6，一个int是4字节，因此开一个5M的数组需要20MB内存。事实也是如此&lt;/div&gt;&lt;div style="line-height: 17px; "&gt; &lt;/div&gt;&lt;div style="line-height: 17px; "&gt;不过对于一个class，虽然理论上的内存占用只有类的成员变量，但是事实说明，对于大量数据，占用的内存是理论值的4倍左右&lt;/div&gt;&lt;div style="line-height: 17px; "&gt; &lt;/div&gt;&lt;div style="line-height: 17px; "&gt;英明的符老大提出了Debug &amp;amp; Release的观点。事实说明，采用release mode，能把上面的内存减少大概一半。也就是说，还是理论值的大概两倍&lt;/div&gt;&lt;div style="line-height: 17px; "&gt; &lt;/div&gt;&lt;div style="line-height: 17px; "&gt;我们看一个例子：普通的AVL Tree node，做hash用。每个节点是两个int和两个指针（也是4字节），所以5M个节点大概要占用80MB内存，而不是Debug模式下的320MB&lt;/div&gt;&lt;div style="line-height: 17px; "&gt; &lt;/div&gt;&lt;div style="line-height: 17px; "&gt;而采用C++自带的STL hash（采用RB tree，红黑树，wiki有详细介绍），内存占用大概是自己编写的数据结构的1.25倍（但是没有研究过是否时间复杂度低）&lt;/div&gt;&lt;div style="line-height: 17px; "&gt; &lt;/div&gt;&lt;div style="line-height: 17px; "&gt;一个可能的原因是，频繁new新的小的但是数量多的class member，导致内碎片。还没有证明是否是这样，如果是，就可以直接&lt;strong style="line-height: 17px; font-weight: bold; "&gt;先&lt;/strong&gt;分配大块内存，再进行处理&lt;/div&gt;&lt;div style="line-height: 17px; "&gt; &lt;/div&gt;&lt;div style="line-height: 17px; "&gt;VC6的release mode设置在 Build -&gt; Set Action Configuration&lt;/div&gt;&lt;div style="line-height: 17px; "&gt; &lt;/div&gt;&lt;div style="line-height: 17px; "&gt;* To do: 分析一下大规模数据的hash Vs BST。我老板说，大规模数据下hash根本没法用。听符老大的观点似乎hash在大数据量的时候反而更有优势。做一做&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5376107083073034697-9132302155587829340?l=bincmu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bincmu.blogspot.com/feeds/9132302155587829340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bincmu.blogspot.com/2009/06/hash-vc6-release-mode.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5376107083073034697/posts/default/9132302155587829340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5376107083073034697/posts/default/9132302155587829340'/><link rel='alternate' type='text/html' href='http://bincmu.blogspot.com/2009/06/hash-vc6-release-mode.html' title='Hash &amp; VC6 Release Mode'/><author><name>berniefu@gmail.com</name><uri>http://www.blogger.com/profile/06278204524366522378</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-5376107083073034697.post-655221948759261063</id><published>2009-06-07T12:31:00.000-07:00</published><updated>2009-06-07T12:33:33.051-07:00</updated><title type='text'>64-bit integer under VC6</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Tahoma; line-height: 17px; color: rgb(68, 68, 68); font-size: 13px; "&gt;&lt;div style="line-height: 17px; "&gt;see &lt;a href="http://www.cnitblog.com/cockerel/archive/2006/08/16/15356.aspx" style="line-height: 17px; font-weight: inherit; text-decoration: none; color: rgb(0, 102, 167); cursor: pointer; "&gt;http://www.cnitblog.com/cockerel/archive/2006/08/16/15356.aspx&lt;/a&gt;&lt;/div&gt;&lt;div style="line-height: 17px; "&gt; &lt;/div&gt;&lt;div style="line-height: 17px; "&gt;using __int64 and unsigned __int64&lt;/div&gt;&lt;div style="line-height: 17px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="line-height: 17px; "&gt;generally it works fine (as you're using ordinary int / unsigned int), and the only problem i encountered until now is that, you cannot use cout&lt;&lt; (cin) to output (input) them, which means that you need to handle them seperately...&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5376107083073034697-655221948759261063?l=bincmu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bincmu.blogspot.com/feeds/655221948759261063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bincmu.blogspot.com/2009/06/64-bit-integer-under-vc6.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5376107083073034697/posts/default/655221948759261063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5376107083073034697/posts/default/655221948759261063'/><link rel='alternate' type='text/html' href='http://bincmu.blogspot.com/2009/06/64-bit-integer-under-vc6.html' title='64-bit integer under VC6'/><author><name>berniefu@gmail.com</name><uri>http://www.blogger.com/profile/06278204524366522378</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-5376107083073034697.post-8009617898545292150</id><published>2009-06-07T12:24:00.000-07:00</published><updated>2009-06-07T12:28:59.937-07:00</updated><title type='text'>Word, backspace doesn't work, but delete works</title><content type='html'>For example, if you highlight a text, want to delete it, but backspace key doens't work (so you can only use e.g. delete key), then:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Word 2003:&lt;/div&gt;&lt;div&gt;Tools -&gt; Options -&gt; check "Typing replaces selected text"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Word 2007:&lt;/div&gt;&lt;div&gt;Start -&gt; Word Options -&gt; check "Typing replaces selected text"&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5376107083073034697-8009617898545292150?l=bincmu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bincmu.blogspot.com/feeds/8009617898545292150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bincmu.blogspot.com/2009/06/word-backspace-doesnt-work-but-delete.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5376107083073034697/posts/default/8009617898545292150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5376107083073034697/posts/default/8009617898545292150'/><link rel='alternate' type='text/html' href='http://bincmu.blogspot.com/2009/06/word-backspace-doesnt-work-but-delete.html' title='Word, backspace doesn&apos;t work, but delete works'/><author><name>berniefu@gmail.com</name><uri>http://www.blogger.com/profile/06278204524366522378</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></feed>
