Re: What is this IE Add-On?

  • From: "Yardbird" <yardbird@xxxxxxxxxxxxxx>
  • To: <jfw@xxxxxxxxxxxxx>
  • Date: Thu, 22 Feb 2007 13:34:24 -0800

P.S.

Robert, I just reread the Wikipedia article and what I see, pardon my low 
level of tech savvy, is that it's a little over my head compared to what I'd 
hoped to learn. Seriously. The article itself contains a bunch of terms in 
the explanation that I don't understand the meanings of or the concepts 
behind. So, I guess this isn't my level of interest. I was just hoping for a 
simple answer.

but what I learned from rereading this was that maybe I'll just give up on 
this one and not worry about it. Some things I'll struggle to learn, others 
I have to figure I can manage without understanding. And the meaning of DLL 
seems to be one of those things.

Thanks again for trying so generously to help.
----- Original Message ----- 
From: "Robert S. Batchelor" <leehigh73@xxxxxxxxxxx>
To: <jfw@xxxxxxxxxxxxx>
Sent: Thursday, February 22, 2007 12:12 PM
Subject: RE: What is this IE Add-On?


I am saying if you Google the term Google will give you a much deeper 
rescourse of information and definitions that may apply to your inquiry.

I went to Google and typed in "DLL"  and got this return for the definition 
of the term;

Dynamic-link library
From Wikipedia, the free encyclopedia
(Redirected from Dynamic link library)
Jump to: navigation, search
Dynamic-link library

File extension: .dll
MIME type: application/x-msdownload
Uniform Type Identifier: com.microsoft.windows-​dynamic-link-library
Magic: MZ
Developed by: Microsoft
Container for: shared library
This article is about dynamic libraries in Microsoft Windows. For other 
uses, see dynamic library (disambiguation).
Dynamic-link library (also written without the hyphen), or DLL, is 
Microsoft's implementation of the shared library concept in the Microsoft 
Windows and OS/2 operating systems. These libraries usually have the file 
extension DLL, OCX (for libraries containing ActiveX controls), or DRV (for 
legacy system drivers).

The file formats for DLLs are the same as for Windows EXE files — that is, 
Portable Executable (PE) for 32-bit Windows, and New Executable (NE) for 
16-bit Windows. As with EXEs, DLLs can contain code, data, and resources, in 
any combination.

In the broader sense of the term, any data file with the same file format 
can be called a resource DLL. Examples of such DLLs include icon libraries, 
sometimes having the extension ICL, and font files, having the extensions 
FON and FOT.

Contents [hide]
1 Background
2 Features
2.1 Memory management
2.2 Symbol resolution and binding
2.3 Explicit run-time linking
3 Compiler and language considerations
3.1 Delphi
3.2 Microsoft Visual Basic
3.3 C and C++
4 Programming examples
4.1 Creating DLL exports
4.2 Using DLL imports
4.3 Using explicit run-time linking
5 Component Object Model
6 See also
7 External links
8 References



[edit] Background
The original purpose for DLLs was saving both disk space and memory required 
for applications by storing it locally on the hard drive. In a conventional 
non-shared library, sections of code are simply added to the calling 
program; if two programs use the same routine, the code has to be included 
in both. Instead, code which multiple applications share can be separated 
into a DLL which only exists as a single, separate file, loaded only once 
into memory during usage. Extensive use of DLLs allowed early versions of 
Windows to work under tight memory conditions.

DLLs provide the standard benefits of shared libraries, such as modularity. 
Modularity allows changes to be made to code and data in a single 
self-contained DLL shared by several applications without any change to the 
applications themselves. This basic form of modularity allows for relatively 
compact patches and service packs for large applications, such as Microsoft 
Office, Microsoft Visual Studio, and even Microsoft Windows itself.

Another benefit of the modularity is the use of generic interfaces for 
plug-ins. A single interface may be developed which allows old as well as 
new modules to be integrated seamlessly at run-time into pre-existing 
applications, without any modification to the application itself. This 
concept of dynamic extensibility is taken to the extreme with ActiveX.

