Sunday, January 7

Bloglines's problems

First, Bloglines added one function in the Summer, 2006. I noticed that because that was a function that I think it should have. When you "Edit Subscription" of a blog, you can select either "Display as New" or "Ignore" for Updated Items. That meas if you select "Ignore", the new items in this blog won't display as new. Yes, then it will work as a bookmark in your blog list.
For example, I like the blog "Overheard in New York". When I feel down, I visit the blog items looking for fun. But I don't want to read it every day. I only want to mark it as bookmark in my blog list. So when I saw Bloglines added that function, I was so glad that they think of my need.
Unfortunately, it doesn't function properly. In August, it worked well. After that, the items from that blog keep floating in my Bloglines account.
Bloglines, hope you fix it soon.

Second, the blog of Bloglines can not display single item. I like this blog because I can save interesting links easily. Last year I saved a link of open course from MIT in to this blog as you can see from . But if you click any link of a single item, such as
MIT Open Course of Algorithm
you can't see anything. It works well last year. What's wrong with it?

Third, still the blog. I can't find a good blog tool for it. I created one tool like "Blog It!" for the Bloglines. But it only works well in IE, not it Firefox. The performancing doesn't work with Bloglines either. No good, no good.

BTW: I don't see a lot of people using this blog of Bloglines.

Labels: ,

Empirical Study of Gene Ontology based Microarray Clustering


This thesis project studies the current several similarity measures over Gene Ontology and introduces a new measure combined with Euclidean distance to perform Microarray analysis. The new combined measures contain both the expression data and (known) biological information from Gene Ontology to express the real biological relation between gene products. In order to adapt the similarity measure to the Gene Ontology, an On-The-Fly probability is initially defined to calculate the probability of a term in the current problem space. A similarity measure between a term and a set of terms is defined, as well as a similarity measure between sets. The performance of applying these similarity measures is compared by clustering a dataset of which the correct clustering scheme is known. The results of the comparison are analyzed and some conclusions are drawn about the similarity measure.

Labels: , ,

Disbute about Firefox

Firefox Not Really Free?

Mozilla claims that if Debian runs any patches to the version of Firefox included with Debian distros, it has to run them by Mozilla first for approval.

powered by performancing firefox


Saturday, January 6

Remote server

1, principle
2, local drive
3, Multi-login
4, future trend?

Recently I use the Microsoft Remote Desktop Connection a lot. When I use the Remote Desktop Connection from my laptop, of course there is a Remote Server existed. I am thinking that it can become a big thing in the future, because of its virtues.

I noticed that the principle is quite simple. The Remote Desktop Connection in the local computer (hereby "local") receives keyboard and mouse input, send it through network to the Remote Server. The Server act like the input is "local" by treating the input message the same way as the keyboard and mouse are connected to the server. Then the server send out the display message to the output: the message is sent thought network to the Remote Desktop Connection software in local computer, and this software display the message as it should be.
In a traditional computer, the keyboard message is sent to computer through keyboard cable, the mouse message is sent to computer through mouse cable, and the display output is sent through video cable. In the Remote Desktop/Server framework, user's keyboard message and mouse message is sent to the server through network by the Remote Desktop Connection, and the display output is sent from the server to user by the Remote Desktop Connection too. As to the software in the server, it treats the input/output as normal input/output, because the Remote Server "encapsulate" the details.

Some might say the network input/output might be slow. Correct me if I'm wrong, but I think our keyboard is connected to computer in 1200 bps bond rate, when most of us are using 500k bps broadband network, or 54M wireless network connection.

When I was asked, I asked the same question to several IT guys but didn't get a satisfied answer. The question is: How to transfer file from local computer to remote server? The answer I got was to setup FTP server in the Server site, or use some other software (such as MSN Messenger) to transfer files. Those guys I asked are very good at computers, or at least as good as me. One of them is the network admin of our department. But the answer they gave me is not right. After playing with the option of Remote Desktop Connection for a while, I found an option: You can map your local drive to the server in the "Local Resources" tab. Then from the File Explorer of the Remote Server, you can see your local drives, so that you can copy files between local drive and server's hard drive. I didn't count the transferring speed, but I feel it's the same as FTPing.

The "Local Resources" tab in the options of Remote Desktop Connection also has an option to share the clipboard. I think it is a new feature added in 2007 (I run the Windows Update last week). It is quite useful actually, because we can copy simple text in the local computer, then paste it in the server, or vice versa.

