<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://draft.blogger.com/navbar.g?targetBlogID\x3d8841590\x26blogName\x3dmini+cod\x27s+blog\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dBLACK\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttps://minicod.blogspot.com/search\x26blogLocale\x3den_US\x26v\x3d2\x26homepageUrl\x3dhttp://minicod.blogspot.com/\x26vt\x3d-5922962456000464541', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

Thursday, November 25, 2004

Sillyfox

I am a big fan of firefox. I feel guilty when surfing the web without it. How could you feel safe using IE6 with service pack n? I am sick of this piece of software, recalling my obnoxious experience installing Windows2000 or XP, forgetting to install firewall before doing windows update. Guess what? My box was infected with numerous worms; take a look at “netstat” output, an infinite list of ip addresses, looking for opening ports, propagating itself, terrible. The outcome is a re-installing, insane.

So, back to my topic, my box has 512MB of RAM, which I think it’s pretty enough but after installed firefox, this is not true. It constantly eats up to 100MB+ of RAM, I love firefox however this is simply unacceptable if you compare it with Opera. I came across some pages about optimizing firefox, by either disabling the memory cache (not disk cache) or assign it with a smaller number. The default of this value is depending on the size of your RAM, about 21MB in my case. I changed it to 4MB, nothing happen, changed it to 64MB, nothing happen! The final resort is disabling the entire memory cache, however, this doesn’t help either. Minimizing the window doesn’t help. Conclusion: close the program and reload it.

We have solved our first problem, the second concerning about the default google search bar. I have discovered the URL, after hitting enter to start a search, has a string
sourceid=firefox
in it (try it now), this is the case of both 0.93 and 1.0. In order to remove it, or customizing your search options, go to
C:\Program Files\Mozilla Firefox\searchplugins
, look for the
google.src
file. Remove the line
<input name="sourceid" value="firefox">
, or change it to
<!-- <input name="sourceid" value="firefox">-- >
. It works! Don’t modify the
browser.search.defaulturl
in
about:config
, it’s a scam!

You can also add
<input name="num" value="50">
to increase your search items per page to 50, or any number you want, try 100000000.

Tuesday, November 16, 2004

<guid> scandal

On the course of the development of my feed project, I tested my feeds on several different programs. These are: Klip, RssReader, Mozilla Thunderbird, SharpReader and FeedReader. They are all very good readers of RSS 2.0 feeds, however, some of them doesn’t conform the standard very well. I don’t regard myself as an expert on this, but these are my findings. The <guid> tag has been introduced since 2.0, each item should come with it for recognizing the uniqueness of an item. Therefore, readers should forget about the rest of tags such as <link> and <description>. The idea is not difficult when you think of 2 people having same name in a customer database, this is similar to a global id in the feed.

Klip: Recognize the existence of <guid>, fully support.
RssReader: By far the most terrible support of <guid>, it doesn’t see it at all or simply ignore it. It treats the whole item as a global id. You’ll see a lot of items on screen sharing the same <guid>.
Thunderbird: Treats <guid> extremely well, no problem at all.
SharpReader: Still treats <guid> as a family member, however, if the content of an item has been changed since last retrieval, the old version will be replaced by the updated, even though they share the same <guid>. This doesn’t happen in Klip at all, strange.
FeedReader: Doesn’t support UTF-8 encoding, my feeds are in Chinese. Do not use it to read my news.

Chinese feeds are either written in Big5 or Unicode, there are almost 99.9% of webpages are still in Big5 (very sad indeed). RssReader and SharpReader both supports Unicode very well based on the IE core. Thunderbird and Klip (doesn’t support Big5 though) supported it well too. FeedReader isn’t a good choice of reading Unicode characters. Feeds written using perl have some serious troubles on all readers except Klip. I have absolutely no idea.

Tuesday, November 09, 2004

Yet another dirty tricks from brokers

With the first method - internalization - the brokerage firm trades an order against its own inventory, either shares it owns, or other buy and sell orders waiting to be executed. For example, if an investor wants to sell 100 shares of Company X at $20 each, the broker looks to fulfill the order from its own buy orders for Company X or from shares of the company it might own, rather than expose it to another stock exchange or marketplace. That way, the broker makes a small profit on both sides.

Internalization becomes a problem for investors if the broker chooses to trade against its own inventory when there is a better price available elsewhere.

The other practice under investigation involves order flow, where retail brokerage firms send aggregated small orders to market makers - firms that buy and sell particular stocks to maintain orderly trading. As a way to attract orders from brokers, some stock exchanges or market makers will pay for routing the order to them - perhaps a penny or more a share. The S.E.C. is looking into such payments, aware that problems can occur when brokers have a deal with market makers to send them orders. Because the order is not exposed to the larger marketplace, the investor may be missing out on the best price.

Brokerage firms - including Morgan Stanley, Merrill Lynch, Ameritrade, Charles Schwab and E*Trade Financial

From The New York Times, 8 Nov

Friday, November 05, 2004

A Quote

"A man's ethical behavior should be based effectually on sympathy, education, and social ties and needs; no religious basis is necessary. Man would indeed be in a poor way if he had to be restrained by fear of punishment and hope of reward after death."

[Albert Einstein, "Religion and Science", New York Times Magazine, 9 November 1930]