With these many benefits comes a significant drawback, termed "DLL hell", 
when several applications conflict on which version of a shared DLL library 
is to be used. Such conflicts can usually be resolved by placing the 
different versions of the problem DLL into the applications' folders, rather 
than a system-wide folder; however, this also nullifies the savings provided 
by using shared DLLs. Currently, Microsoft .NET is targeted as a solution to 
the problem of DLL hell by allowing side-by-side coexistence of different 
versions of a same shared library. With modern computers which have plenty 
of disk space and memory, it can be a reasonable approach.


[edit] Features

[edit] Memory management
In Win32, the DLL files are organized into sections. Each section has its 
own set of attributes, such as being writable or read-only, executable (for 
code) or non-executable (for data), and so on.

The code in a DLL is usually shared among all the processes that use the 
DLL; that is, they occupy a single place in physical memory, and do not take 
up space in the page file. If the physical memory occupied by a code section 
is to be reclaimed, its contents are discarded, and later reloaded directly 
from the DLL file as necessary.

In contrast to code sections, the data sections of a DLL are usually 
private; that is, each process using the DLL has its own copy of all the 
DLL's data. Optionally, data sections can be made shared, allowing 
inter-process communication via this shared memory area. However, because 
user restrictions do not apply to the use of shared DLL memory, this creates 
a security hole; namely, one process can corrupt the shared data, which will 
likely cause all other sharing processes to behave undesirably. For example, 
a process running under a guest account can in this way corrupt another 
process running under a privileged account. This is an important reason to 
avoid the use of shared sections in DLLs.

If a DLL is compressed by certain executable packers (e.g. UPX), all of its 
code sections are marked as read-and-write, and will be unshared. 
Read-and-write code sections, much like private data sections, are private 
to each process. Thus, compressing DLLs increases memory consumption, and 
should be generally avoided for DLLs with shared data sections.


[edit] Symbol resolution and binding
Each function exported by a DLL is identified by a numeric ordinal and 
optionally a name. Likewise, functions can be imported from a DLL either by 
ordinal or by name. It is common for internal functions to be exported by 
ordinal only. For most Windows API functions only the names are preserved 
across different Windows releases; the ordinals are subject to change. So, 
one cannot reliably import Windows API functions by their ordinals.

Importing functions by ordinal does not necessarily provide better 
performance than importing them by name: export tables of DLLs are ordered 
by name, so binary search can be used to find a function in this table by 
its name. On the other hand, only linear search can be used to find a 
function by its ordinal.

It is also possible to bind an executable to a specific version of a DLL, 
that is, to resolve the addresses of imported functions at compile-time. For 
bound imports, the linker saves the timestamp and checksum of the DLL to 
which the import is bound. At run-time Windows checks to see if the same 
version of library is being used, and if so, Windows bypasses processing the 
imports. Otherwise, if the library is different from the one which was bound 
to, Windows processes the imports in a normal way.

Bound executables load somewhat faster if they are run in the same 
environment that they were compiled for, and exactly the same time if they 
are run in a different environment, so there's no drawback for binding the 
imports. For example, all the standard Windows applications are bound to the 
system DLLs of their respective Windows release. A good opportunity to bind 
an application's imports to its target environment is during the 
application's installation.


[edit] Explicit run-time linking
DLL files may be explicitly loaded at run-time, a process referred to simply 
as run-time dynamic linking by Microsoft, by using the LoadLibrary (or 
LoadLibraryEx) API function. The GetProcAddress API function is used to 
lookup exported symbols by name, and FreeLibrary — to unload the DLL. These 
functions are analogous to dlopen, dlsym, and dlclose in the POSIX standard 
API.

Note that with implicit run-time linking, referred to as load-time dynamic 
linking by Microsoft, if the linked DLL file cannot be found, Windows will 
display an error message and fail to load the application. The application 
developer cannot handle the absence of DLL files linked implicitly by the 
compile-time linker. On the other hand, with explicit run-time linking, 
developers have the opportunity to provide a graceful fall-back facility.

The procedure for explicit run-time linking is the same in any language, 
since it depends on the Windows API rather than language constructs.


[edit] Compiler and language considerations

