Saturday, January 12, 2008

The Differences Between Hubs, Switches and Routers

Some technicians have a tendency to use the terms routers, hubs and switches interchangeably. One minute they're talking about a switch. Two minutes later they're discussing router settings. Throughout all of this, though, they're still looking at only the one box. Ever wonder what the difference is among these boxes? The functions of the three devices are all quite different from one another, even if at times they are all integrated into a single device. Which one do you use when? Let's take a look...

Hub, Switches, and Routers: Getting Started with Definitions
HubA common connection point for devices in a network. Hubs are commonly used to connect segments of a LAN. A hub contains multiple ports. When a packet arrives at one port, it is copied to the other ports so that all segments of the LAN can see all packets.
SwitchIn networks, a device that filters and forwards packets between LAN segments. Switches operate at the data link layer (layer 2) and sometimes the network layer (layer 3) of the OSI Reference Model and therefore support any packet protocol. LANs that use switches to join segments are called switched LANs or, in the case of Ethernet networks, switched Ethernet LANs.
RouterA device that forwards data packets along networks. A router is connected to at least two networks, commonly two LANs or WANs or a LAN and its ISP.s network. Routers are located at gateways, the places where two or more networks connect. Routers use headers and forwarding tables to determine the best path for forwarding the packets, and they use protocols such as ICMP to communicate with each other and configure the best route between any two hosts.
The Differences Between These Devices on the NetworkToday most routers have become something of a Swiss Army knife, combining the features and functionality of a router and switch/hub into a single unit. So conversations regarding these devices can be a bit misleading — especially to someone new to computer networking. The functions of a router, hub and a switch are all quite different from one another, even if at times they are all integrated into a single device. Let's start with the hub and the switch since these two devices have similar roles on the network. Each serves as a central connection for all of your network equipment and handles a data type known as frames. Frames carry your data. When a frame is received, it is amplified and then transmitted on to the port of the destination PC. The big difference between these two devices is in the method in which frames are being delivered. In a hub, a frame is passed along or "broadcast" to every one of its ports. It doesn't matter that the frame is only destined for one port. The hub has no way of distinguishing which port a frame should be sent to. Passing it along to every port ensures that it will reach its intended destination. This places a lot of traffic on the network and can lead to poor network response times. Additionally, a 10/100Mbps hub must share its bandwidth with each and every one of its ports. So when only one PC is broadcasting, it will have access to the maximum available bandwidth. If, however, multiple PCs are broadcasting, then that bandwidth will need to be divided among all of those systems, which will degrade performance. A switch, however, keeps a record of the MAC addresses of all the devices connected to it. With this information, a switch can identify which system is sitting on which port. So when a frame is received, it knows exactly which port to send it to, without significantly increasing network response times. And, unlike a hub, a 10/100Mbps switch will allocate a full 10/100Mbps to each of its ports. So regardless of the number of PCs transmitting, users will always have access to the maximum amount of bandwidth. It's for these reasons why a switch is considered to be a much better choice then a hub. Routers are completely different devices. Where a hub or switch is concerned with transmitting frames, a router's job, as its name implies, is to route packets to other networks until that packet ultimately reaches its destination. One of the key features of a packet is that it not only contains data, but the destination address of where it's going. A router is typically connected to at least two networks, commonly two Local Area Networks (LANs) or Wide Area Networks (WAN) or a LAN and its ISP's network . for example, your PC or workgroup and EarthLink. Routers are located at gateways, the places where two or more networks connect. Using headers and forwarding tables, routers determine the best path for forwarding the packets. Router use protocols such as ICMP to communicate with each other and configure the best route between any two hosts. Today, a wide variety of services are integrated into most broadband routers. A router will typically include a 4 - 8 port Ethernet switch (or hub) and a Network Address Translator (NAT). In addition, they usually include a Dynamic Host Configuration Protocol (DHCP) server, Domain Name Service (DNS) proxy server and a hardware firewall to protect the LAN from malicious intrusion from the Internet. All routers have a WAN Port that connects to a DSL or cable modem for broadband Internet service and the integrated switch allows users to easily create a LAN. This allows all the PCs on the LAN to have access to the Internet and Windows file and printer sharing services. Some routers have a single WAN port and a single LAN port and are designed to connect an existing LAN hub or switch to a WAN. Ethernet switches and hubs can be connected to a router with multiple PC ports to expand a LAN. Depending on the capabilities (kinds of available ports) of the router and the switches or hubs, the connection between the router and switches/hubs may require either straight-thru or crossover (null-modem) cables. Some routers even have USB ports, and more commonly, wireless access points built into them. Some of the more high-end or business class routers will also incorporate a serial port that can be connected to an external dial-up modem, which is useful as a backup in the event that the primary broadband connection goes down, as well as a built in LAN printer server and printer port. Besides the inherent protection features provided by the NAT, many routers will also have a built-in, configurable, hardware-based firewall. Firewall capabilities can range from the very basic to quite sophisticated devices. Among the capabilities found on leading routers are those that permit configuring TCP/UDP ports for games, chat services, and the like, on the LAN behind the firewall. So, in short, a hub glues together an Ethernet network segment, a switch can connect multiple Ethernet segments more efficiently and a router can do those functions plus route TCP/IP packets between multiple LANs and/or WANs; and much more of course.

Introduction to Microsoft Access

Microsoft Access Launching
Microsoft Access is a computer application used to create and manage computer-based databases on desktop computers and/or on connected computers (a network). Microsoft Access can be used for personal information management (PIM), in a small business to organize and manage all data, or in an enterprise to communicate with servers.

Like any other computer application, in order to use Microsoft Access, you must first open it. There are various ways this can be done. Microsoft Access is a classic computer application and it gets launched like the usual products you have probably been using. As such, to start this program, you could click Start -> (All) Programs -> Microsoft Access:

As a regular member of the Microsoft Office suite of applications, if your installation created a sub-menu on the Start menu, you could click Start -> New Office Application and proceed from the New dialog box.
Although Microsoft Office 97 and Microsoft Office 2000 get installed in the C:\Program Files\Microsoft Office folder, they treat the shortcuts that launch them differently. The applications that are part of Microsoft Office 97 designate their shortcuts with full names and these are installed in the Microsoft Office folder. Microsoft Office 2000 (Premium) uses shortcut names to designate its shortcuts and they are installed in the Microsoft Office\Office folder. This means that you could launch an application from Windows Explorer or My Computer. Therefore, in order to launch Microsoft Access, locate its shortcut in Windows Explorer or My Computer and double-click it:

