Monday, December 24, 2007

Kill Remote Desktop Sessions

"Terminal server has exceeded the maximum number of connections" occurs when sessions were taken by others and were forgotten to log off to release the session. I encounter this problem very often and, to my surprise, there is more than one way to solve this easily.

Sunday, December 23, 2007

Links for 2007-12-23

Articles:
  • Swarm Intelligence: A Whole New Way to Think About Business
    • Swarm intelligence, I think, is a synonym to crowd wisdom.
    • The reasons social insets are almost everywhere on earth may due to three characteristics:
      • Flexibility - the group can quickly adapt to a changing environment.
      • Robustness - even when on or more individuals fail, the group can still perform its tasks.
      • Self-organization - the group needs relatively little supervision or top-down control.
    • The foraging principles of social insects, like ants and honeybees, have been applied to solve routing problems, packaging problems, even some business problems.
  • Artificial Neural Networks: A Tutorial
    • The architectures of neural networks were grouped in two categories:
      • Feed-forward networks
        • Single-layer perception
        • Multilayer perceptron
        • Radial basis function nets
      • Feedback/Recurrent networks
        • Competitive networks
        • Kohonen's SOM
        • Hopfield network
        • ART models
    • The learning process of neural networks were grouped in three paradigms:
      • Supervised
        • Error-correction
        • Boltzmann
        • Hebbian
        • Competitive
      • Unsupervised
        • Error-correction
        • Hebbian
        • Competitive
      • Hybrid
        • Error-correction and competitive
    • Among the various neural networks, not every method was suitable to all kinds of problems. Certain types of problems were best solved by some methods. Thus, the choice of the best techniquest should be driven by the given applications' nature.

Friday, December 21, 2007

Disable IE 6 Remember My Password

Under Tools Menu
-> Select Options Item
-> Select Content Tab
-> Click input completion Button
-> Unselect form user name and passwords
-> Click erase passwords Button

Monday, December 17, 2007

Google's BigTable

I just read Google's BigTable paper. From the title, "Bigtable: A Distributed Storage System for Structured Data", you can tell this paper is not about PageRank algorithm. Instead, it reports how Google manages their structured data in a distributed way. So it talks about the infrastructure behind various services Google provides, such as webpage indexing, Google Finance, Google Earth, etc..

It's a interesting paper. Many databased-related issues are addressed in the paper. Some topics I found interesting are listed below.
  1. Data are modeled as a sorted map. Key is a combination of a row key, column key and a timestamp, while value is an uninterpreted array of bytes.
  2. Action is coordinated via Chubby lock service and Paxos algorithm.
  3. Data are located via one active master server and many tablet servers.
  4. Data are summarized via a parallel computation method, MapReduce.
A brief introduction to BigTable is here, and I just found that chapter 23 in Beautiful Code describes MapReduce method. I think it should be useful and/or important for practioners, i.e., programmers, as computer is moving toward a multi-core system. I should give it a read.

Monday, December 10, 2007

Machine Learning Journals and Conferences

  • ICML(International Conference on Machine Learning)
  • ECML(European Conference on Machine Learning)
  • UAI(Uncertainty in Artificial Intelligence)
  • NIPS(Neural Information Processing Systems)
  • COLT(Computational Learning Theory)
  • IJCAI(International Joint Conference on Artificial Intelligence)
  • JMLR(Journal of Machine Learning Research)
  • http://videolectures.net (Machine Learning Online Video Lectures)

Saturday, December 8, 2007

Links for 2007-12-08

Blog:
  • Measure twice, average once - Measurement is all about estimation and there is a theory behind it. The blog sheds some light on what the theory is about.

Article:

  • Gödel, Escher, Bach: an Eternal Golden Braid - a pholosophical book by Douglas Hofstadter, with many subjects covered, including what i'm interested, such as artificial intelligence.
  • How Many Ways Can You Spell V1@gra?
    • Brian Hayes analyzed that an legible variation of Viagra has 1,843,200 possible spellings, by varying Viagra and separating the six letters by five copies of space characters. However, studying the 88,324 emails received, the author identified 113 distinct spellings. Based on the information, the author suspected that the spam scheme was not very sophisticated. It seemed a spelling once has been incorporated into a message, it is mailed out repeatedly over a period of a few months, then gave a rest.
    • The techniques used to combat spam are must better known thant the methods of spam senders. Three spam-filtering approaches have been used to train a spam-ham classifier, that is, Bayesian, SVM, and HMM. However, a possible attack to Bayesian filtering, Bayesian poisoning, was discussed but could be defended by frequently retraining the filter.
  • Introduction to Estimation Theory - The choice of error criterion and optimization heavily influences the form of estimation procedure. The estimation performance can be considered from three aspects.
    • Bias - An estimate is said to be unbiased if the expected value of the estimate equals the true value of the parameter.
    • Consistency - An estimate is said to be consistent if the mean-squared estimation error tends to zero as the number of observations becomes large.
    • Efficiency - An estimate is said to be efficient if its mean-squared error achieves Cramér–Rao bound.

Sunday, December 2, 2007

Concurrency is the Next Revolution

According to the article by Herb Sutter in 2005, we are not going to experience performance boost by running application on computers with latest CPU chips. Traditionally, CPU designers have achieved performance gains in three main areas,
  1. clock speed
  2. execution optimization
  3. cache
However, due to physical limits, the near-term future CPU performance growth drivers are:
  1. hyperthreading
  2. multicore
  3. cache
As object-oriented programming was dominant in the mainstream in the 90's, concurrency programming is going to be the next. So what does the sea change mean to software developers? Here are the consequences.
  1. Applications will inreasingly need to be concurrent if they want to fully exploit CPU throughput gains.
  2. Applications are likely to become increasingly CPU-bound, moving away from I/O-bound.
  3. Efficiency and performance optimization will get more, not less, important.
  4. Programming languages and systems will increasingly be forced to deal well with concurrency.
This week, Microsoft responded to Herb Sutter's call for a higher-level programming model for concurrency that languages offer: Microsoft Parallel Extensions to .Net Framework 3.5.