星期日, 四月 22, 2007

Bravo, Kaiyuan Wang

It was quite a piece of shocking news produced by Kaiyuan Wang, a fully dedicated Open Source, um, should I say, evangelist. There's no need for me to repeat what has happened. All I have to say is that, I AM ON HIS SIDE. I've never ever imagined that someday I can see such a brave Chinese, although in foreign countries there are a lot of such people who dare to even sacrifice for their undertaking. It's too hard to realize one's dream here.
Unfortunately, many Chinese people on the network have misunderstood his sincere and passionate activity to some kinds of show up. Well, I might have to understand their suspiciousness, because they have been cheated heavily, especially on the network and other medias. However, if one has read the news carefully enough, there should not have been such doubt and suspicions. Was Wang making a show for his employer, LPI, which is a non-profit organization giving Linux certifications? If he did make a show, he was making a show for the Open Source community, which is almost unknown in this giant country.
I saw many comments around doubting and even reviling Wang, and as usual, all of the comments have well reflected the ignorance of their poor authors, the ignorance about free software and Open Source. They even do not spend a little of their shitty life on researching for what on earth is free software and what the hell is Open Source, to add some knowledge to their m*****f***ing brain.
Forgive my rudeness towards such people.
For videos, see http://v.blog.sina.com.cn/b/2207514-1193866854.html and http://v.blog.sina.com.cn/b/2219402-1271664693.html

星期五, 四月 13, 2007

Paraskavedekatriaphobia

I suppose you all have adverted. It's another Friday at a 13th date.
The fear of Friday the 13th is called paraskavedekatriaphobia or paraskevidekatriaphobia, a specialized form of triskaidekaphobia, a phobia (fear) of the number thirteen.

-- From CrystalLinks
However, I'm not a patient with such a disease:)

星期一, 四月 09, 2007

Start the Eclipse TPTP Profiling Agent under the Standalone Mode in a Linux Box

I did this long ago. Since I'm not required to do it repeatedly, it took me another 15 minutes to get warmed up. This time I'm recording the procedures here as a preparation for tomorrow's exploration on why the hell that tomcat instance was taking so long to start up.
  1. JVM arguments: -XrunpiAgent:server=standalone,file=/home/iusr/tc.trcxml,profile=/home/iusr/piAgent.options,filters=/home/iusr/piAgent.filters. It's convenient to export all this twittering to JAVA_OPTS which is used by tomcat to pass to JVM;
  2. Adjust the LD_LIBRARY_PATH environment variable to include directory "<eclipse_install_or_ext_point>/plugins/org.eclipse.hyades.execution.<OS>.<CPU_ARCH>_<VERSION>", e.g., in my Edgy box it's "/usr/local/eclipse-extension/eclipse.org/tptp/eclipse/plugins/org.eclipse.hyades.execution.linux.x86_4.2.2.v200701141614";
  3. Compose the profile configuration, filters configuration. Refer to http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.tptp.platform.doc.user/ref/rsaproffilt.htm and http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.tptp.platform.doc.user/tasks/teprofsa.htm for the proper format.
  4. Run the java class, of course:)
A profile configuration consists several entries, here's an example ("^\*.*$" lines stand for comments):
* all | none
MONITOR_MODE = all
* true | false
FILTERS = true
* none | deletes | frees | moves | deletesAndMoves | movesAndFrees
TRACK_GC_EVENT_TYPES = movesAndFrees
* static | relocatable | staticAndRelocatable
ID_STYLE = staticAndRelocatable
* true | false
* OPTIONS = false
TIMESTAMPS = true
METHOD_COUNTS = true
OBJ_ALLOC_IS_ARRAY = true
* none | normal | boundary | contiguous | boundaryAndContiguous
STACK_INFORMATION = contiguous
* true | false
* TICKET = true
* full | none | noObjectCorrelation
TRACE_MODE = full
* true | false
* TRACE_ID_REFS = true
Apparently this configuration requires much work to do, so my CPU got 99% utilized just now:P.
The filters configuration is more straightforward, only a wildcard string indicating the desired packages or classes, another wildcard string indicating the methods, and a directive indicating the whether matching packages or classes are to be included or excluded. Here's an example:
package = com.*
method = *
mode = INCLUDE
Since some subtle differences amongst different Linux distros and versions, the configuration above varies. I once saw a web page saying it's necessary to add the directory "<eclipse_install_or_ext_point>/plugins/org.eclipse.hyades.execution.<OS>.<CPU_ARCH>_<VERSION>" not only to LD_LIBRARY_PATH but also to PATH. I haven't tried this out yet, since adding it to LD_LIBRARY_PATH works every time and appears to be more reasonable. Particularly, if the piAgent failed to get loaded or started, take a look at the output of `ldd <eclipse_install_or_ext_point>/plugins/org.eclipse.hyades.execution.<OS>.<CPU_ARCH>_<VERSION>/libpiAgent.so` to check out if there's anything dependent missing.
Whoa, I cannot help starting the agent on our main testing machine to find out what the hell contributed to the latencies.

