Thursday, November 29, 2007

Installation of SQL Server 2005 Report Designer

For a project I recently work on, we use SQL Server 2005 Reporting Services. I don't want to install the whole SQL Server 2005 but only SQL Server 2005 Report Designer on my working machine. According to the source, SQL Server 2005 Report Designer has been integrated into Business Intelligence Development Studio. The studio allows developers to build Analysis Services, Integration Services, and Reporting Services projects. Also, a copy of Visual Studio 2005 is not necessary. If Visual Studio 2005 is not installed, SQL Server Setup installs the shell so that Report Designer can be run.

To install Business Intelligence Development Studio, I ran the setup.exe under the Tools folder in the installation CD, then chose the respective item under Client Components. That's it.



BTW, during the installation process, I encountered "Performance Monitor Counter Check Failed" error message. But the problem was solved after I followed the steps suggested in the readme file(ReadmeSQL2005.htm).

Monday, November 26, 2007

References for Linear Classifiers

I take Machine Learning this semester. Linear model was covered recently, that is, linear regression and linear classification. In linear regression, a connection was established between least-squared-error and MLE under Gaussian assumption in errors. In linear classification, two models were introduced. In Generative model, conditional-independence was assumed and join probability was derived by applying Naive Bayes. In Discriminative model, a linear form was assumed, and posterior probability was derived by combining linear regression with logistic function. Here is the information which is helpful for learning the subject.

Sample chapter:
Machine Learning Course Materials:
Article:
Paper:

Sunday, November 25, 2007

Links for 2007-11-25

News:
  1. Following Benford's Law, or Looking Out for No. 1: According to the article, it's very likely at at some point in a series of 200 tosses, either heads or tails will come up six or more times in a row. And a formula discovered by Dr. Frank Benford stated that the probability of any number 'd' from 1 through 9 being the first digit is log10(1+1/d) . A detailed explanation of Benford's Law can be found here.
  2. As the Calendar Turns, So Do Many Stocks’ Fortunes: According to a study reported in the article, "some stocks tended to perform particularly well or poorly each January, while others tended to regularly beat or lag the market in February, and so forth for each month of the year. They found that these patterns were remarkably persistent, lasting as long as two decades".
Web site:
Open Source RSS & RDF Tools in C#: A collection of open source tools for RSS feeds.

Article:
Market Neutral Strategy :

Saturday, November 24, 2007

Links for 2007-11-24

Web site:
  1. A Windows Forms FAQ site - A good place to start with for Windows Forms questions.
  2. Open Flash Chart(via Larkware News) - An open source google-style charting tool for web pages.

Blog:
10 Absolute "Nos!" for Freelancers - Informative for anyone who wants to be a freelancer but I agreed with some of the responses in the post, that you don't have to reject these requests directly. Instead, charge a price so high that it's meaningless for clients to ask.

Articles:
  1. Algorithms are a human’s best friend - An article published in 2005. Five algorithmic trading strategies were mentioned. And strategies could be hybridized by combining other constraints or varying parameters.
  2. Volume Weighted Average Price (VWAP) - An implementation of Volume Weighted Moving Average, but not a trading strategy as mentioned above.

Embedded HTTP server

I came across this article about building a customizable embedded HTTP server in C#. An idea just struck me that a server like this could help me monitor systems. For example, besides reading log files to check system status, I could use a web browser to query a HTTP server embedded in a production system for system information. Furthermore, the system information could be published in RSS format and be subscribed by an RSS reader.

Apparently, as shown here, other than monitoring systems, there have already existed many applications of an embedded HTTP server on the Internet. And not restricted to an HTTP server, many components are embeddable in .NET applications, such as this(IronPyton), and this(SQL Server Express). Interesting!

Saturday, November 17, 2007

Machine Learning Tools

  1. MLC++ - Written in C++. A paper introducing this tool is here. If I'm going to study this toolset, I will start from MLC++ utilities.
  2. WEKA - Written in Java. An introduction of the command line interface to the tool is here. Basically, the model in WEKA can be summarized as follows.

    • Filters - Filters are responsible for transforming datasets. Two kinds of filters are available. Supervised filtering would take class information into consideration, while unsupervised filtering is the non-stratified version of resampling the dataset.
    • Instances - Dataset is implemented by Instances class.
    • Classifier - All the learning algorithms are derived from the abstract Classifier.

    WEKA expresses data as a collection of instances. A user applies filters to transform dataset and then feed the output to classifiers for training and testing. To learn how to call WEKA from Java, check out the sample.

Links for 2007-11-17

Blogs:
  1. 7 of the Hardest Things I Learned About Writing Software:
    • Make choices - Don't make program too complicated. Make it work first.
    • Delete code
    • NIH (not invented here) - Reminds me things, such as Reinventing the wheel, Standing on the shoulders of giants, etc.
    • UI is more important than code
    • Solve Problems - Users don't care how you write your code. (That doesn't mean nobody care. Think about maintainability. But solving problems always come first.)
    • You Are Different - Reminds me of this book.
    • Documentation - If your program is so complex as that users have to read your manual to figure out, something is wrong with your program.
  2. 1000 Lines Of Code - A rule of thumb following "Make choices" in the above post.
Sample chapter:
  1. The Berkeley DB Book

Monday, November 12, 2007

Links for 2007-11-12

Blog:
Be not afraid of the Visitor, the big, bad Composite, or their little friend Double Dispatch - The author used StoryTeller project as an example to demonstrate the use of Composite, Double Dispatch, and Visitor pattern. ILeaf interface, implementing Composite pattern, was used in a tree structure. A tree was composed of nodes which were composed of leaves. HTMLWriter class, implementing Visitor pattern, was used in traversing the tree. IHTMLBuilder interface, implementing Double Dispatch pattern, was used in performing action on tree nodes. According to the author,
If you have a need to process an object hierarchy and/or a mixed list of objects, the Visitor and Composite patterns can do a lot for you to control the complexity of dealing with the data structure.

MSDN Article:
Microsoft Sync Framework - I have mentioned about a redundency mechanism before. Recently, MS published its own version. I'm not sure if I can adapt the framework to my system, but the model and the diagram in the introduction are already very helpful to create one oneself.