2007年10月18日星期四

PlotKit

http://media.liquidx.net/js/plotkit-doc/PlotKit.QuickStart.html


PlotKit

PlotKit is a Javascript graph plotting library. It is aimed at web applications that require plotting series of data in modern web browsers.

PlotKit requires MochiKit. (1.3 or higher)

PlotKit supports both HTML Canvas and SVG, along with an emulated canvas for Internet Explorer.

PlotKit is easily extensible to include other rendering engines, styles and layouts. Please pursue the documentation for more information.

PlotKit is licensed under the BSD License, so you can include it in your free or commercial applications without worrying.

jQuery

http://jquery.com/

jQuery is a new type of JavaScript library.

jQuery is a fast, concise, JavaScript Library that simplifies how you traverse HTML documents, handle events, perform animations, and add Ajax interactions to your web pages. jQuery is designed to change the way that you write JavaScript.

"You start with 10 lines of jQuery that would have been 20 lines of tedious DOM JavaScript. By the time you are done it's down to two or three lines and it couldn't get any shorter unless it read your mind." - Dave Methvin

You can find a useful visual reference here :http://visualjquery.com

2007年10月17日星期三

openCascade - 3D modeling & numerical simulation

一个三维建模和数值模拟的开源代码库
In short, Open CASCADE Technology Public License is LGPL-like with certain differences. ...

Areas of use

Whether you are a software vendor or an industrial company, a research institute or a University, or an individual developer you will encounter similar issues when developing specific technical and scientific applications.

No matter what your business profile is, Open CASCADE Technology brings you numerous competitive advantages over other modeling kernels. Using Open CASCADE will increase your productivity and will solve very special problems.

To help you evaluate whether Open CASCADE Technology is the right tool for developing your specific applications, we list a few typical examples of applications and show what Open CASCADE offers to speed up their development (see "More about...").

These typical needs can appear in various industrial domains, such as aerospace or automotive sectors, in scientific research or commercial software edition. Discover these and other domains where Open CASCADE Technology has already been successfully applied. Find out about leading companies that already benefited from using it. See our customer list at www.opencascade.com.

A Visual Explanation of SQL Joins

原文发表于2007年10月11日的http://www.codinghorror.com/blog/

A Visual Explanation of SQL Joins

I thought Ligaya Turmelle's post on SQL joins was a great primer for novice developers. Since SQL joins appear to be set-based, the use of Venn diagrams to explain them seems, at first blush, to be a natural fit. However, like the commenters to her post, I found that the Venn diagrams didn't quite match the SQL join syntax reality in my testing.

I love the concept, though, so let's see if we can make it work. Assume we have the following two tables. Table A is on the left, and Table B is on the right. We'll populate them with four records each.

id name       id  name
-- ---- -- ----
1 Pirate 1 Rutabaga
2 Monkey 2 Pirate
3 Ninja 3 Darth Vader
4 Spaghetti 4 Ninja

Let's join these tables by the name field in a few different ways and see if we can get a conceptual match to those nifty Venn diagrams.

SELECT * FROM TableA
INNER JOIN TableB
ON TableA.name = TableB.name

id name id name
-- ---- -- ----
1 Pirate 2 Pirate
3 Ninja 4 Ninja

Inner join produces only the set of records that match in both Table A and Table B.

Venn diagram of SQL inner join
SELECT * FROM TableA
FULL OUTER JOIN TableB
ON TableA.name = TableB.name

id name id name
-- ---- -- ----
1 Pirate 2 Pirate
2 Monkey null null
3 Ninja 4 Ninja
4 Spaghetti null null
null null 1 Rutabaga
null null 3 Darth Vader

Full outer join produces the set of all records in Table A and Table B, with matching records from both sides where available. If there is no match, the missing side will contain null.

Venn diagram of SQL cartesian join

SELECT * FROM TableA
LEFT OUTER JOIN TableB
ON TableA.name = TableB.name

id name id name
-- ---- -- ----
1 Pirate 2 Pirate
2 Monkey null null
3 Ninja 4 Ninja
4 Spaghetti null null

Left outer join produces a complete set of records from Table A, with the matching records (where available) in Table B. If there is no match, the right side will contain null.

Venn diagram of SQL left join
SELECT * FROM TableA
LEFT OUTER JOIN TableB
ON TableA.name = TableB.name
WHERE TableB.id IS null

id name id name
-- ---- -- ----
2 Monkey null null
4 Spaghetti null null

To produce the set of records only in Table A, but not in Table B, we perform the same left outer join, then exclude the records we don't want from the right side via a where clause.

join-left-outer.png
SELECT * FROM TableA
FULL OUTER JOIN TableB
ON TableA.name = TableB.name
WHERE TableA.id IS null
OR TableB.id IS null

id name id name
-- ---- -- ----
2 Monkey null null
4 Spaghetti null null
null null 1 Rutabaga
null null 3 Darth Vader

To produce the set of records unique to Table A and Table B, we perform the same full outer join, then exclude the records we don't want from both sides via a where clause.

join-outer.png

There's also a cartesian product or cross join, which as far as I can tell, can't be expressed as a Venn diagram:

SELECT * FROM TableA
CROSS JOIN TableB

This joins "everything to everything", resulting in 4 x 4 = 16 rows, far more than we had in the original sets. If you do the math, you can see why this is a very dangerous join to run against large tables.

[advertisement] Axosoft's OnTime 2007 allows software development teams to collaborate and ship software on time. It manages projects hierarchically, tracking defects, requirements, tasks, and help desk incidents in one place. Hosted or installed. Windows or Web. Free SDK and Free single-user license.

Posted by Jeff Atwood Comments (79) 106 blog reactions

Web Development Tutorials

These tutorials are designed to support college-level classes in Web development, but they can provide introductions to these topics for anyone interested. All are works in progress and are being expanded as time permits. They run under Microsoft Server 2003 and .NET Framework 2.0, and have been tested using Microsoft Internet Explorer 6.0 under Windows XP. The current URL is http://it.maconstate.edu/tutorials.

MERLOT icon
These tutorials earned the 2006 MERLOT (Multimedia Educational Resource for Learning and Online Teaching) Information Technology Classics Award for Exemplary Online Learning Resources: http://www.merlot.org. (Awarded August 2006)

Students and professionals world-wide who have taken time to offer constructive comments and suggestions for improving and expanding the materials.



一个在线的教程,有XHTML/CSS, JScript,XML, ASP.NET 2.0 ASP.NET 1.1, PHP和VB等

2007年10月9日星期二

MooTools Javascript开发框架

http://mootools.net/

MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer. It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented, and coherent API.

MooTools code respects strict standards and doesn't throw any warnings. It's well commented and has meaningful variable names: a joy to browse and a snap to understand.

这是一个javascript开发框架,良好的跨平台代码,有各种动态效果。

Periodic Table 元素周期表

下面是几个元素周期表和相关元素数据的网站
http://code.jalenack.com/periodic/
http://www.chemicool.com/

信息比较全,而且页面设计的也比较好。