[edit] Delphi
In the heading of a source file, the keyword library is used instead of 
program. In the end of the file, the functions to be exported are listed in 
exports clause.

Delphi does not require LIB files to import functions from DLLs. To link to 
a DLL, external keyword is used in function declaration.


[edit] Microsoft Visual Basic
In Visual Basic (VB), only run-time linking is supported; but in addition to 
using LoadLibrary and GetProcAddress API functions, declarations of imported 
functions are allowed.

When importing DLL functions through declarations, VB will generate a 
run-time error if the DLL file cannot be found. The developer can catch the 
error and handle it appropriately.


[edit] C and C++
Microsoft Visual C++ (MSVC) provides a number of extensions to standard C++ 
which allow functions to be specified as imported or exported directly in 
the C++ code; these have been adopted by other Windows C and C++ compilers, 
including Windows versions of GCC. These extensions use the attribute 
__declspec before a function declaration. When external names follow the C 
naming conventions, they must also be declared as extern "C" in C++ code, in 
order to prevent it from using C++ naming conventions.

Besides specifying imported or exported functions using __declspec 
attributes, they may be listed in IMPORT or EXPORTS section of the DEF file 
used by the project. The DEF file is processed by the linker, rather than 
the compiler, and thus it is not specific to C++.

DLL compilation will produce both DLL and LIB files. The LIB file is used to 
link against a DLL at compile-time; it is not necessary for run-time 
linking. Unless your DLL is a COM server, the DLL file must be placed in one 
of the directories listed in the PATH environment variable, or the default 
system directory, or in the same directory as the program using it. COM 
server DLLs are registered using regsvr32.exe, which places the DLL's 
location and its globally unique ID (GUID) in the registry. Programs can 
then use the DLL by looking up its GUID in the registry to find its 
location.


[edit] Programming examples

[edit] Creating DLL exports
The following examples show language Specific bindings for exporting symbols 
from DLLs.

Delphi

library Example;

// Function that adds two numbers
function AddNumbers(a, b: Double): Double; cdecl;
begin
AddNumbers := a + b
end;

// Export this function
exports
AddNumbers;

// DLL initialization code: no special handling needed
begin
end.
C and C++

#include <windows.h>

// Export this function
extern "C" __declspec(dllexport) double AddNumbers(double a, double b);

// DLL initialization function
BOOL APIENTRY
DllMain(HANDLE hModule, DWORD dwReason, LPVOID lpReserved)
{
        return TRUE;
}


// Function that adds two numbers
double AddNumbers(double a, double b)
{
        return a + b;
}

[edit] Using DLL imports
The following examples show how to use language specific bindings to import 
symbols for linking against a DLL at compile-time.

Delphi

program Example;
{$APPTYPE CONSOLE}

// Import function that adds two numbers
function AddNumbers(a, b: Double): Double; cdecl; external 'Example.dll';

var result: Double;
begin
  result := AddNumbers(1, 2);
  Writeln('The result was: ', result)
end.
C and C++

#include <windows.h>
#include <stdio.h>

// Import function that adds two numbers
extern "C" __declspec(dllimport)double AddNumbers(double a, double b);

int
main(int argc, char **argv)
{
        double result = AddNumbers(1, 2);
        printf("The result was: %f\n", result);
        return 0;
}

[edit] Using explicit run-time linking
The following examples show how to use the run-time loading and linking 
facilities using language specific WIN32 API bindings.

Microsoft Visual Basic

Option Explicit
Declare Function AddNumbers Lib "Example.dll" _
(ByVal a As Double, ByVal b As Double) As Double

Sub Main()
Dim Result As Double
Result = AddNumbers(1, 2)
Debug.Print "The result was: " & Result
End Sub
C and C++

#include <windows.h>
#include <stdio.h>

// DLL function signature
typedef double (*importFunction)(double, double);

