Are we really different? A few weeks ago I went to Vancouver and visited Rocky mountains with one of my closest friends, Jessica. On the surface, Jessica appears the exact contrary of me down to every single characteristic -- she likes to talk, and I like to read; she likes to socialize, and I like solitude; she is interested in concrete things, and I prefer abstract matters. However, we always get along well. What makes us compatible, despite all our differences? Is it really that we are complementary? Or is it something else? My recent conclusion is that we have close and compatible values, although we express them in seemingly drastically different ways. We both value career and financial success. We go through great lengths to achieve this, although she chooses her 'street smart' way, while I choose my 'Geoffrey's' way. We both love money and want the best, although we spend it on completely different areas. We both like to seek risk and refuse to settle down, although what we actually do is again completely different. She likes to take risk in extracurricular activities and I like to take risk in my career. I might still be missing a lot of things, but I think it is this compatibility at deeper level that makes us such compatible friends.
Live On Hope
Saturday, November 12, 2005
Monday, November 07, 2005
Saturday, October 29, 2005
Friday, October 07, 2005
I just came back from a 7-day vacation to Rocky mountains with Jessica.
Jessica has been my friend for 6 years, but we only briefly met each other three times during the last 5 years. She is a month younger than I and we belong to the same Chinese horoscope -- Dragon. She is as smart, confident, and successful, but she is open, daring, direct, talkative, trusting, intuitive, and hates reading. She is a direct opposite of me. I had been obsessed with her for a few years. I had been secretly hoping that one day we would get married. But at the age of 29, this does not seem to be coming.
Jessica was in a bad shape during the previous few years, because of love, but she has recovered. She looked great this time.
We went to Whistler, Victoria, and Banff with various bus tour groups. The scenes are just magnificent. Emerge from the clouds tips of mountains covered with and snows. Beneath the clouds are red, green, and yellow tree leaves. Under the sunlight, it looks heavenly.
I took a lot of pictures and Jessica tool a lot of pictures of me. But unfortunately, my camera was lost just before I left. I guess perfect scenes and perfect moments are not allowed to be taken down.
Sunday, December 05, 2004
Thursday, November 25, 2004
Important Online Payment Systems
Some additional information about e-gold:
a. http://www.abelard.org/value-transfer/egold-info.htm#agio
b. Buy Gold from GoldMoney - More Gold for Your Money
c.The Gold Economy Magazine :: Where Gold is Money: "followed "
2. Accepting Chinese Yuan
b. Another Online payment platform
Wednesday, September 01, 2004
Google Groups: View Thread "L2tp stop working after installing SP2 (solved)": "AssumeUDPEncapsulationContextOnSendRule"
Tuesday, August 17, 2004
Monday, August 16, 2004
Excel Developer Tip Archives Best excel tip archive I have seen so far.
Sunday, August 15, 2004
Thursday, August 12, 2004
Tuesday, August 10, 2004
Thursday, July 22, 2004
Sunday, July 11, 2004
Friday, July 09, 2004
Tuesday, June 22, 2004
Wednesday, June 16, 2004
Monday, June 14, 2004
Sunday, June 13, 2004
Friday, June 11, 2004
Wednesday, June 09, 2004
Tuesday, June 08, 2004
Monday, June 07, 2004
Sunday, June 06, 2004
Saturday, June 05, 2004
Lexus.MSN: "ethic "
Monday, May 31, 2004
Sunday, May 30, 2004
Friday, May 28, 2004
Monday, May 24, 2004
Sunday, May 02, 2004
Wednesday, April 28, 2004
Friday, April 23, 2004
Wednesday, April 21, 2004
Monday, April 19, 2004
Monday, April 12, 2004
Sunday, April 11, 2004
Monday, April 05, 2004
Sunday, April 04, 2004
Donations Needed for Chicago Christian Industrial League http://www.chicagotribune.com/features/lifestyle/chi-0402230203feb23,1,719706.story?coll=chi-leisuretempo-hed
Thursday, April 01, 2004
Saturday, March 27, 2004
Wednesday, March 17, 2004
Monday, March 15, 2004
Saturday, March 13, 2004
Thursday, March 11, 2004
Harry Domash: Online Investing Master limited partnerships take their place on investor’s high performers list March 7, 2004 Article on screening master limited partnership.
Buy v Rent Excellent article on the buying vs. renting. I especially like the methodology employed to analyze the NPV of each choice.
Thursday, March 04, 2004
Tuesday, March 02, 2004
Sunday, February 29, 2004
Wednesday, February 18, 2004
Can you beat index funds? active
Wednesday, February 04, 2004
SSL VPN gateways: "issues"
Sunday, February 01, 2004
Thursday, January 08, 2004
Tuesday, December 30, 2003
Upload Files with HTML Forms and Pure ASP http://msdn.microsoft.com/library/en-us/dnasdj01/html/asp0900.asp
Sunday, December 21, 2003
Friday, December 19, 2003
Tuesday, December 09, 2003
Welcome to Zap software: Visual Basic classes A lot of interesting VB classes.
Sunday, December 07, 2003
s e c u r i t y w a t c h . c o m Another article on passport security.
Wednesday, December 03, 2003
Saturday, November 29, 2003
Microsoft Passport to Trouble: Page 2 Old but interesting article about passport security.
Microsoft Passport to Trouble: Page 2 Old but interesting article about passport security.
Friday, November 28, 2003
Thursday, November 27, 2003
Wednesday, November 26, 2003
Tuesday, November 25, 2003
Ray Martin Home Page Menu Here is the main site.
Sunday, November 23, 2003
Internal Rate of Return Revisited Here is a very interesting article about IRR.
Saturday, November 22, 2003
Investing Guide: Deals to Be Had in U.S. Treasury Bonds: "If you own these or other low coupon, callable bonds, you can sell them, buy the portfolio of strips that replicates the cash flows of the minimum of the equivalent of short and long bonds, and profit in the process. Strips are zero-coupon bonds created from either the principal or individual coupons of U.S. Treasury bonds. The task is not as difficult as you might think. If you want to buy strips that duplicate a bond with a 10 percent coupon maturing in a year, for example, you would buy 5 percent of the strip maturing in six months and 105 percent of the strip maturing in one year. That way you get the same cash flow as the bond with the 10 percent coupon--$105."
Wednesday, November 19, 2003
Monday, October 20, 2003
Sunday, October 05, 2003
Here are some really interesting prnonuciation anomalies. It explains when to pronounce g as /j/ and when to pronounce it as /g/. It also gives the list of words ended with -ed that are pronounced /-id/. such as crooked, wicked.
Thursday, October 02, 2003
TCU Magazine "Purpectives" A funny site. BTW: go commando -- not wearing underwear.
Sunday, August 24, 2003
I installed my new SBC Yahoo DSL 3 days ago. It turns out to be really fast (1.2 MB downstream, and 130 k upstream), and, till now, works great. What a deal! The only thing I do not like is their 1 year contract.
Sunday, August 17, 2003
Saturday, August 16, 2003
Bayesian Algorithm
It appears that from spam filtering to TV channel personalization, the term "Bayesian Algorithm" keeps poping up recently. Curious what it is really about, I began to search the web for answers. Bayesian algorithm seems to be a statistics method that is more 'opinionated' than the traditional method.Saturday, August 02, 2003
I haven't verified this yet. The following seems to tell me how to add a shortcut in Visual Installer.
I finally figured out how to do this with Visual Studio Installer (VSI). To complete this procedure, you will need to download the Windows Installer SDK from Microsoft.
Start Menu Programs Icon: Open your VSI project and its File System property page. Right click on the page > Add Special Folder > Custom. Change the name to ProgramMenuFolder. This folder represents Start menu > Programs on the target machine. Add sub folders or icons as needed.
All Users Installation: This is the one that requires the database editor, Orca, from the WI SDK. After installing the SDK, go to the SDK installation folder, Tools folder. Install Orca.msi. Create your program's .msi file and open it in Orca. In the left pane, find and click the Property table. In the right pane, scroll to the end of the list, right-click on an empty row and select Add Row. In the dialog, set Property = ALLUSERS and Value = 1, click Ok, then click File menu > Save.
http://xrl.us/n2j (Link to groups.google.com)Monday, July 28, 2003
Interesting pronunciation. I wish you'd been there. Please note that there is no shewa between d and b. It sounds like I wish you(d) been there.
Wednesday, July 09, 2003
Friday, July 04, 2003
Exploring the Internals of Perl
Until recently, I had always thought that Perl is yet another a slow scripting language with an unstable, black box interpreter, which interprets the language in whatever way it likes. Now, I still think that Perl is a slow scripting langauge with an unstable interpreter, but a large part of Perl is no longer a black box to me, after I found ways to poke into the internals of Perl. With these techniques, I can udnerstand how exactly the interpreter sees my script, and can pretty much predict what is likely the results.
Believe it or not, one does not need to understand any Perl internals to figure out the most part of how Perl sees his script, thanks to the B::Deparse module. When Perl sees your script, it first compiles it to bytecode, and then the B::Deparse module will deparse the bytecode back into Perl. The result reveals an awful lot of information of the internal workings of the interpreter.
A more hard-core way to understand the internal workings is through the B::Concise module. Instead of translating the bytecodes back to Perl script, it prints them out in a human-readable fashion. There are over two hundred bytecodes. Each of them represents a basic operation. One will need to understand how Perl executes the bytecodes for the output to make sense.
The B modile is another very interesting module. The B represents "backend," which means that it can access Perl's compiled bytecode. The B::Concise and B::Deparse module mentioned earlier are two front-end modules built on top of B that translates the bytecode into different forms. With the B module, it is possible to write interesting language tools.
While it is important to know how Perl sees your script, it is also important to know how Perl represents its data structures internally.
It is also interesting to understand the interface between Perl and C. Not only does it helps you to write code to call Perl in C, and call C in Perl, since Perl also uses the same protocol internally to call Perl in Perl, understanding it helps one to have a sense of how parameters are passed and returned, and more important, the cost of doing it.
Thursday, July 03, 2003
Saturday, April 26, 2003
Chiropractor
Although only at the age of 27, long have I been suffering from upper-back problems, since I sit before a computer for 12 hours a day. To temporarily alleviate the problem, I have been take massages every a few weeks. The massages, especially deep tissue massages, more or less works, but the condition reverts back after only a few hours.
When I was on vacation in San Francisco a few weeks ago, I had such a bad backache that I decided to visit a local masseur immediately. During the process, I asked him to push the backbone in shape as usual. To my surprise, he said, "I am not licensed to do bones. I can only massage the muscles," and suggested that I visit a chiropractor. So I scheduled a visit to a chiropractor as soon as I was back in Chicago.
This was the first time I visited a chiropractor in my life. He was a middle-aged man who called himself Dr. Brian. The hair on his forehead began to lose, but he looked energetic, warm, and professional. Having inquired in detail what seemed to be the problem, he asked me to take my shirts off and lie on my stomach on a special bed. He covered my back with a hot blankets for a few minutes, and then massaged the back muscles quickly. And then he said he was ready to realign my spine.
The spine aligning was when the real fun began. The first part he was going to realign was my upper-back. He asked me to do a couple of deep breathes, while he put his hands on my upper back to feel the movements of the spine. When I was haling out, he pushed abruptly on the spine. The push was not heavy, but I heard some cracking sounds from my spine. Then he asked me to lie on my left and right side in turn to realign my lower back. After some quick pushes on the lower spine and some more cracking sounds, the lower back was done. Finally, I lay with my face up to let him adjust my neck. He turned my head left and right for a couple times, and suddenly moved my head to the left. Cracking sound. He then moved it to the right, and more cracking sound. Till now, the realigning was completed.
When I got up, I felt so strong headaches that I almost lost my composure. Dr Brian said that, since this was my first time, after the realigning, a lot of toxins accumulated in the spine was released, and asked me to drink more water. After drinking water for about two hours, I felt better than ever.
Sunday, March 30, 2003
Thursday, March 20, 2003
Automatic Code Instrumentation is an interesting article that describes a way to instrument code written in VC 6.0. It relies on the __penter() function to do the trick. Recompilation is required.
Sunday, March 09, 2003
Dentist
It is ridiculously difficult to find a good dentist. I have been spending the whole afternoon searching on the Internet and calling around, but they all look the same to me. I have no idea how good they are! Worse, this is not like other services where failed comparison shopping only means the waste of some time and money, a bad dentist or doctor can affect one's body and health.
Saturday, March 08, 2003
Notes on Dynamic Programming
I have been reading about dynamic programming these days. At least to me, dynamic programming appears to be more of a problem solving methodology than a computer programming technique. It is especially effective for certain optimization problems or matching problems, and usually it results in strikingly simple code.
Steps to Design a Dynamic Programming Algorithm
- Design a recurrence that breaks the problem down. (See note below)
- Compute the boundaries.
- Compute the recurrence in such a way that it only refers to values already computed.
Notes on the art of designing a recurrence
Perhaps the most difficult step of dynamic programming is to work out a proper recurrence relationship. In part, I believe that recurrence relationships are problem specific, and the designing or discovering of it is really art. In part, I do find that the form of the recurrence relationship is somewhat correlated with the nature of the problem. In the following section, I attempt to categorize the problems and study the form of the recurrence.
"Linear" Problems vs. Nested Problems
"Linear" problem can be divided into several smaller problems that do not nest each other. The string matching problem is linear because one match between the two strings does not nest other matches. The linear partitioning problem and the largest sum of a run problem are other examples of linear problems.
The solution of such a problem usually has the form S=S1+S2+S3+...+Sn, where Si are partial solutions. Similarly, the cost function of linear problems can often be described as the sum of the cost of a single step and the cost of the rest of the problem.
T(i)=T(i-1,j)+C(j)
A nested problem can be divided into two or more similar sub-problems, each of which can be further divided into sub-problems. Matrix multiplication problem is a typical nested problem. It involves adding parentheses to modify the order of multiplication, and parentheses nest.
The solution of such a problem can typically can be described as a tree that describes the nested relationship of the partial solutions. Similarly, the recurrence relationship can typically be described in the following form:
T(i,j)=T(j,k)+T(k,j)+C(k)
Ordered vs. Non-ordered ProblemSome problems have implicit orders. It is only possible to match sub-strings in the order of their occurrence. Similarly, it is not possible for matrices to exchange places in the matrix multiplication problem. Some problems do not have orders. You can choose any city as your next step in the TSP problem.
For ordered problems, it is usually possible to use only the position of the sequence to describe the partial solutions; for non-ordered problems, however, you will have to use sets to do so. This difference has severe difference in the time complexity of the generated algorithm.
Thursday, June 13, 2002
The Story I Mentioned Last Time
The story is about an interview of an ordinary man who married a rich businesswoman. It is sort of a distorted love. Although living in a huge room together, they seem to lead complete separate lives. The wife is invariably busy managing her business, while the husband, without having to work, leads a despairingly vacant life. He usually stays at bars and other entertaining places until two o’clock in the morning. He wears extremely expensive shirts. He would pay bills for others just to let them accompany him for another hour. The only time he and his wife get together is every Sunday. Their different financial status and background becomes an insurmountable communication barrier. The husband does not understand most part of his wife’s life, and nor does she understand his. The only way for her to show her love is to spend extravagantly for him. Her success has become a stigma of his self-respect. She has tried to give a new business to his husband, but because he does not know how to manage a business, it only becomes a reminder of their difference. He resents their fortune, envies ordinary couples, but at the same time the money is the sole connection that binds them together.Comments on a Weird Story
This guy has entered the wrong class. He inherently belongs to the middle class. With such a big fortune, he doesn't seem to know what to do with his life. Without a higher life goal, he wears super-expensive shirts and linger at entertainment places just to kill time, longing to lead a' normal life'. Before the big fortune of his wife, he loses his life's directions.
Their relationship also has serious problems. The wife fails to realize his other needs but financial ones. She does not understand his husband. The only way she shows her love is through buying him extremely expensive things. But nor does he understand her. They seem to live in two separate universes until every Sunday, when they temporarily get together. Money, although disparaged in the article, is actually the only connection that tires them together. Such a relationship is pathetic.
I believe that both husband and wife should take the reasonability to make their family better, both financially and emotionally. They should also have common and practical goals to do so. It is common that fortune changes: Today's millionaire can be tomorrow's pauper and vice versa. But a stable relationship does not change. In good times, both think how to make their fortune last longer instead of spending extravagantly; in bad times, both try their best to open a new road to the further instead of losing hope; and in middle times, both think to move ahead but not become contented. Aware of their responsibilities to each other, they can never lose direction. With their common goals, they should always be pleased by their contributions to their goals. Based on common goals and responsibilities and immune to the change of the environment, such relationship can last forever.
Thursday, June 06, 2002
Weekend
On Saturday I didn’t wake up until noon. After working intensely for a week, I felt physically and emotionally drained. I took a glance outside the window. The weather was excellent. The sun was shining and the sky was clear. Staring at the ceiling, I planned the day for half an hour and then got up.
I took a train south to Chinatown to get my empty stomach filled. The food was enjoyable, partly because I hadn’t eaten any Chinese food for the whole week and was craving for it, and partly because I was starved half to death.
After lunch, I went out to photograph Chicago. I had bought the digital camera half a month before but hadn’t had a chance to take a single picture. This camera was featured in Time a few months ago and is obviously gaining heat. It is of the size of a cigarette box. Although the technical parameters are not so high for the so-called ‘professionals,’ the camera is fully automatic – the right type for me. My experience with cameras has been limited to fully automatic cameras and disposable cameras.
I have taken pictures of Phoenix and Las Vegas, but I have never taken pictures of Chicago, the city in which I have been living for three years. I had also taken almost no picture of Shanghai, the city in which I lived for over twenty years. Chicago and Shanghai seem surprisingly similar: Both are huge cities with endless numbers of skyscrapers; both have congested streets stuffed perpetually with cars and buses; and both had countless shops filled with ads and people. So it became even more challenging to catch something different enough to be displayed on pictures.
I had always liked Lake Michigan, so I decided to photograph it. It looks great when it is not icy and when the sky is clear, when the water is blue and stretches to infinity, and when a few yachts occasionally sail on the lake. I enjoy a strong wind puff my face and blow all the fatigues of work away with it. Every time I walked along the lake bank, I felt the tininess of human beings and the greatness of the nature. Shanghai has a big river, too. But the water is yellow because of the soil in it, and there were no yachts on the river but rather large ships coming from and going to the sea. I thought that this would be worth taking a picture. So I found a place where I could see the lake bank stretched out and curled back as it extended near the skyscrapers in downtown. I took the shot.
It was near twilight and everything was covered by a beautiful golden light. I randomly took a few pictures of the yachts, the grasslands, and the buildings, and decided to capture the sunset. I sat on a small hill covered with grasses and waited for the sun to set. The weather had turned cold – the temperature had dropped to under 40 degrees. But I waited and waited, and the sun just wouldn’t set. After waiting for an hour and being practically frozen, I decided to abandon the idea. As I was leaving, however, the sun began to submerge. I ran back hastily to the hill and took the picture of the sunset.
On my way home with five pictures in my camera, I knew that my photographing of Chicago had just begun.
My Little Room
When I was in my teens, my family used to live on the third floor of a Japanese-style house, with my uncle’s family. There were three rooms on that floor. Mother and father lived in the room on the east side; uncle Y and aunt A lived in the room on the west side; and aunt A-bao and I shared the middle one. Our room had been one large room. But we had to make it into two rooms. To do this, we put up a wall. However, because the window was on the left hand side of the room we had to put the wall up at an angle so that each half got natural light. On one side of the large room were two doors. The window was on the facing wall. The wall we built started between the doors and continued at an angle toward the left-hand side of the room, until it met the window. My room was shape like a triangle with the top cut off. But at least I got sunlight! Aunt used her half as her workroom and the other half was my little living room. The board wasn’t sound proof. At night I could hear the monotonous sound of sewing that lulled me to sleep.
In this little room, I enjoyed many activities. I raised two turtles in a basin room for six years until we moved. One turtle was a bigger and had black shell. The other had brown shell. They always looked docile except when they were eating. Whenever people approached, they would hide their heads in their shells. Despite their quite appearances, they were pretty aggressive meat-eating animals. Their usual food was frozen pig meat and fish sausage. Everyday when I came by, they would always look at me expectantly for food. I would give them a few small blocks of meat or slices of sausage, and they would rush to eat them. They would act decisively and promptly when they saw their targets. Once we put a live shrimp in their basin, hoping that they would live happily together. Almost immediately, the turtle began to nimbly chase the shrimp, and before too long it became their meal. As time went by, the black turtle seemed to get progressively nearsighted. Her eyes looked like two drops of oil. She would examine closely at the food for a few minutes before she decided to eat. I gathered that it was one of the resignations of a turtle’s life.
I planted quite a lot of cacti in the room, too. I told myself that I liked cacti because I liked their ability to live in extremely adverse environments. But a more practical reason was that everything else I planted died quickly. As a test of my rudimentary chemistry knowledge, I managed to make my own chemical fertilizer for the cacti. I was proud of the fertilizer and advertised it a lot in my school. They worked well on my cacti, although one of my classmates claimed that my fertilizer killed his granny’s expensive flower.
My little room shared so much joy and sadness of my childhood with me. Every time I think of my childhood, my little room will appear before my eyes.