If you have a Microsoft Access database such as an E-Mail attachment, a file on a floppy disk, on the network, or in any other means, once you see its icon, you can double-click it. Not only will this action launch Microsoft Access, but also it will open the file.You can also launch Microsoft Access from a shortcut. If you happen to use the software on a regular basis, you can create a shortcut on your desktop or on the Quick Launch area. Many users also take advantage of the Microsoft Office Shortcut Bar. Sometimes, the icon you need will not be there; in that case you should insert it manually.If you are working on a network of related computers, your database may be located in another computer. In this case the network or database administrator would create a link or shortcut to the drive that is hosting the database. You can then click or double-click this link or shortcut to open the database and, as a result, launch Microsoft Access.
Microsoft Access Shortcuts
Whenever you find out that you are using a particular program or file most regularly, you should have an icon on the desktop that can lead you to it quickly. This icon is called a shortcut. There are various techniques used to create a shortcut. Probably the first thing you should find out is where your application is located. You can find out by doing a search on the computer. Except on Microsoft Windows 95, you can create a shortcut from the Programs menu.
By default, the shortcuts on the Microsoft Office 97 applications are located in the C:\Program Files\Microsoft Office folder. And these shortcuts hold the same names as their respective programs; those will be Microsoft Word, Microsoft Excel, Microsoft PowerPoint, etc. The shortcuts of the Microsoft Office 2000 applications are located in the C:\Program Files\Microsoft Office\Office folder. These shortcuts use another naming convention. They are Msaccess, Winword, Excel, or Frontpg, just to name a few.To create a shortcut from Windows Explorer or My Computer, you can right-click the icon or the shortcut of the application, position your mouse on Send To, and click Desktop (Create Shortcut).To create a shortcut from the Start menu, click Start -> (All) Programs. When the program appears, you can right-click it, position the mouse pointer on Send To and click Desktop (Create Shortcut).
Practical Learning: Creating a Shortcut
Right-click on an empty area of the Desktop -> New -> Shortcut

On the first page of the wizard, click the Browse button
Make sure the Look In combo box is displaying the C: drive
Double-click Program Files
Double-click Microsoft Office
If you are using Microsoft Access 97, click Microsoft Access. If you are using Microsoft Access 2000, double-click Office. Then click Msaccess:

Click Open
Click Next

If you are using Microsoft Access 97, notice the name of the shortcutIf you are using Microsoft Access 2000 or later, change the name of the shortcut to Microsoft Access:

Click Finish

Friday, January 11, 2008

Forex Tutorial - A Short Introduction To FOREX

FOREX is the world’s largest and most liquid trading market. Many consider FOREX as the best home business you can ever venture in. Even though regular people have had
the opportunity to take part in trading foreign currencies for profit (in the same way banks and large corporations do) since 1998, it is just now becoming the cool, hip, new "thing" to talk about at parties, business events, and other social gatherings.
Even though it has been somewhat of a loosely guarded secret, every day more and more investors are turning to the all-electronic world of FOREX trading for income and profit because of its numerous benefits & advantages over traditional trading vehicles, like stocks, bonds and commodities.
But, still, whenever something seems new or is just becoming a part of social conversation, news articles, and water cooler gossip, misconceptions have to be overcome, the mind has to be open and the slate has to be clear for starting out fresh with the CORRECT information.
So, in this article, it is my attempt to give you some solid, but not over-detailed, information on just what the heck "FX" (FOREX) means, what it is, and why it exists.
As a successful trader said, Trading FOREX is like picking money up off the floor. Not trading FOREX is like leaving it there for someone else to pick up." Others in the industry have also said, Trading FOREX is like having an ATM machine on your own computer.
Here's an explanation (one I feel you'll appreciate) of what FOREX is and how a bunch of traders, profit from it:
The Foreign Exchange Market, also referred to the "FOREX" or "FX" market, is the spot (cash) market for currency.
But, don't mistake FX as trading the futures market, where you buy a contract to purchase a particular currency at a future price in time.
What FX traders do is much less risky than trading currencies on the futures market, much more profitable, and a lot easier, than trading stocks.
So, you're probably wondering where it's at ... or ... how to access the FX market?
The answer is: FX Trading is not bound to any one trading floor and is not centralized on an exchange, as with the stock and futures markets. The FX market is considered an Over-the-Counter (OTC) or 'Interbank' market, due to the fact that the entire market is run electronically, within a network of banks, continuously over a 24-hour period.
Yes, if that's the first time you've heard about an all-electronic market, I know this may sound somewhat intriguing to you.
Here's what you are actually trading when you participate in the Foreign Exchange (FOREX) market:
Essentially, like the large banks who use the FX market to protect themselves from the fluctuating exchange rate of different currencies, as an investor, what a FX trader is doing is simultaneously exchanging one countries currency for another. So, in actuality, they're electronically trading a currency-pair and the price that is quoted to us is the exchange rate between the two currencies.
In other words, simply the quoted price is how many of the one currency is worth 1 of the other currency.
EUR/USD last trade 1.2850 - One Euro is worth $1.2850 US dollars.The first currency (in this example, the EURO) is referred to as the base currency and the second (/USD) as the counter or quote currency.
The FOREX has a DAILY trading volume of around $1.5 trillion dollars - 30 times larger than the combined volume of all U.S. equity markets. This means that 1,498,574 skilled traders could each take 1 million dollars out of the FOREX market every day and the FOREX would still have more money left than the New York Stock exchange every day!
The FOREX plays a vital role in the world economy and there will always be a tremendous need for the FOREX. International trade increases as technology and communication increases. As long as there is international trade, there will be a FOREX market. The FX market has to exist so a country like Japan can sell products in the United States and be able to receive Japanese Yen in exchange for US Dollar.
There's plenty of money to be made using FOREX for plenty of traders that use the right trading techniques / tactics that will allow them to profit immensely. And, with only 5% of the daily turnover of volume coming from banks, government and large corporations who need to hedge, the other 95% is for speculation and profit.

Thursday, January 10, 2008

.NET Framework

The Microsoft .NET Framework is a software component that is a part of Microsoft Windows operating systems. It provides a large body of pre-coded solutions to common program requirements, and manages the execution of programs written specifically for the framework. The .NET Framework is a key Microsoft offering, and is intended to be used by most new applications created for the Windows platform.