星期五, 四月 06, 2007

Catch ya~

Well, I don't know how to describe the feeling when I pick someone up by recognizing his/her blog, after losing his/her track for some years.
Here, this is the guy I'm talking about . Oddly as usual, I even have not contacted him before by any means:D
What I know about him are some legendary stories, and an always empty seat that would be his if he wouldn't have been absent at a student's community I joined. After some months, I took his seat, but I know I'm a much lesser stead, because, you know, I can never have legendary stories:D
I'm always fond of tracking talent people around. It's always encouraging to know how distant I am from the talents.

星期二, 四月 03, 2007

Need a real portable browser? K-Melon to the rescue!

I'd never imagined that one day I would be working in a very much limited environment, and thus applications like Portable Firefox which tend to be as much __green__ as possible had never got my attention. But nowadays, I've completely changed my attitude towards such applications.
Accessing windows registry? Forbidden. Configuring system services? Forbidden. Mapping network drivers other than the ones specified by the almighty administrator(s)? Forbidden. Installing an ActiveX plugin such as Adobe Flash Player to the poor naked IE? Forbidden, of course. Although I've always had enough with those bursting flash objects in web pages, being expropriated the chance to selectively enjoy good flash objects is very unpleasant. Right, just unpleasant, and it can never be frustrating, muhaha!
Time comes to introduce a very old friend of mine that for long I've even forgotten its existence: the tiny browser named K-Melon. It's really a very old friend of mine, no kidding. It was my first alternative choice of browsers when I was a really newbie using Windows 98 SE. By using K-Melon, I gradually got to know firebird, the bird which today has mutated to an animal called firefox, and some other browsers sharing the same Gecko rendering kernel. I admit it was not very attractive at that time, with an ugly UI, lacking enough extension and plugins; you'll have to forgive my nearsightedness, because browsers other than IE didn't have an easy life to deal with at that time, and neither were their users that had chosen them as their primary or even secondary browser. So gradually it disappeared from my hard drive.
Till just now:)
As what I mentioned above, I'm currently working in a very limited environment and I even cannot install a flash player plugin to the IE I'm using. Moreover, I cannot install any other applications since I don't have the mythical permissions of accessing both registry and some file systems. What's more, even Portable Firefox cannot start due to some failures in the underlying XPCOM layer. Cool...
For God's sake, K-Melon is working very well even under such circumstances, the only problem was that all flash player installation programs I grabbed from adobe.com couldn't run properly, mentioning me that I was not the almighty administrator whom I think I can never be. Nevertheless, it's not even a competent problem for someone who has a rough understanding about the Mozilla family browsers: copy what you have in $MOZILLA_OR_FIREFOX_OR_WHATEVER/plugins/ that have something to do with flash to the same named directory in the K-Melon installation directory, and restart your running K-Melon if there's any. Then navigate to wherever a flash object dwells, whoa, I have my beloved flash now:)
It's still mysterious why firefox and Portable Firefox failed on the system, they should have followed well the Unix philosophy, or am I just putting too much burden on them?:) Never mind, I'd never thought that those Flash objects hungering for CPU and memory could some day be so genial as well after several days of parting.