int main(int argc, char **argv)
{
        importFunction addNumbers;
        double result;

        // Load DLL file
        HINSTANCE hinstLib = LoadLibrary("Example.dll");
        if (hinstLib == NULL) {
                printf("ERROR: unable to load DLL\n");
                return 1;
        }

        // Get function pointer
        addNumbers = (importFunction)GetProcAddress(hinstLib, "AddNumbers");
        if (addNumbers == NULL) {
                printf("ERROR: unable to find DLL function\n");
               FreeLibrary(hinstLib);
                return 1;
        }

        // Call function.
        result = addNumbers(1, 2);

        // Unload DLL file
        FreeLibrary(hinstLib);

        // Display result
        printf("The result was: %f\n", result);

        return 0;
}

[edit] Component Object Model
The Component Object Model (COM) extends the DLL concept to object-oriented 
programming. Objects can be called from another process or hosted on another 
machine. COM objects have unique GUIDs and can be used to implement powerful 
back-ends to simple GUI front ends such as Visual Basic and ASP. They can 
also be programmed from scripting languages. COM objects are more complex to 
create and use than DLLs.


[edit] See also
Dependency walker, a utility which displays exported and imported functions 
of DLL and EXE files.
Dynamic Library
Library Linking (Computer Science)
Linker
Loader (computing)
Object File
Shared Library
Static Library

[edit] External links
Dll files Free Download Windows dll files.
Windows dll files Database of Windows dll files for free download.
__declspec C++ Language Reference on MSDN
dllexport, dllimport on MSDN
Dynamic-Link Libraries on MSDN
Dynamic-Link Library Functions on MSDN
Microsoft Portable Executable and Common Object File Format Specification
Dll Files - Collection of useful dll files
Win32 DLL on www.functionx.com. Tutorial for making and using DLLs
Delay Load Dlls Error Recovery on www.codemaestro.com.
Loading a DLL from memory
List of DLL Files used on Windows XP
Creating a Windows DLL with Visual Basic

[edit] References
Hart, Johnson. Windows System Programming Third Edition. Addison-Wesley, 
2005. ISBN 0-321-25619-0
Rector, Brent et al. Win32 Programming. Addison-Wesley Developers Press, 
1997. ISBN 0-201-63492-9.
Retrieved from "http://en.wikipedia.org/wiki/Dynamic-link_library";
Categories: Computer libraries | Windows administration | Computer file 
systems

ViewsArticle Discussion Edit this page History Personal toolsSign in / 
create account Navigation
Main page
Community portal
Featured content
Current events
Recent changes
Random article
About Wikipedia
Contact us
Make a donation
Help
Search
    Toolbox
What links here
Related changes
Upload file
Special pages
Printable version
Permanent link
Cite this article
In other languages
Български
Català
Deutsch
Español
한국어
हिन्दी
Italiano
עברית
Magyar
Nederlands
日本語
Polski
Português
Русский
Slovenčina
Svenska
Tiếng Việt
中文

This page was last modified 20:00, 15 February 2007. All text is available 
under the terms of the GNU Free Documentation License. (See Copyrights for 
details.)
Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a 
US-registered 501(c)(3) tax-deductible nonprofit charity.
Privacy policy About Wikipedia Disclaimers

**********

Again, pick out the information on the return search and apply it to your 
inquiry. Any further searches, give Google a shot and try yourself.

Good Luck, Bob




---------------------------------------------------------------------
Eliminate annoying spam!

My mailbox is protected by iHateSpam, the #1-rated spam buster.
http://www.ihatespam.net


-----Original Message-----
From: jfw-bounce@xxxxxxxxxxxxx [mailto:jfw-bounce@xxxxxxxxxxxxx] On Behalf 
Of Yardbird
Sent: Thursday, February 22, 2007 2:46 PM
To: jfw@xxxxxxxxxxxxx
Subject: Re: What is this IE Add-On?

You're saying you don't know, or don't care to tell me, what DLL stands for?
Or you think I'll get a history of how the word "object" came to be used in 
computerese by googling the word "object?" Not sure where you're coming 
from.
Thanks very much.

----- Original Message -----
From: "Robert S. Batchelor" <leehigh73@xxxxxxxxxxx>
To: <jfw@xxxxxxxxxxxxx>
Sent: Thursday, February 22, 2007 11:24 AM
Subject: RE: What is this IE Add-On?


Bird,
 for lingo terms you are interested in learning what they mean a Google
search is usually uour best reference point to start;