The pre-coded solutions that form the framework's Base Class Library cover a large range of programming needs in areas including: user interface, data access, database connectivity, cryptography, web application development, numeric algorithms, and network communications. The class library is used by programmers who combine it with their own code to produce applications.
Programs written for the .NET Framework execute in a software environment that manages the program's runtime requirements. This runtime environment, which is also a part of the .NET Framework, is known as the Common Language Runtime (CLR). The CLR provides the appearance of an application virtual machine, so that programmers need not consider the capabilities of the specific CPU that will execute the program. The CLR also provides other important services such as security mechanisms, memory management, and exception handling. The class library and the CLR together compose the .NET Framework.
The .NET Framework is included with Windows Server 2003, Windows Server 2008 and Windows Vista, and can be installed on most older versions of Windows.
Design goals and principal features
Microsoft .NET Framework was designed with several intentions:
Interoperability - Because interaction between new and older applications is commonly required, the .NET Framework provides means to access functionality that is implemented in programs that execute outside the .NET environment. Access to COM components is provided in the System.Runtime.InteropServices and System.EnterpriseServices namespaces of the framework, and access to other functionality is provided using the P/Invoke feature.
Common Runtime Engine - Programming languages on the .NET Framework compile into an intermediate language known as the Common Intermediate Language, or CIL (formerly known as Microsoft Intermediate Language, or MSIL). In Microsoft's implementation, this intermediate language is not interpreted, but rather compiled in a manner known as just-in-time compilation (JIT) into native code. The combination of these concepts is called the Common Language Infrastructure (CLI), a specification; Microsoft's implementation of the CLI is known as the Common Language Runtime (CLR).
Language Independence - The .NET Framework introduces a Common Type System, or CTS. The CTS specification defines all possible datatypes and programming constructs supported by the CLR and how they may or may not interact with each other. Because of this feature, the .NET Framework supports development in multiple programming languages. This is discussed in more detail in Microsoft .NET Languages.
Base Class Library - The Base Class Library (BCL), part of the Framework Class Library (FCL), is a library of functionality available to all languages using the .NET Framework. The BCL provides classes which encapsulate a number of common functions, including file reading and writing, graphic rendering, database interaction and XML document manipulation.
Simplified Deployment - Installation of computer software must be carefully managed to ensure that it does not interfere with previously installed software, and that it conforms to increasingly stringent security requirements. The NET framework includes design features and tools that help address these requirements.
Security - The design is meant to address some of the vulnerabilities, such as buffer overflows, that have been exploited by malicious software. Additionally, .NET would provide a common security model for all applications.
Portability - A design goal of the .NET Framework is to remain platform agnostic, and thus be cross platform compatible. That is, a program written to use the framework should run without change on any type of system for which the framework is implemented. Microsoft's commercial implementations of the framework cover Windows, Windows CE, and the XBox 360. Microsoft has also released implementations that can run on some Unix-based platforms such as FreeBSD and Mac OSX, but license restrictions limit these to educational use only. In addition, Microsoft submits the specifications for the Common Language Infrastructure (which includes the core class libraries, Common Type System, and the Common Intermediate Language)[2][3][4], and the C# language[5], and the C++/CLI language[6] to both ECMA and the ISO, making them available as open standards. This makes it possible for third parties to freely implement compatible implementations of the framework and its languages on other platforms.

[edit] Architecture

Visual overview of the Common Language Infrastructure (CLI)

[edit] CLI
Main article: Common Language Infrastructure
The core aspects of the .NET framework lie within the Common Language Infrastructure, or CLI. The purpose of the CLI is to provide a language-agnostic platform for application development and execution, including functions for exception handling, garbage collection, security, and interoperability. Microsoft's implementation of the CLI is called the Common Language Runtime, or CLR. The CLR is composed of four primary parts:
Common Type System (CTS)
Common Language Specification (CLS)
Virtual Execution System (VES)

[edit] Assemblies
Main article: .NET assembly
The intermediate CIL code is housed in .NET assemblies. As mandated by specification, assemblies are stored in the Portable Executable (PE) format, common on the Windows platform for all DLL and EXE files. The assembly consists of one or more files, but one of these must contain the manifest, which has the metadata for the assembly. The complete name of an assembly (not to be confused with the filename on disk) contains its simple text name, version number, culture and public key token. The public key token is a unique hash generated when the assembly is compiled; thus two assemblies with the same public key token are guaranteed to be identical. A private key can also be specified known only to the creator of the assembly and can be used for strong naming and to guarantee that the assembly is from the same author when a new version of the assembly is compiled (required to add an assembly to the Global Assembly Cache).

[edit] Metadata
Main article: .NET metadata
All CIL is Self-Describing through .NET metadata. The CLR checks on metadata to ensure that the correct method is called. Metadata is usually generated by language compilers but developers can create their own metadata through custom attributes. Metadata also contains information about the assembly. Metadata is also used to implement the reflective programming capabilities of .NET Framework.

[edit] Class library
Main article: Base Class Library
The Base Class Library, sometimes incorrectly referred to as the Framework Class Library (FCL) (which is a superset including the Microsoft.* namespaces), is a library of classes available to all languages using the .NET Framework. The BCL provides classes which encapsulate a number of common functions such as file reading and writing, graphic rendering, database interaction, XML document manipulation, and so forth. The BCL is much larger than other libraries, but has much more functionality in one package.

[edit] Security
.NET has its own security mechanism, with two general features: Code Access Security (CAS), and validation and verification. Code Access Security is based on evidence that is associated with a specific assembly. Typically the evidence is the source of the assembly (whether it is installed on the local machine, or has been downloaded from the intranet or Internet). Code Access Security uses evidence to determine the permissions granted to the code. Other code can demand that calling code is granted a specified permission. The demand causes the CLR to perform a call stack walk: every assembly of each method in the call stack is checked for the required permission and if any assembly is not granted the permission then a security exception is thrown.
When an assembly is loaded the CLR performs various tests. Two such tests are validation and verification. During validation the CLR checks that the assembly contains valid metadata and CIL, and it checks that the internal tables are correct. Verification is not so exact. The verification mechanism checks to see if the code does anything that is 'unsafe'. The algorithm used is quite conservative and hence sometimes code that is 'safe' is not verified. Unsafe code will only be executed if the assembly has the 'skip verification' permission, which generally means code that is installed on the local machine.
.NET Framework uses appdomains as a mechanism for isolating code running in a process. Appdomains can be created and code loaded into or unloaded from them independent of other appdomains. This helps increase fault tolerance of the application, as faults or crashes in one appdomain does not affect rest of the application. Appdomains can also be configured independently with different security privileges. This can help increasing security of the application by separating potentially unsafe code. However, the developer has to split the application into subdomains, it is not done by the CLR.