I used Remote Administrator before. I am quite satisfied with this software, actually. It has the two features, file transferring and clipboard sharing. The file transferring function is using a separate application. One special thing about this software is that the monitor of the server computer is actually displaying the same as showing in remote desktop computer. Several people can log in the same server, and see the same session. It can be used to demonstrate how to use a software. The drawback is that if a walk-by see the monitor of the server, he can know what the remote user doing.

One software was very popular. The name might be "Virtual Desktop" or something. I don't like it because it's too big. I think it's more than 20M, while the Remote Administrator is only 2M.

The NetMeeting can also control remote server. I used it to help diagnosed several computers. I like this software so much that I rejected Skype. It's a pity that this software is abandoned. Now Microsoft also has a "Remote Assistant" which can be invoked from MSN Messenger. Although I haven't use it yet.

Two years ago I had a Duron 800 computer and a 486 computer. I wanted to make full use of the 486, but it's hard to keep multiple copies of my file in both computer. The easiest way is to remote-login the Duron 800 using the 486. By that way, my wife can use the Duron 800, while I am sitting in front of the 486 to log in the Duron to access the same files. If both of us only run IE or Word which are not CPU-intensive, we even can't feel the computer is being shared by another person.

That Duron 800 was running Windows 2000. I figured out that this system didn't have remote server built in. So I upgraded it into Windows XP. Yes, the remote connection was established successfully. Then the one who was sitting in front of the server (Duron) was log out. Only one user can log in Windows XP at one time. That is frustrating. The final solution is to install Windows 2003 Server and run the Terminal Service. Thank God, my university is a member of MSDN Academic Alliance, and I can get those Microsoft software for free. This version is quite clean because it's installed in another drive, and it's a clean installation other than an upgrade from previous version. We used this combination (Duron+Windows 2003 Server / 486+Windows NT) for a while, until I got paid as a Teaching Assistant and bought a laptop to my wife.

This month, after I submitted my master thesis, I Googled messages and found that there was a way to enable multi-users logging into Windows XP. Some hacker found the termsrv.dll in Windows XP RC2 (Beta) was an unstricted version. If you replaced the termsrv.dll in the Server following the instruction, you should be able to log in the server concurrently.
I haven't tried this method, because I don't know how to verify the "Digital Signature" of this file, and I don't know if it is a legitimate file. But I do belief this idea, and actually it hasn't been reported with any problem, since this file was discovered in April, 2006.

BTW, I am glad that I didn't spend time to solve this Multi-user login problem 2 years ago. :)

Labels: , ,

Development of the programing method I know of

1, asp/sqlserver -> .net, ruby on rail, hibernate

2, Requirement/system design -> eXtreme Programing

3, hardware development enables this trend, object-oriented, dynamic loading, multi-task

I am proficient in using classic ASP to build dynamic websites. After retrieving data from database, every bit of data is "Response.Write" to the output. The output must be a valid and beautiful HTML file for visitors to read. So an ASP programmer must know HTML language to create a website.
XML/XSLT is one method to separate the programing part and the representation part of the website. The ASP program can create a XML file which has pure data, and when the visitor access this XML file, the attached XSLT file will decorate the data to make it readable. This "decoration process" can happen in Server side or Client side. Using this method, the graphic designer of the company can focus on making website beautiful, while the programmer can focus on retrieving the data according to business logic. The latter doesn't even need to know anything about HTML.
Now, when we use .NET technique, the .NET server will take care of the representation. The programmer can focus on deploying controls (button, input text, drop list...) and processing data. It gives more freedom to programmers, helps them to concentrate their effort on data process, which is the main purpose of a website.
Ruby on Trail is a tool which controls database and web server at the same time. By using it, the programmer can create a website by clicking and typing short codes. The according entry in the database of website can be created according to the need of the website.
Struts and Hibernate are tools in Java Servlet. I think they have the similar function with the previous two tools.

The idea is: When we encountered problem when developing classic ASP website, we work on the problem, simplify the design and development. In that way, building website is no longer difficult.

It is not that simple. We have to pay the price. The hardware have to be strong enough to support these new designs. When the programming language is changed from functional language to Object Oriented language, the application runs much slower. When we deploy multi-thread application, the CPU is shared by different threads. Some CPU time is used for overhead and communication between threads. OO and multi-thread programming can make the code readable and maintainable, and the price is that the program is slower. Thank God that we have Moore's Law which defines the pace of hardware development while cutting the cost of new hardware. 10 years ago, when we use 486, it has the same computing power as the computer which is used to send Apolo to the Moon back to 1960s. Now, the home PC is much faster than a 486, while the price is lower.

Labels: ,

Monday, January 1

A reminder

The paper, Measuring semantic similarity between Gene Ontology terms by F.M. Couto, can be integrated into my thesis.

Different "context" can use to perform comparison