A Browser Helper Object (BHO) is a DLL module designed as a plugin for
Microsoft's Internet Explorer web browser to provide added functionality.
BHOs were introduced in October 1997 with the release of version 4 of
Internet Explorer. Most BHOs are loaded once by each new instance of
Internet Explorer. However, in the case of the Windows File Explorer, a new
instance is launched for each window.

Some modules enable the display of different file formats not ordinarily
interpretable by the browser. The Adobe Acrobat plugin that allows Internet
Explorer users to read PDF files within their browser is a BHO.

Other modules add toolbars to Internet Explorer, such as the Alexa Toolbar
that provides a list of web sites related to the one you are currently
browsing, or the Google Toolbar that adds a toolbar with a Google search box
to the browser user interface.

Contents [hide]
1 Concerns
2 See also
3 External links
3.1 Microsoft sites
3.2 Listings and examples
3.3 Removal tools



[edit] Concerns
The BHO API exposes hooks that allow the BHO to access the Document Object
Model (DOM) of the current page and to control navigation. Because BHOs have
unrestricted access to the Internet Explorer event model, some forms of
malware have also been created as BHOs. For example, the Download.ject
exploit installed a BHO that would activate upon detecting a secure HTTP
connection to a financial institution, record the user's keystrokes
(intending to capture passwords) and transmit the information to a website
used by Russian computer criminals. Other BHOs such as the MyWay Searchbar
track users' browsing patterns and pass the information they record to third
parties.

In response to the problems associated with BHOs and similar extensions to
Internet Explorer, Microsoft added an Add-on Manager to Internet Explorer
with the release of Service Pack 2 for Windows XP. This displays a list of
all installed BHOs, browser extensions and ActiveX controls, and allows the
user to enable or disable them at will.

For users that are not using Windows XP, there are free tools (such as
BHODemon) that list installed BHOs and allow the user to disable malicious
extensions.

Many BHOs actually install toolbars in Internet Explorer. It is therefore
possible that a PC contains BHOs that the owner doesn't know about. The
security risk here is that the BHO doesn't need any kind of permission to
install malicious components and thus spyware may be spread without the
user's knowledge.

Since it's relatively easy to write BHOs, many badly written BHOs will harm
the computer and compromise its security, and even sometimes destroy
valuable data or corrupt system files.
*********

And. . . .

instances
Published: November 01, 2004
Send your feedback
Introduction
Browser Helper Objects (BHOs) are in-process Component Object Model (COM)
components-that Internet Explorer will load each time it starts up. Such
objects run in the same memory context as the browser and can perform any
action on the available windows and modules. BHOs are triggered for each
Internet Explorer and Explorer processes (iexplore.exe and explorer.exe
processes). This means that BHOs are loaded each time when you open a folder
window or Control Panel. Usually, there is no need to load all the BHOs for
folder windows or while opening Control Panel. In such case, you can prevent
a BHO from loading with Explorer.exe process.

Though I've not benchmarked the results (Resources occupied by Explorer.exe
with BHO loaded, and without a BHO loaded), I believe it should improve the
performance, (theoretically speaking).

Open Registry Editor and navigate to the following key:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \
Explorer \ Browser Helper Objects

You'll see some sub-keys in GUID format, depending upon the number of BHOs
installed in your system. Say, if you want to disable EERedirect.Handler BHO
(which I use only for Internet Explorer) from loading with Explorer.exe
process, select the appropriate GUID. In the right-pane, add a new REG_DWORD
named NoExplorer and set it's value to 1

Example: EERedirect Handler's GUID is
{F02B00B3-A88C-4EF1-98FE-557F1DAF6E4D}.

Add the NoExplorer REG_DWORD in the right-pane of this key:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \
Explorer \ Browser Helper Objects\ {F02B00B3-A88C-4EF1-98FE-557F1DAF6E4D}

Now, EERedirect.Handler BHO will not load when you open a folder, or Control
Panel window, but loads with IExplorer.exe instances.

You can easily verify the results using a Process monitoring tool such as
Process Explorer (from sysinternals.com).

Related resources
Browser Helper Objects:The Browser the Way You Want It

Disable or delete a BHO using ToolbarCop