[edit] Memory management
The .NET Framework CLR frees up the developer off the burden of managing memory (allocating and freeing up when done); instead it does the memory management itself. To this end, the memory allocated to instantiations of .NET types (objects) is done contiguously[7] from the managed heap, a pool of memory managed by the CLR. As long as there exists a reference to an object, which might be either a direct reference to an object or via a graph of objects, the object is considered to be in use by the CLR. When there is no reference to an object, and thus cannot be reached or used, it becomes garbage. However, it still holds on to the memory allocated to it. .NET Framework includes a garbage collector which runs periodically, on a separate thread than the application's thread, that enumerates all the unusable objects and reclaims the memory allocated to them.
The .NET Garbage Collector (GC) is a non-deterministic, compacting, mark-and-sweep garbage collector. The GC runs only when a certain amount of memory has been used or there is enough pressure for memory on the system. Since it is not guaranteed when the conditions to reclaim memory is reached, the GC runs are non-deterministic. Each .NET application has a set of roots , which are a set of pointers maintained by the CLR that point to objects on the managed heap (managed objects). These include references to static objects and objects defined as local variables or method parameters currently in scope, as well as objects referred to by CPU registers.[7] When the GC runs, it pauses the application, and for each objects referred to in the root, it recursively enumerates all the objects reachable from the root objects and marks the objects as reachable. It uses .NET metadata and reflection to discover the objects encapsulated by an object, and then recursively walk them. It then enumerates all the objects on the heap (which were initially allocated contiguously) using reflection and all the objects, not marked as reachable, are garbage.[7] This is the mark phase.[8] Since the memory held by garbage is not of any consequence, it is considered free space. However, this leaves chunks of free space between objects which were initially contiguous. The objects are then compacted together, by using memcpy[8] to copy them over to the free space to make them contiguous again.[7] Any reference to an object invalidated by moving the object is updated to reflect the new location by the GC.[8] The application is resumed after the garbage collection is over.
The GC used by .NET Framework is actually generational.[9] Objects are assigned a generation; newly created objects belong to Generation 0. The objects that survive a garbage collection are tagged as Generation 1, and the Generation 1 objects that survive another collection are Generation 2 objects. The .NET Framework uses up to Generation 2 objects.[9] Higher generation objects are garbage collected less frequently then lower generation objects. This helps increase the efficiency of garbage collection, as older objects tend to have a larger lifetime than newer objects.[9] Thus, by removing older (and thus more likely to survive a collection) objects from the scope of a collection run, fewer objects need to be checked and compacted.[9]

[edit] Standardization and licensing
In August 2000, Microsoft, Hewlett-Packard, and Intel worked to standardize CLI and the C# programming language. By December 2001, both were ratified ECMA standards (ECMA 335 and ECMA 334). ISO followed in April 2003 (ISO/IEC 23271 and ISO/IEC 23270).
While Microsoft and their partners hold patents for the CLI and C#, ECMA and ISO require that all patents essential to implementation be made available under "reasonable and non-discriminatory (RAND) terms." In addition to meeting these terms, the companies have agreed to make the patents available royalty-free.
However, this does not apply for the part of the .NET Framework which is not covered by the ECMA/ISO standard, which includes Windows Forms, ADO.NET, and ASP.NET. Patents that Microsoft holds in these areas may deter non-Microsoft implementations of the full framework.
On October 3, 2007, Microsoft announced that much of the source code for the .NET Framework Base Class Library (including ASP.NET, ADO.NET and Windows Presentation Foundation) will be made available with the final release of Visual Studio 2008 towards the end of 2007 under the shared source Microsoft Reference License.[1] The source code for other libraries including Windows Communication Foundation (WCF), Windows Workflow Foundation (WF) and Language Integrated Query (LINQ) will be added in future releases. Being released under the Microsoft Reference License means this source code is made available for debugging purpose only, primarily to support integrated debugging of the BCL in Visual Studio.

[edit] Versions
Microsoft started development on the .NET Framework in the late 1990s, originally under the name of Next Generation Windows Services (NGWS). By late 2000, the first beta versions of .NET 1.0 were being released. [10]
.NET Framework 1.0
This is the first release of the .NET Framework. Released on February 13, 2002. Available for Windows 98, NT 4.0, 2000, and XP.

[edit] .NET Framework 1.1
This is the first major .NET Framework upgrade. It is available on its own as a redistributable package or in a software development kit, and was published on April 3, 2003. It is also part of the second release of Microsoft Visual Studio .NET (released as Visual Studio .NET 2003). This is the first version of the .NET Framework to be included as part of the Windows operating system, shipping with Windows Server 2003.

[edit] Changes since 1.0
Built-in support for mobile ASP.NET controls. Previously available as an add-on for .NET Framework, now part of the framework.
Security changes - enable Windows Forms assemblies to execute in a semi-trusted manner from the Internet, and enable Code Access Security in ASP.NET applications.
Built-in support for ODBC and Oracle databases. Previously available as an add-on for .NET Framework 1.0, now part of the framework.
.NET Compact Framework - a version of the .NET Framework for small devices.
Internet Protocol version 6 (IPv6) support.
Numerous API changes.

[edit] .NET Framework 2.0
Released with Visual Studio .NET 2005, Microsoft SQL Server 2005, and BizTalk 2006.
The 2.0 Redistributable Package can be downloaded for free from Microsoft, and was published on 2006-01-22.
The 2.0 Software Development Kit (SDK) can be downloaded for free from Microsoft.
It is included as part of Visual Studio 2005 and Microsoft SQL Server 2005.
Version 2.0 is the last version with support for Windows 2000, Windows 98 and Windows Me.
It shipped with Windows Server 2003 R2 (not installed by default).

[edit] Changes since 1.1
Numerous API changes.
A new hosting API for native applications wishing to host an instance of the .NET runtime. The new API gives a fine grain control on the behavior of the runtime with regards to multithreading, memory allocation, assembly loading and more (detailed reference). It was initially developed to efficiently host the runtime in Microsoft SQL Server, which implements its own scheduler and memory manager.
Full 64-bit support for both the x64 and the IA64 hardware platforms.
Language support for Generics built directly into the .NET CLR.
Many additional and improved ASP.NET web controls.
New data controls with declarative data binding.
New personalization features for ASP.NET, such as support for themes, skins and webparts.
.NET Micro Framework - a version of the .NET Framework related to the Smart Personal Objects Technology initiative.

[edit] .NET Framework 3.0
.NET Framework 3.0, formerly called WinFX, [11] includes a new set of managed code APIs that are an integral part of Windows Vista and Windows Server 2008 operating systems. It is also available for Windows XP SP2 and Windows Server 2003 as a download. There are no major architectural changes included with this release; .NET Framework 3.0 uses the Common Language Runtime of .NET Framework 2.0. [12] Unlike the previous major .NET releases, there was no .NET Compact Framework release made as a counterpart of this version.
.NET Framework 3.0 consists of four major new components:
Windows Presentation Foundation (WPF), formerly code-named Avalon; a new user interface subsystem and API based on XML and vector graphics, which uses 3D computer graphics hardware and Direct3D technologies. See WPF SDK for developer articles and documentation on WPF.
Windows Communication Foundation (WCF), formerly code-named Indigo; a service-oriented messaging system which allows programs to interoperate locally or remotely similar to web services.
Windows Workflow Foundation (WF) allows for building of task automation and integrated transactions using workflows.
Windows CardSpace, formerly code-named InfoCard; a software component which securely stores a person's digital identities and provides a unified interface for choosing the identity for a particular transaction, such as logging in to a website.

[edit] .NET Framework 3.5
This version of the framework uses version 2.0 of the CLR (the same model as the use of CLR 2.0 in .NET Framework 3.0). However, it installs .NET Framework 2.0 SP1, which adds some methods and properties, required for .NET Framework 3.5 features such as LINQ, to the BCL classes in .NET Framework 2.0. These changes do not affect applications written for version 2.0 of the .NET Framework.[13]
Full support for .NET Framework 3.5 project types, as well as targeting .NET Framework 3.5 in builds, is included in Visual Studio 2008.
The source code of the Base Class Library in this release will be released under Microsoft Reference License.[1]
.NET Framework 3.5 SP1, codenamed "Arrowhead", will enhance support for occasionally connected applications.[14] and provide built-in support for the Microsoft ASP.NET MVC Framework.[15]
As with .NET Framework 1.0 and 2.0, a new .NET Compact Framework 3.5 will be released in tandem with this update, to provide e.g. LINQ, HTTP compression, and improved audio support for mobile devices.
Officially Released To Manufacturing (RTM) on 19 November 2007.

[edit] Changes
New language features in C# 3.0 and VB.NET 9.0 compiler
Adds support for expression trees and lambda methods
Extension methods
Anonymous types with static type inference
Language Integrated Query (LINQ) along with its various providers
LINQ to Objects
Paging support for ADO.NET
ADO.NET synchronization API to synchronize local caches and server side datastores
Asynchronous network I/O API[16]
Peer-to-peer networking stack, including a managed PNRP resolver[17]
Managed wrappers for WMI and Active Directory APIs[18]
Enhancements to the WCF and WF runtimes that let WCF work with POX and JSON data, as well as expose WF workflows as WCF services.[19]
Support for HTTP pipelining and syndication feeds.[19]
ASP.NET AJAX is included
See also: Visual Studio 2008

[edit] Future development

This article or section contains information about scheduled or expected future software.The content may change as the software release approaches and more information becomes available.

Microsoft has not yet made public a roadmap of the development plans for future edition of .NET framework, but has released general information regarding it. Future revisions will have better support for parallel programs, that target multi-core or distributed systems.[20] To this end, it will include technologies like PLINQ (Parallel LINQ),[21] a parallel implementation of the LINQ engine, and Task Parallel Library, which exposes parallel constructs via method calls.[22]

[edit] .NET vs. Java and Java EE
See also: Comparison of the Java and .NET platforms and Comparison of C# and Java
The CLI and C# have many similarities to Sun's JVM and Java. They are strong competitors. Both are based on a virtual machine model that hides the details of the computer hardware on which their programs run. Both use their own intermediate byte-code, Microsoft calling theirs Common Intermediate Language (CIL; formerly MSIL) and Sun Java bytecode. On .NET, the byte-code is always compiled before execution, either Just In Time (JIT), or in advance of execution using the ngen.exe utility. With Java the byte-code is either interpreted, compiled in advance, or compiled JIT. Both provide extensive class libraries that address many common programming requirements, and both address many security issues that are present in other approaches. The namespaces provided in the .NET Framework closely resemble the platform packages in Java EE API Specification both in style and invocation.
.NET in its complete form (Microsoft's implementation) is currently only fully available on Windows platforms and partially available on Linux and Mac,[23][24][25] whereas Java is fully available on nearly all platforms.[26] From its beginning, .NET has supported multiple programming languages, and at its core remains platform agnostic and standardized so that other vendors can reimplement it on other platforms (although Microsoft's implementation only targets Windows, Windows CE, and XBox based platforms). The Java platform was initially built to support only the Java language, but on many operating system platforms under the slogan, "Write once, run anywhere.". Some non-Java other programming languages have been implemented on the Java Virtual Machine, but they are not widely used. [27]
Sun's reference implementation of Java is becoming open source (including the class library, the compiler, the virtual machine, and the various tools associated with the Java Platform) under the copyleft GNU GPL license.[28]
The third-party Mono Project, sponsored by Novell, has been developing an open source implementation of the ECMA standards that define the .NET Framework, as well as most of the other non-ECMA standardized libraries in Microsoft's .NET. The Mono implementation is meant to run on Linux, Solaris, Mac OS, BSD, HP-UX, and Windows platforms. Mono includes the CLR runtime, the class libraries, and compilers for C# and VB.NET. The current version supports nearly all the APIs in version 1.1 of Microsoft's .NET and almost 96% of the APIs in version 2.0 of Microsoft's .NET. Support for the additional libraries in .NET 3.0 and 3.5 is ongoing, and currently in the early alpha stages. Support for C# 3.0 and Linq is also in early alpha at this stage. [29]

[edit] Disadvantages
Some concerns and criticisms relating to .NET include:
Applications running in a managed environment such as the Microsoft framework's CLR or Java's JVM tend to require more system resources than functionally similar applications that access machine resources more directly. However, some applications have been shown to perform better in .NET than in their native version. This could be due to the runtime optimizations made possible by such an environment, the use of relatively well-performing functions in the .NET framework, JITting of managed code, or other aspects of the CLR.[30][31]
As JIT languages can be more easily reverse-engineered than native code to algorithms used by an application, there is concern over possible loss of trade secrets and the bypassing of license control mechanisms. However, many obfuscation techniques already developed can help to prevent this; indeed Microsoft's Visual Studio 2005 includes such a tool produced by PreEmptive Solutions (see dotfuscator).
In a managed environment such as the Microsoft framework's CLR or Java's JVM, the regularly occurring garbage collection for reclaiming memory suspends execution of the application for an unpredictable lapse of time (typically no more than a few milliseconds). This makes such environments unsuitable for some applications, such as those that must respond to events with sub-second timing.
Since the framework is not pre-installed on older versions of Windows, an application that requires it must verify that it is present, and if it is not, guide the user to install it. This requirement may deter some from using the application.