---------------------------------------------------------------------
Eliminate annoying spam!

My mailbox is protected by iHateSpam, the #1-rated spam buster.
http://www.ihatespam.net


-----Original Message-----
From: jfw-bounce@xxxxxxxxxxxxx [mailto:jfw-bounce@xxxxxxxxxxxxx] On Behalf
Of Yardbird
Sent: Thursday, February 22, 2007 11:43 AM
To: jfw@xxxxxxxxxxxxx
Subject: Re: What is this IE Add-On?

Thanks. Now may I ask what a browser helper object is, in plain English? For
instance, I've never gotten the hang of how the term "object" is used in
computer lingo. So could you paraphrase that in a more colloquial way? For
instance, does "B H O"mean an aftermarket accessory to improve the
performance of the browser in some way? And in what sense is that an
"object," in ordinary terms? The use of the word "object" in these contexts
must, it seems to me, have some sort of metaphorical meaning that's been
adopted in computer talk, because it doesn't seem it means physical objects,
or something to be acted upon by something else, as in "the object of my
affections," for instance.

Please note: This is a sincere question about English usage, not sarcasm. So
if no one knows, because everyone's just sort of absorbed these expressions,
okay, I'll accept that. But please no flaming or insults. Thanks.


thanks.


----- Original Message -----
From: "Robert S. Batchelor" <leehigh73@xxxxxxxxxxx>
To: <jfw@xxxxxxxxxxxxx>
Sent: Thursday, February 22, 2007 7:43 AM
Subject: RE: What is this IE Add-On?


Browser Helper Object




---------------------------------------------------------------------
Eliminate annoying spam!

My mailbox is protected by iHateSpam, the #1-rated spam buster.
http://www.ihatespam.net


-----Original Message-----
From: jfw-bounce@xxxxxxxxxxxxx [mailto:jfw-bounce@xxxxxxxxxxxxx] On Behalf
Of Yardbird
Sent: Thursday, February 22, 2007 10:37 AM
To: jfw@xxxxxxxxxxxxx
Subject: Re: What is this IE Add-On?

What is the BHO?

----- Original Message -----
From: "Cher Bosch" <Cher.Bosch@xxxxxxxxxxx>
To: <jfw@xxxxxxxxxxxxx>
Sent: Thursday, February 22, 2007 6:59 AM
Subject: Re: What is this IE Add-On?


Found the answer... It's the BHO (what shows up if you have Spybot S&D
installed).

Cher



>>> "Cher Bosch" <Cher.Bosch@xxxxxxxxxxx> 02/22/07 8:43 AM >>>