[edit] Alternative implementations
The Microsoft .NET Framework is the predominant implementation of .NET technologies. Other implementations for parts of the framework exist. Since the runtime engine is described by a ECMA/ISO specification, other implementations of it are unencumbered by copyright issues. It is more difficult to develop alternatives to the base class library (BCL), which is not described by an open standard, and may be subject to copyright restrictions. Additionally, parts of the BCL have Windows-specific functionality and behavior, so implementation on non-Windows platforms can be problematic.
Some alternative implementations of parts of the framework are listed here.
Microsoft's Shared Source Common Language Infrastructure is a shared source implementation of the CLR component of the .NET Framework. It runs on Microsoft Windows XP, FreeBSD, and Mac OS X 10.2.
Portable.NET (part of DotGNU) provides an implementation of the Common Language Infrastructure (CLI), portions of the .NET Base Class Library (BCL), and a C# compiler. It supports a variety of CPUs and operating systems.
Mono is an implementation of the CLI and portions of the .NET Base Class Library (BCL), and provides additional functionality. It is dual-licensed under free software and proprietary software licenses. Mono is being developed by Novell, Inc. It includes support for ASP.NET, ADO.NET, and evolving support for Windows Forms libraries. It also includes a C# compiler, and a VB.NET compiler is in pre-beta form.
CrossNet is an implementation of the CLI and portions of the .NET Base Class Library (BCL). It is free software. It parses .NET assemblies and generates unmanaged C++ code that can compiled and linked within any ANSI C++ application on any platform.
.NET for Symbian .NET Compact Framework implementation for Symbian (S60)

[edit] Support End of Life
.NET Framework 1.0: Mainstream support ended June 30th, 2007, extended support ends June 30th, 2009.
.NET Framework 1.1: September 30th, 2008 and September 30th, 2010 respectively. Since .NET 1.1 is a component of Windows Server 2003, extended support for .NET 1.1 on Server 2003 will run out when the OS does, currently June 30th, 2013.

Wednesday, January 9, 2008

New Video Tutorial on ActionScript 3 Sound

just finished uploading a new tutorial to gotoAndLearn() which shows you the basics of how to play and manage sound in ActionScript 3. There has been considerable changes to the sound APIs and this I go over all of the changes in this tutorial. I start with showing how to use library sounds in Flash CS3 and then move on to loading and playing external sound files. I plan on doing a later tutorial that delves into the mysterious world of the SoundMixer.computeSpectrum() method.
Enjoy the tutorial!Lee

Servlet, JSP, and JDBC Tutorials

Beginning and Intermediate-Level Servlet, JSP, and JDBC Tutorials
From 2nd Edition of Core Servlets and JSP (Volume 1)
The beginning and intermediate-level tutorials on this page are based on the second edition of Marty's book Core Servlets and JavaServer Pages, and have been tested by Marty in live training courses in the US, Canada, Australia, Puerto Rico, Japan, Mexico, and the Philippines.

Also see the training materials home page for advanced servlet and JSP tutorials, Jakarta Struts tutorials, Apache Tomcat tutorials, JSF tutorials, Java 5 & Java 6 tutorials, and tutorials in Chinese and Japanese.
The PDF versions of the tutorials are freely available to anyone for personal use. These versions contain the complete text of the PowerPoint slides, and are what you want if your goal is to learn or review the technology. As a courtesy, also makes the original PowerPoint slides available to faculty teaching courses that do not compete with Marty's live courses. See the J2EE instructor materials page for details.
To arrange a servlet & JSP course at your organization based on these materials, contact These courses can be customized to use any combination of the materials on the J2EE tutorials site, and new materials can be added for specific client needs. To learn more details about the instructor, the curriculum for the live training courses, or the public course schedule, please see
Source Code
Source code for all examples in these tutorials can be downloaded from Servlet and JSP Source Code.
Servlets & JSP: Overview and Setup
View PDF of Overview and Setup Free for personal use.
Understanding the role of servlets
Evaluating servlets vs. other technologies
Understanding the role of JSP
Configuring the server
Configuring your development environment
Testing the server setup
Servlet Basics
View PDF of Servlet Basics Free for personal use.
The basic structure of servlets
A simple servlet that generates plain text
A servlet that generates HTML
Servlets and packages
Some utilities that help build HTML
The servlet life cycle
Servlet debugging strategies
Handling the Client Request: Form Data
View PDF of Handling Form Data Free for personal use.
The role of form data
Creating and submitting HTML forms
Reading individual request parameters
Reading the entire set of request parameters
Handling missing and malformed data
Dealing with incomplete form submissions
Filtering special characters out of the request parameters
Handling the Client Request: HTTP Request Headers
View PDF of Handling Request Headers Free for personal use.
Reading HTTP request headers
Building a table of all the request headers
Understanding the various request headers
Reducing download times by compressing pages
Differentiating among types of browsers
Generating the Server Response: HTTP Status Codes
View PDF of HTTP Status Codes Free for personal use.
Format of the HTTP response
How to set status codes
What the status codes are good for
Shortcut methods for redirection and error pages
A servlet that redirects users to browser-specific pages
A front end to various search engines
Generating the Server Response: HTTP Response Headers
View PDF of HTTP Response Headers Free for personal use.
Format of the HTTP response
Setting response headers
Understanding what response headers are good for
Building Excel spread sheets
Generating JPEG images dynamically
Sending incremental updates to the browser
Handling Cookies
View PDF of Handling Cookies Free for personal use.
Understanding the benefits and drawbacks of cookies
Sending outgoing cookies
Receiving incoming cookies
Tracking repeat visitors
Specifying cookie attributes
Differentiating between session cookies and persistent cookies
Simplifying cookie usage with utility classes
Modifying cookie values
Remembering user preferences
Session Tracking
View PDF of Session Tracking Free for personal use.
Implementing session tracking from scratch
Using basic session tracking
Understanding the session-tracking API
Differentiating between server and browser sessions
Encoding URLs
Storing immutable objects vs. storing mutable objects
Tracking user access counts
Accumulating user purchases
Implementing a shopping cart
Building an online store
JSP Introduction & Overview
View PDF of JSP Introduction Free for personal use.
Understanding the need for JSP
Evaluating the benefits of JSP
Comparing JSP to other technologies
Avoiding JSP misconceptions
Understanding the JSP lifecycle
Installing JSP pages
Looking at JSP in the real world
Invoking Java Code with JSP Scripting Elements
View PDF of JSP Scripting Free for personal use.
Static vs. dynamic text
Dynamic code and good JSP design
JSP expressions
Servlets vs. JSP pages for similar tasks
JSP scriptlets
JSP declarations
Predefined variables
Comparison of expressions, scriptlets, and declarations
Controlling the Structure of Generated Servlets: The JSP page Directive
View PDF of JSP page Directive Free for personal use.
Understanding the purpose of the page directive
Designating which classes are imported
Specifying the MIME type of the page
Generating Excel spreadsheets
Participating in sessions
Setting the size and behavior of the output buffer
Designating pages to handle JSP errors
Controlling threading behavior
Including Files and Applets in JSP Pages
View PDF of Including Files/Applets in JSP Pages Free for personal use.
Using jsp:include to include pages at request time
Using <%@ include ... %> (the include directive) to include files at page translation time
Understanding why jsp:include is usually better than the include directive
Using jsp:plugin to include applets for the Java Plug-in
Using JavaBeans Components in JSP Documents
View PDF of JavaBeans Free for personal use.
Understanding the benefits of beans
Creating beans
Installing bean classes on your server
Accessing bean properties
Explicitly setting bean properties
Automatically setting bean properties from request parameters
Sharing beans among multiple servlets and JSP pages
The Model View Controller (MVC) Architecture: Integrating Servlets and JSP
View PDF of MVC Free for personal use.
Understanding the benefits of MVC
Using RequestDispatcher to implement MVC
Forwarding requests from servlets to JSP pages
Handling relative URLs
Choosing among different display options
Comparing data-sharing strategies
Related MVC Info:
Jakarta Struts (Action Framework) Tutorial
JavaServer Faces (JSF) and Apache MyFaces Tutorial
The JSP 2.0 Expression Language: Simplifying MVC and Access to Java Code
View PDF of JSP Expression Language Free for personal use.
Motivating use of the expression language
Understanding the basic syntax
Understanding the relationship of the expression language to the MVC architecture
Referencing scoped variables
Accessing bean properties, array elements, List elements, and Map entries
Using expression language operators
Evaluating expressions conditionally
Using and Deploying Web Applications
View PDF of Using and Deploying Web Applications Free for personal use.
Purpose of Web applications
Structure of Web applications
Setting up Web applications with Tomcat
Sharing data among Web applications

Tuesday, January 8, 2008

What Is Debug?

Debug provides non-privileged and privileged users with both interactive and programmatic debugging facilities for examining their operating environments.
Debug enables you to do the following:

Set, delete, and list breakpoints in a program. The program executes until a breakpoint is reached, then stops and passes control to the user. When you set breakpoints, you can specify a list of commands that automatically are executed when the breakpoint is hit.
Single step (multiple steps) through a program.
Display and/or modify the contents of memory locations. A full set of addressing modes is offered, including absolute CM memory, code segment relative, data segment relative, S relative, Q relative, DB relative, HP Precision Architecture virtual addresses, and HP Precision Architecture real memory addresses.
Display a symbolic procedure stack trace, optionally displaying interleaved NM and CM calls. You can also set the current debug environment back temporarily to the environment which existed at any marker on the stack.
Calculate the value of expressions in order to determine the correct values of variables at a given point in a program. Values can be custom formatted in several bases.
Use new full screen displays (windows) which allow inspection of registers, program code, the current stack frame, and the top of stack. Groups of custom user windows can be aimed at important data blocks to monitor changing values dynamically.
Display online help for all commands, predefined functions, and environment variables.
Create and reference user-defined variables.
Define powerful parameterized macros. Macros can be invoked as new commands to perform useful sequences of commands, or as functions within expressions that return single values.
Define aliases for command and macro names.
Execute commands from a file, record all user input to a log file, and record all Debug output to a list file.What Is the Dump Analysis Tool (DAT)?
The Dump Analysis Tool (DAT) aids support and lab personnel in analyzing MPE XL system events such as process hangs, operating system failures, or hardware failures. This tool is used primarily by Hewlett-Packard support personnel.
Refer to chapter 9 for detailed information regarding DAT.What Is the Standalone Analysis Tool (SAT)?
The Standalone Analysis Tool (SAT) aids support and lab personnel in analyzing MPE XL system events such as process hangs, operating system failures, and hardware failures.
Refer to chapter 10 for detailed information regarding SAT.How to Debug
This chapter gives a very brief introduction to debugging. For additional information, refer to the Programmer's Guide corresponding to the language compiler you are using. There you will find details and examples specific to your language.
How to Debug a CM Program
Compile and, using the Segmenter, prepare your program file and optional library files.
In order to take full advantage of Debug's symbolic capabilities, you must ensure that your program (and library) contain the necessary FPMAP symbolic records. This is easily accomplished with the Segmenter as follows:
For program files, use the FPMAP option when you prepare your program:
For libraries, use the FPMAP option each time you add a segment to the library:
To debug your program, specify the Debug parameter in the RUN command:
The program file is loaded, and you break at the first instruction in your program, at the main entry point.
Debug announces your arrival into the debugger. You are now ready to debug your program (set breakpoints, define macros, turn on the windows, and so on). For example,
CM DEBUG Intrinsic: PROG %0.22
%cmdebug > won
How to Debug an NM Program
Compile and link your program file and any necessary libraries.
To Debug your program, specify the DEBUG parameter in the RUN command:
The NM program file is loaded, and a temporary breakpoint is set at the external stub that is linked to your program's main entry point.
When the program is launched into execution, the temporary breakpoint is hit, and you immediately enter Debug (in NM mode). Debug announces your arrival and deletes the temporary breakpoint.
To best observe the actual entrance (through the stub procedure) into your main program, type WON to turn the windows on. Note that you are at a stub procedure, which is marked with a question mark:
?PROGRAM+0004 etc.
Single step a few times to advance the program through the stub and into the main body of the program. In summary,
Break at: [0] PROG 31.00022e7c ?PROGRAM
$nmdebug > won
$nmdebug > s
$nmdebug > s
You are now ready to debug your program (set breakpoints, define macros, turn on the windows, and so forth).

XML Articles and Tutorials

Within the XML section below you'll find helpful annotated links to articles, tutorials, reference charts, XML editors and syntax checkers, and more related to XML. You'll also find a listing of recommended books on XML.
Do you know of some good XML tutorials, articles, XML references, software, books, or resources related to XML?

Recommendations are welcome and encouraged!
On this page:
Articles and Tutorials on XML in General
DOM and XML Articles and Tutorials
XML Information Set Articles and Tutorials
XML Linking Articles and Tutorials
XML Namespaces Articles and Tutorials
XML and RSS Articles and Tutorials
XML and Styles Articles and Tutorials
Also within XML:
XML Home
Section 1: W3C XML Recommendations, Information, and Tutorials
Section 3: XML Sites, Resources, and Books
Section 4: XML Tools - Editors, Reference Charts, Syntax Checkers, Validators, More
Articles and Tutorials on XML in General
A Child's Garden of XMLSimon St. Laurent's article for A List Apart. Excellent article that covers XML implementation on the web, concerns, what to look out for, browsers, and related. [Tutorial dated 02/18/2000 by Simon St. Laurent for A List Apart.]
Cross-Browser XMLby Simon St. Laurent, originally as presentation for XMLDevCon2001, April 2001. Covers major browsers, SGML, incompatibilities, HTML as the glue, hybrid documents, server-side solutions, and more. Links to more resources, too. [Tutorial dated 04/2001 by Simon St. Laurent.]
Dr. Tom's Guide to XMLEasy-to-understand tutorial about what XML is, how to use it, with examples and resources included. [Tutorial dated 11/07/2000 by Thomas D. Wason, Ph.D. (a.k.a. Dr. Tom).]
Introduction to XMLHelpful introductory tutorial provided by IBM. Self-described as “what XML is, why it was developed, and how it's shaping the future of electronic commerce. It also covers a variety of important XML programming interfaces and standards, and ends with two case studies showing how companies are using XML to solve business problems.” [2002-08-01, By Doug Tidwell, XML Evangelist, IBM IBM XML Zone]
Structure in DocumentsAn introduction on the structuring documents and databases with XML. Well done tutorial by Download it in PDF format: Structure in Documents (PDF). [Article by]
Understanding XMLHelpful introductory tutorial on XML. Their summary description states, “Learn how the Extensible Markup Language (XML) facilitates universal data access. XML is a plain-text, Unicode-based meta-language: a language for defining markup languages. It is not tied to any programming language, operating system, or software vendor. XML provides access to a plethora of technologies for manipulating, structuring, transforming and querying data. (14 printed pages)” [Article/tutorial dated 07/2003, by Dare Obasanjo, for Microsoft MSDN Library.]
The XML FAQby Peter Flynn. Intended as a first resource for users, developers, and others interested in learning about XML. Very thorough, covering all the basics and then some. Organized in categories: General, User, Author, and Developer. Very well done FAQ originally maintained on behalf of W3C's XML Special Interest Group, and includes links to more resources, too. [FAQ updated 01/07/2006 by Peter Flynn.]
XML in 10 pointsW3C's introductory tutorial to the world of XML, reviewing the highlights. Great place to start or to get a quick overview of XML. [Article by W3C.]
XML Protocol Technology ReferenceProtocols and Messaging: SOAP, XML-RPC, BXXP, ebXML Messaging, W3C XML Protocol; Interface Description: WSDL, UDDI, Service Discovery: UDDI, ADS, DISCO; Interoperability: CORBA/SOAP integration. [Article/tutorial dated 11/01/2000 by Edd Dumbill,]
XML and DOM Articles and Tutorials
What is XML DOM? [Article/tutorial dated 2006, by Microsoft MSDN Libary.]
XML Information Set Articles and Tutorials
Exploring the XML InfosetIntroductory explanation of what the XML Infoset is and is NOT, along with a helpful chart. Chapter excerpt from the book, XML Family of Specifications: A Practical Guide, by Kenneth B. Sall. [Article/tutorial dated 06/07/2003, by Kenneth B. Sall, author.]
XML Linking Articles and Tutorials
How will XML affect my document links?From Peter Flynn's XML FAQ, this section provides concise information about XML linking, including W3C Recommendations, XLink and XPointer.
XML Linking Technologiesby Eric van der Vlist (10/04/2000). Explains some of the ways to express links, focusing on linking nodes in a single document.
XML Namespaces Articles and Tutorials
Namespace Myths Explodedby Ronald Bourret at Thorough tutorial and explanations about namespace misconceptions and myths.
XML Namespacesby James Clark. This article explains the W3C namespaces recommendation.
XML's tutorial on XML namespaces within its XML section. Well done, easy to understand.
XML Namespaces FAQMaintained by Ronald Bourret. Incredibly thorough, well organized FAQ all about XML namespaces and how to use them, and plenty of examples and links to references and resources. Top-notch.
XML and RSS Articles and Tutorials
Creating RSS files for your Web siteby Want to allow syndication of your site, a page, your weblog, newsletter? Learn how through this helpful tutorial. Part 1 of 2. [By Michael Claßen,]
Friday Feast #42: The World of RSS FeedsResources to RSS tutorials, information, feeds, tools, and more. [by's editor Shirley Kaiser for Brainstorms & Raves, 2003-05-02]
Really Simple SyndicationAn article providing background information about RSS, where it is today, possible future directions, and thoughts. [by Sam Ruby.]
Registering and publishing with RSSby Once you've created your RSS feed, learn how to register and publish it with My Netscape Network (MNN), UserLand, and xmlTree. Part 2 of 5. [By Michael Claßen,]
RSS For Non-Techie LibrariansGood introduction to the benefits and how-to-instructions for utilizing RSS feeds to conveniently review a multitude of sites and resources. [Tutorial dated 06/2002 by Steven M. Cohen.]
RSS On the Client: What do I do with an RSS feed?Tutorial at about what you can do with an RSS feed. Helpful, easy-to-understand tutorial, with links to resources. [by John E. Simpson]
RSS Tutorial for Content Publishers and WebmastersProvides a helpful introduction to RSS feeds, how to create good feeds, tools available, and resources to more information. [By Mark Nottingham.]
Using RSS News FeedsThis tutorial provides instructions for writing a simple Perl script to retrieve an XML RSS file from the Web or local file system and converts it to HTML, and uses SSI or similar method to add news headlines from any number of sources to your Web site. Perl script provided and more. [By Jonathan Eisenzopf,]
What is an RSS Channel, Anyway?Insightful introductory article about what an RSS channel is, the uses and components of an RSS channel, and channel definitions and terms. [By Mark Nottingham.]
What is RSS?A helpful introductory article about RSS that provides a brief history, a helpful chart about RSS versions and compatibility, samples of RSS, and even how to write a simple program to read RSS feeds. [Tutorial dated 12/2002 by Mark Pilgrim for]
Where Next for RSS?Opinion piece by Tim Bray about RSS, where it's going, what to read RSS with, and the bonuses and drawbacks. [Article dated 01/2003 by Tim Bray.]
XML and Styles Articles and Tutorials
Architectures for Stylingby Didier Martin, Very well done article. I especially like the figures, such as one showing the flow from backend to the Web, or to mobile phones, or something else. Well done, easy to understand, great diagrams.
Style Matters"A fortnightly column written by Didier PH Martin, covering XML style and transformation related topics, such as XSLT and CSS."