Under Manage Add-ons
Show: Add-ons currently loaded in Internet Explorer
there is this entry...
{53707962-6F74-2D53-... Safer Networking Ltd. Enabled Browser Helper
Object SDHelper.
Does anyone know if this is this legit or malware?

Cher




----------------------------------------------------------------------------
----


No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.441 / Virus Database: 268.18.3/696 - Release Date: 2/21/2007
3:19 PM

--
JFW related links:
JFW homepage: http://www.freedomscientific.com/
Scripting mailing list:
http://lists.the-jdh.com/listinfo.cgi/scriptography-the-jdh.com
JFW List instructions:
To post a message to the list, send it to jfw@xxxxxxxxxxxxx
To unsubscribe from this mailing list, send a message to
jfw-request@xxxxxxxxxxxxx with the word unsubscribe in the subject line.
Archives located at: //www.freelists.org/archives/jfw

If you have any concerns about the list, post received from the list, or the
way the list is being run, do not post them to the list. Rather contact the
list owner at jfw-admins@xxxxxxxxxxxxxx

__________ NOD32 2075 (20070222) Information __________

This message was checked by NOD32 antivirus system.
http://www.eset.com


--
JFW related links:
JFW homepage: http://www.freedomscientific.com/
Scripting mailing list:
http://lists.the-jdh.com/listinfo.cgi/scriptography-the-jdh.com
JFW List instructions:
To post a message to the list, send it to jfw@xxxxxxxxxxxxx
To unsubscribe from this mailing list, send a message to
jfw-request@xxxxxxxxxxxxx with the word unsubscribe in the subject line.
Archives located at: //www.freelists.org/archives/jfw

If you have any concerns about the list, post received from the list, or the

way the list is being run, do not post them to the list. Rather contact the
list owner at jfw-admins@xxxxxxxxxxxxxx



-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.441 / Virus Database: 268.18.3/696 - Release Date: 2/21/2007
3:19 PM


--
JFW related links:
JFW homepage: http://www.freedomscientific.com/
Scripting mailing list:
http://lists.the-jdh.com/listinfo.cgi/scriptography-the-jdh.com
JFW List instructions:
To post a message to the list, send it to jfw@xxxxxxxxxxxxx
To unsubscribe from this mailing list, send a message to
jfw-request@xxxxxxxxxxxxx with the word unsubscribe in the subject line.
Archives located at: //www.freelists.org/archives/jfw

If you have any concerns about the list, post received from the list, or the
way the list is being run, do not post them to the list. Rather contact the
list owner at jfw-admins@xxxxxxxxxxxxxx

__________ NOD32 2075 (20070222) Information __________

This message was checked by NOD32 antivirus system.
http://www.eset.com


--
JFW related links:
JFW homepage: http://www.freedomscientific.com/
Scripting mailing list:
http://lists.the-jdh.com/listinfo.cgi/scriptography-the-jdh.com
JFW List instructions:
To post a message to the list, send it to jfw@xxxxxxxxxxxxx
To unsubscribe from this mailing list, send a message to
jfw-request@xxxxxxxxxxxxx with the word unsubscribe in the subject line.
Archives located at: //www.freelists.org/archives/jfw

If you have any concerns about the list, post received from the list, or the
way the list is being run, do not post them to the list. Rather contact the
list owner at jfw-admins@xxxxxxxxxxxxxx



-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.441 / Virus Database: 268.18.3/697 - Release Date: 2/22/2007
11:55 AM

--
JFW related links:
JFW homepage: http://www.freedomscientific.com/
Scripting mailing list: 
http://lists.the-jdh.com/listinfo.cgi/scriptography-the-jdh.com
JFW List instructions:
To post a message to the list, send it to jfw@xxxxxxxxxxxxx
To unsubscribe from this mailing list, send a message to 
jfw-request@xxxxxxxxxxxxx with the word unsubscribe in the subject line.
Archives located at: //www.freelists.org/archives/jfw

If you have any concerns about the list, post received from the list, or the 
way the list is being run, do not post them to the list. Rather contact the 
list owner at jfw-admins@xxxxxxxxxxxxxx

__________ NOD32 2075 (20070222) Information __________

This message was checked by NOD32 antivirus system.
http://www.eset.com


--
JFW related links:
JFW homepage: http://www.freedomscientific.com/
Scripting mailing list: 
http://lists.the-jdh.com/listinfo.cgi/scriptography-the-jdh.com
JFW List instructions:
To post a message to the list, send it to jfw@xxxxxxxxxxxxx
To unsubscribe from this mailing list, send a message to 
jfw-request@xxxxxxxxxxxxx with the word unsubscribe in the subject line.
Archives located at: //www.freelists.org/archives/jfw

If you have any concerns about the list, post received from the list, or the 
way the list is being run, do not post them to the list. Rather contact the 
list owner at jfw-admins@xxxxxxxxxxxxxx



-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.441 / Virus Database: 268.18.3/697 - Release Date: 2/22/2007 
11:55 AM

--
JFW related links:
JFW homepage: http://www.freedomscientific.com/
Scripting mailing list: 
http://lists.the-jdh.com/listinfo.cgi/scriptography-the-jdh.com
JFW List instructions:
To post a message to the list, send it to jfw@xxxxxxxxxxxxx
To unsubscribe from this mailing list, send a message to 
jfw-request@xxxxxxxxxxxxx with the word unsubscribe in the subject line.
Archives located at: //www.freelists.org/archives/jfw

If you have any concerns about the list, post received from the list, or the 
way the list is being run, do not post them to the list. Rather contact the 
list owner at jfw-admins@xxxxxxxxxxxxxx

Other related posts: