Tuesday, July 06, 2004

Today's Technical Stuff - RDF ( Resource Description Framework)

I got this material from xml.com
 
What is RDF?
By Tim Bray

Spanish Translation available here.

This article was first published as "RDF and Metadata" on XML.com in June 1998. It has been updated by ILRT's Dan Brickley, chair of the W3C's RDF Interest Group, to reflect the growing use of RDF and updates to the specification since 1998.

The Right Way to Find Things

RDF stands for Resource Description Framework. RDF is built for the Web, but let's leave the Web behind for now and think about how we find things in the real world.

Scenario 1: The Library

You're in a library to find books on raising donkeys as pets. In most libraries these days you'd use the computer lookup system, basically an electronic version of the old card file. This system allows you to list books by author, title, subject, and so on. The list includes the date, author, title, and lots of other useful information, including (most important of all) where each book is.

Scenario 2: The Video Store

You're in a video store and you want a movie by John Huston. A large modern video store offers a lookup facility that's similar to the library's. Of course, the search properties are different (director, actors, and so on) but the results are more or less the same.

Scenario 3: The Phone Book

You're working late at a customer's office in South Denver, and it seems that a pizza is essential if work is to continue. Fortunately, every office comes equipped with a set of Yellow Pages that, when properly used, can lead to quick pizza delivery.

The Common Thread

What do all these situations have in common, and what differences lie behind the scenes? First of all, each of these systems is based on metadata, that is, information about information. In each case, you need a piece of information (the book's location, the video's name, the pizza joint's phone number) you don't have. In each case, you use metadata (information about information) to get it.

We're all used to this stuff; metadata ordinarily comes in named chunks (subject, director, business category) that associate lookup information ("donkeys", "John Huston", "Pizza, South Side") with the information you're really after.

Here's a subtle but important point -- in theory, metadata is not really necessary: you could go through the library one book at a time looking for donkey books, or through the video store shelves until you found your movie, or call all the numbers in your area code until you find pizza delivery. But that would be very wasteful, in fact, it would be stupid. Metadata is the way to go.

It's All Different Behind the Scenes

In each of our scenarios, we used metadata, and we used it in remarkably similar ways. Does this mean that the library, the video store, and the phone company all use the same metadata setup? Of course not. Every library has a choice among at least two systems for organizing their books, and among many vendors who will sell them software to do the looking-up. The same is obviously true for video stores and phone companies.

In fact most such products define their own system of metadata and their own facilities for storing and managing it. They typically do not offer facilities for sharing or interchanging it. This doesn't cause too much of a problem, assuming they do a decent job with the user interface. We are comfortable enough with the general process we call "looking things up" (really, searching via metadata) that we are able to adapt and use all these different systems.

Not Just For Searching

The most common daily use of metadata is to aid our discovery of things. But there are lots of other uses going on behind the scenes. The library and video store are storing other metadata that you don't see: how often the books and videos are being used, how much it cost to buy them, where to go for a replacement, etc. Running a library or a video store would be unthinkable without metadata. Similarly, the phone company, of course, uses its metadata, most obviously to print the Yellow Pages, but for many other internal management and administration tasks.

What About the Web?

The Web is a lot like a really really big library. There are millions of things out there, and if you know the URL (in effect a kind of call number) you can get them. Since the Web has books, movies, and pizza joints, the number of ways you might want to look things up includes all the things a library uses, plus all the things the video store uses, plus all the things the Yellow Pages use, and lots more.

The problem at the moment is that there is hardly any metadata on the Web. So how do we find things? Mostly by using dumb, brute force techniques. The dumb, brute force is supplied by the wandering web robots of search engine sites like Altavista, Infoseek, and Excite. These sites do the equivalent of going through the library, reading every book, and allowing us to look things up based on the words in the text. It's not surprising that people complain about search results, or that the robots are always way behind the growth and change of the Web.

In fact there is one metadata-based general purpose lookup facility: Yahoo! Yahoo doesn't use a robot. When you search through Yahoo, you're searching through human-generated subject categories and site labels. Compared to the amount of metadata that a library maintains for its books, Yahoo! is pitiful; but its popularity is clear evidence of the power of (even limited) metadata.

by Tim Bray

Divine Metadata for the Web

People who have thought about these problems, including many librarians and webmasters, generally agree that the Web urgently needs metadata. What would it look like? If the Web had an all-powerful Grand Organizing Directorate (at www.GOD.org), it would think up a set of lookup fields such as Author, Title, Date, Subject, and so on. The Directorate, being, after all, GOD, would simply decree that all Web pages start using this divine Metadata, and that would be that. Of course there would be some details such as how the Web sites ought to package up and interchange the metadata, and we all know that the Devil is in the details, but GOD can lick the Devil any day.

In fact, there is no www.GOD.org. For this reason, there is no chance that everyone will agree to start using the same metadata facilities. If libraries, which have existed for hundreds of years, can't agree on a single standard, there's not much chance that the Web will.

Does this mean that there is no chance for metadata? That everyone is going to have to build their own lookup keys and values and software, and that we're going to be stuck using dumb, brute force robots forever?

No. As we observed with our three search scenarios, metadata operations have an awful lot in common, even when the metadata is different. RDF is an effort to identify these common threads and provide a way for Web architects to use them to provide useful Web metadata without divine intervention.

Introducing RDF

Resource Description Framework, as its name implies, is a framework for describing and interchanging metadata. It is built on the following rules.

  1. A Resource is anything that can have a URI; this includes all the Web's pages, as well as individual elements of an XML document. An example of a resource is a draft of the document you are now reading and its URL is http://www.textuality.com/RDF/Why.html
  2. A Property is a Resource that has a name and can be used as a property, for example Author or Title. In many cases, all we really care about is the name; but a Property needs to be a resource so that it can have its own properties.
  3. A Statement consists of the combination of a Resource, a Property, and a value. These parts are known as the 'subject', 'predicate' and 'object' of a Statement. An example Statement is "The Author of http://www.textuality.com/RDF/Why.html is Tim Bray." The value can just be a string, for example "Tim Bray" in the previous example, or it can be another resource, for example "The Home-Page of http://www.textuality.com/RDF/Why.html is http://www.textuality.com."
  4. There is a straightforward method for expressing these abstract Properties in XML, for example:
<rdf:Description about='http://www.textuality.com/RDF/Why-RDF.html'> <Author>Tim Bray</Author>  <Home-Page rdf:resource='http://www.textuality.com' /> </rdf:Description> 

RDF is carefully designed to have the following characteristics.

Independence
Since a Property is a resource, any independent organization (or even person) can invent them. I can invent one called Author, and you can invent one called Director (which would only apply to resources that are associated with movies), and someone else can invent one called Restaurant-Category. This is necessary since we don't have a GOD to take care of it for us.
Interchange
Since RDF Statements can be converted into XML, they are easy for us to interchange. This would probably be necessary even if we did have a GOD.
Scalability
RDF statements are simple, three-part records (Resource, Property, value), so they are easy to handle and look things up by, even in large numbers. The Web is already big and getting bigger, and we are probably going to have (literally) billions of these floating around (millions even for a big Intranet). Scalability is important.
Properties are Resources
Properties can have their own properties and can be found and manipulated like any other Resource. This is important because there are going to be lots of them; too many to look at one by one. For example, I might want to know if anyone out there has defined a Property that describes the genre of a movie, with values like Comedy, Horror, Romance, and Thriller. I'll need metadata to help with that.
Values Can Be Resources
For example, most web pages will have a property named Home-Page which points at the home page of their site. So the values of properties, which obviously have to include things like title and author's name, also have to include Resources.
Statements Can Be Resources
Statements can also have properties. Since there's no GOD to provide useful assertions for all the resources, and since the Web is way too big for us to provide our own, we're going to need to do lookups based on other people's metadata (as we do today with Yahoo!). This means that we'll want, given any Statement such as "The Subject of this Page is Donkeys", to be able to ask "Who said so? And When?" One useful way to do this would be with metadata; so Statements will need to have Properties.

Why Not Just Use XML?

XML allows you to invent tags, which may contain both text data and other tags. XML has a built-in distinction between element types, for example the IMG element type in HTML, and elements, for example an individual <img src='Madonna.jpg'>; this corresponds naturally to the distinction between Properties and Statements. So it seems as though XML documents should be a natural vehicle for exchanging general purpose metadata.

XML, however, falls apart on the Scalability design goal. There are two problems:

  1. The order in which elements appear in an XML document is significant and often very meaningful. This seems highly unnatural in the metadata world. Who cares whether a movie's Director or Title is listed first, as long as both are available for lookups? Furthermore, maintaining the correct order of millions of data items is expensive and difficult, in practice.
  2. XML allows constructions like
<Description>The value of this property contains some text, mixed up with child properties such as its temperature (<Temp>48</Temp>) and longitude  (<Longt>101</Longt>). [&Disclaimer;]</Description>
When you represent general XML documents in computer memory, you get weird data structures that mix trees, graphs, and character strings. In general, these are hard to handle in even moderate amounts, let alone by the billion.

On the other hand, something like XML is an absolutely necessary part of the solution to RDF's Interchange design goal. XML is unequalled as an exchange format on the Web. But by itself, it doesn't provide what you need in a metadata framework.

by Tim Bray

The Devil is in the Details

The four general rules given above define the central ideas of RDF. It turns out that it takes quite a lot of abstract terminology and XML syntax to define them precisely enough that people can write computer programs to process them. In particular, turning Statements into Resources is quite tricky. It also turns out that in a (very) few cases, you do need to order your properties, and this requires quite a bit of syntax.

This article doesn't explain all these details; there are a variety of excellent resources to be found at http://www.w3.org/RDF that are designed to do just that.

Vocabularies

RDF, as we've seen, provides a model for metadata, and a syntax so that independent parties can exchange it and use it. What it doesn't provide though is any Properties of its own. RDF doesn't define Author or Title or Director or Business-Category. That would be a job for GOD, if there were one. Since there isn't, it's a job for everyone.

It seems unlikely that one Property standing by itself is apt to be very useful. It is expected that these will come in packages; for example, a set of basic bibliographic Properties like Author, Title, Date, and so on. Then a more elaborate set from OCLC and a competing one from the Library of Congress. These packages are called Vocabularies; it's easy to imagine Property vocabularies describing books, videos, pizza joints, fine wines, mutual funds, and many other species of Web wildlife.

What RDF Might Mean

The Web is too big for anyone person to stay on top of. In fact, it contains information about a huge number of subjects, and for most of those subjects (such as fine wines, home improvement, and cancer therapy), the Web has too much information for any one person to stay on top of and much of anything else .

This means that opinions, pointers, indexes, and anything that helps people discover things are going to be commodities of very high value. Nobody thinks that everyone will use the same vocabulary (nor should they), but with RDF we can have a marketplace in vocabularies. Anyone can invent them, advertise them, and sell them. The good (or best-marketed) ones will survive and prosper. Probably most niches of information will come to be dominated by a small number of vocabularies, the way that library catalogs are today.

And even among people who are sharing the use of metadata vocabularies, there's no need to share the same software. RDF makes it possible to use multiple pieces of software to process the same metadata, and to use a single piece of software to process (at least in part) many different metadata vocabularies.

With any luck, this should make the Web more like a library, or a video store, or a phone book, than it is today.

Getting started with RDF

Since RDF became a W3C Recommendation in February 1999, a number of tools have been created by developers working with RDF. For an in-depth treatment of these, consult the W3C RDF home page. A number of other listings are available, including XML.com, XMLhack and Dave Beckett's RDF Resource Guide.

Developer Community

The main email list for RDF developer discussion is W3C's RDF Interest Group. A number of other RDF-related discussion lists exist, including the Mozilla-RDF forum (the Mozilla and Netscape 6 browsers make heavy use of RDF). More recently, the RDF-Logic list has been announced, providing a forum for the discussion of formal, logic-based approaches to knowledge representation for the Web. DARPA's DAML (DARPA Agent Markup Language) initiative uses the RDF-Logic list for discussions and announcements.

The RDF developer community is rather diverse, which is reflected in the nature of online discussions on the RDF lists. While one strand of RDF development is concerned with highly formal topics (RDF-Logic, DAML and so on), others are busy deploying simpler, more pragmatic applications for Web-based content and metadata syndication. All these themes meet (sometimes productively, sometimes confusingly) on the RDF Interest Group list, but they also typically each have a dedicated email list. For example, the RSS-DEV group has produced the RDF Site Summary (RSS) 1.0 Specification, which provides an RDF-based channel format, designed for interoperability with high level vocabularies such as Dublin Core as well as a variety of more application-specific RDF vocabularies.

Notes on Update (Dan Brickley)

This update to the 1998 article serves only to synchronize it with recent RDF terminology. Since this document was first published, the W3C has published the Model and Syntax specification as a Recommendation.

I have updated the markup example to use current RDF 1.0 syntax. There have also been some terminology changes: 'PropertyType' became 'Property', 'Property' became 'Statement'. I have also added a brief mention of subject/predicate/object terminology, and lowercased a few mentions 'Value' (since rdf:object replaced rdf:value for talking about the object of a statement).

Monday, July 05, 2004

Your Mindset Determines Your Life

Hi Friends,
 
I read the article "Your Mindset Determines Your Life" from the link http://www.barvin.com/427.aspx. Its very nice once... read it and njoy....
 
Regards,
Prakash
 
 

Your Mindset Determines Your Life

by Sopan Greene

To keep at the top of your game you have to keep a clear head. You can't afford to fill up on news and negativity. The world's overflowin' with it and the only way to be a winner is to be in control of your thoughts.

Your thoughts become words, your words become actions and your actions become your destiny. Someone else came up with that, but I've always remembered it because it's true. Our actions show who we truly are and how shallow or deep our character is.

Where you are today is a direct reflection of the words, thoughts and actions you took days, months and years ago. No matter how much some people blame their parents,teachers, where they grew up, television, the government or anything else, the truth is that nobody got them where they are today but themselves. The longer we choose to not take responsibility for our lives, the longer we'll living uninspired lives that we don't love.

I've heard 40 year old adults who complain about their lives and take no responsiblility for what they've created. Give me a break. If you think you're on the recieving end of life you're mistaken and too lazy to do anything about it.

Simply think about the pictures you've seen on TV of people in third world countries. When I start to get mad about having to stand behind two people in a line at the grocery store I remind myself that a lot of people don't even know where their food will come from tonight. This shifts me from anger to gratitude.

The next time you notice yourself getting frustrated or angry about something in your life I invite you to shift your focus onto what's great in your life. It doesn't matter if you think you don't have enough money or you're mad at your dog for chewing up a shoe. Remember how much love you get from having your dog in the first place and how your weekly earnings are more than some people make in a month or year.

Keep your focus on what is working - for you and for others. We are bombarded with negative input all day long. We need to watch what goes in because our livlihoods depend on what we creatively crank out. Our heads need to be full of positive inspiration or free space where we can dream.

A recent study revealed that the people who watch the most television news are the most fearful in our society. Crime has been going down in America for over a decade, but since the news focuses on it and repeats it over and over, a lot of people are receiving multiple messages that the world isn't safe. These people end up being less confident and less successful as a result of being emotinally paralyzed to a degree by their fears.

Remember the old phrase "garbage in, garbage out"? If you were asked to be on television based on the person you are today would it be on Jerry Springer or Oprah?

Yeah, I know. You're probably laughing or snickering right now. I can practically see that questioning look of disbelief on your face.

You may even think that you wouldn't be on either one. Just imagine that there's a guy at your door and he's going to put you in a limo right now and you have to pick one show or the other to be a guest on or you'll be locked in your house for a month. (It's silly, but you get the point, I want you to get into it).

There's a definite difference between Oprah guests and Jerry's guests. Oprah's guests radiate confidence and have taken responsibility for their lives and have created lemonade out of lemons. Jerry's guests radiate low self esteem and think they're victims of life. Even worse, they think they have a right to inflict their negative self-defeating attitude on others.

Oprah people know that they're on the creative end of life. Jerry people choose to think they're on the receiving end of life. And the truth is that if that's what they beleive then thats what they get. It's an easy cop out to settle in life and a lot of folks do it.

It's important to keep a positive mental attitude nomatter what your life is like because nothing is more important than your thoughts. They determine how you'll experience the next minute, hour, day, week, year, decade and century. Rid your life of people and circumstances that don't inspire and enliven you. Life's simply too short to put up distracting drama and complainers who never change anything.

We all throw around phrases about how life is too short, but we don't live that way. Take at least one action today to reaffirm that you're creating a life you love.

Fire a friend who drains your energy. Read from an autobiography of a person who inspires you. Turn off the TV and write your goals and values. Take a walk in nature or with a friend who supports the best in you. Write a note to someone who has impacted your life in a positive way to let them know you're grateful for having them in your life. Rub your dog's belly and watch a doggy smile of ecstasy come out to greet you.

You're building a powerful future. Study successful people and you'll notice they all surround themselves with other inspired and successful people. Your life is your show, choose to be an Oprah person and aviod the Jerry people who show up in your life. Or better yet, treat the Jerry people you meet like they are the Oprah person buried inside them so we can all shine together.

Let your positive mental attitude infect everyone you meet and we'll all enjoy better lives.

 

 

Friday, July 02, 2004

Spring Clean Your Life

 

Spring Clean Your Life

by Kathy Gates

Our minds are much like our homes. They both get cluttered with old ideas, old attitudes, old conversations, old hurts. Both need a routine cleaning out of stuff that we collected for one reason, and are holding onto out of habit, neglect, or just sheer willfulness.

Pursuing a simple, sustainable, flexible, happier lifestyle means that you have to choose it. And that means choosing to lose some other things. It means getting rid of things that no longer work for you, it means updating the way you do things, it means freeing up some space for new and exciting opportunities and challenges.

Just like cleaning your home, a mental Spring Cleaning takes a dedicated effort, a conscious choice to make changes in your mind the same way you make changes in your décor.

Here are some ideas to get you started on a Spring Cleaning for your Life:

1. Clean out the anger, hatred, jealousy, and self doubt. If you need to apologize, bit the bullet and do it. If you’re still angry and waiting on an apology from someone who won’t or can’t give you one, decide to let it go. It’s not contributing to your life - in fact it’s contaminating it - so it needs to go to the junk heap at the curb. Only then can you put something POSITIVE in it’s place. Make some room for happiness.

2. Wash away delay and procrastination. Delay and procrastination set you up for frustration after frustration. You’ll find yourself constantly in the past, trying to catch up, scrambling around trying not to get caught. Is that really how you want to live? Get into the present! You’re missing your life by living yesterday over and over.

3. Dust off your attitude, and put on a fresh coat of positive. A positive attitude begins with gratitude. For just one day, practice giving instead of taking, practice sharing as much love, help, care, concern, and gratitude as possible. It’ll change your perspective.

4. Throw out misunderstanding, and lack of patience. Sweep out the dirt of gossip or lies. Open the shades and let in the warmth of friendship. True friendships, take work, time, energy, thoughtfulness. True friendships require forgiveness, require understanding. You don’t want to be a doormat to anyone, but you do want to find relationships that are equal and reciprocal. The results are certainly worth it.

5. Lighten up your thoughts with humor and fun. Yes life is difficult and the world can be a scary, tiresome place. But in your own world, you are in charge of every day. You decide what to think about. You decide when to laugh, you decide what to read, what to listen to, what to think about. Choose to insert laughter into each day; choose to have a little fun every day.

6. Open the windows of your mind to new ideas and a fresh perspective on living a happier, better, easier life. Change takes action. There’s no silver bullet, no magic pill. But if you’ll open your mind to some different ways of doing things, if you’ll try some new habits, if you’ll work your mind muscles and your organizational skills in a different way, you’ll find that you’ll create the life that you truly want, not just the one that you end up with.

7. Enjoy the person you are. If you don’t like yourself, find out why, and start working on becoming a person you do enjoy and that others will enjoy also. The returns will be worth it.

Thursday, July 01, 2004

File Types Created for Visual C++ Projects

File Types Created for Visual C++ Projects

Starter files are automatically generated for your Visual C++ project, whenever you create one either by using a wizard (such as the MFC AppWizard or the ActiveX ControlWizard) or one of the icons (such as the Application icon) available on the Projects tab of the New dialog.

This topic describes all the types of files that are associated with Visual C++ projects. The actual files included in your project will depend on the project type and the options you select when using a wizard. PROJNAME represents the name of your project.

What kind of files do you want to know more about?

Project Files and Makefiles

PROJNAME.DSW

This is the workspace file used within the development environment. It organizes all the projects into a single workspace.

PROJNAME.OPT

This is the workspace options file used within the development environment. It stores all the user options you create for your workspace, so that each time you open the project workspace it has the look and feel you want and includes any customizations you have made.

PROJNAME.DSP

This is the project file used within the development environment. In previous versions of Visual C++ this file extension was MAK. It stores the information specific to your project. There will be a separate .DSP file for each project you create. .DSP files are not compatible with NMAKE. You must export a makefile to build with NMAKE.

PROJNAME.CLW

This file is used by ClassWizard to store information about the classes in your project

PROJNAME.ODL

This file contains the Object Description Language source code for a control type library. This file is used by Visual C++ to generate a type library. The generated library exposes the control’s interface to other Automation clients.

PROJNAME.NCB  This is the No compile Browser file. It contains information generated by the parser which is used by ClassView, WizardBar, and Component Gallery. If the file is accidentally or deliberately deleted, it is automatically regenerated.

README.TXT  A file (located in the parent directory of the project) that describes each file in your project using the actual filenames created by AppWizard or ControlWizard.

Program or Control Source and Header Files

PROJNAME.H

This is the main include file for the program or DLL. It contains all global symbols and #include directives for other header files. It derives the CPrjnameApp class from CWinApp and declares an InitInstance member function. For a control, the CPrjnameApp class is derived from COleControlModule.

PROJNAME.CPP

This file is the main program source file. It creates one object of the class CPrjnameApp (which is derived from CWinApp) and overrides the InitInstance member function.

For executables, CPrjnameApp::InitInstance does several things. It registers document templates, which serve as a connection between documents and views, creates a main frame window, and creates an empty document (or opens a document if one is specified as a command-line argument to the application).

For DLLs and ActiveX (formerly OLE) controls, CProjNameApp::InitInstance registers the control’s object factory with OLE by calling COleObjectFactory::RegisterAll and makes a call to AfxOLEControlInit. In addition, the member function CProjNameApp::ExitInstance is used to unload the control from memory with a call to AfxOleControlTerm.

This file also registers and unregisters the control in the Windows registration database by implementing the DllRegisterServer and DllUnregisterServer functions.

PROJNAMECTL.H, PROJNAMECTL.CPP

These files declare and implement the CProjnameCtrl class. CProjnameCtrl is derived from COleControl, and skeleton implementations of some member functions are defined that initialize, draw, and serialize (load and save) the control. Message, event, and dispatch maps are also defined.

PROJNAMEDLG.CPP, PROJNAMEDLG.H

These files are created if you choose a dialog-based application. The files derive and implement the dialog class, named CProjnameDlg, and include skeleton member functions to initialize a dialog and perform dialog data exchange (DDX). Your About dialog class is also placed in these files instead of in PROJNAME.CPP.

DLGPROXY.CPP, DLGPROXY.H

in a dialog-based program, these are the implementation and header file for the project’s Automation proxy class for the main dialog. This is only used if you have chosen Automation support. This file is one of the templates provided by MFCAPWZ.DLL.

PROJNAMEDOC.CPP, PROJNAMEDOC.H

These files derive and implement the document class, named CProjnameDoc, and include skeleton member functions to initialize a document, serialize (save and load) a document, and implement debugging diagnostics.

PROJNAMESET.H/.CPP   These files are created if you create a program that supports a database and contains the recordset class.

PROJNAMEVIEW.CPP, PROJNAMEVIEW.H

These files derive and implement the view class, named CProjnameView, that is used to display and print the document data. The CProjnameView class is derived from CEditView, CFormView, CRecordView, CDaoRecordView, CTreeView, CListView, CRichEditView, CScrollView, or CView and has skeleton member functions to draw the view and implement debugging diagnostics. If you have enabled support for printing, message-map entries are added for print, print setup, and print preview command messages. These entries call the corresponding member functions in the base view class.

PROJNAMEPPG.H, PROJNAMEPPG.CPP

These files declare and implement the CProjnamePropPage class. CProjnamePropPage is derived from COlePropertyPage and a skeleton member function, DoDataExchange, is provided to implement data exchange and validation.

IPFRAME.CPP, IPFRAME.H

These files are created if the Mini-Server or Full-Server option is selected in AppWizard’s Automation Options page (step 3 of 6). The files derive and implement the in-place frame window class, named CInPlaceFrame, used when the server is in-place activated by a container program.

MAINFRM.CPP, MAINFRM.H

These files derive the CMainFrame class from either CFrameWnd (for SDI applications) or CMDIFrameWnd (for MDI applications). The CMainFrame class handles the creation of toolbar buttons and the status bar, if the corresponding options are selected in AppWizard’s Application Options page (step 4 of 6).

CHILDFRM.CPP, CHILDFRM.H

These files derive the CChildFrame class from CMDIChildWnd. The CChildFrame class is used for MDI document frame windows. These files are always created if you select the MDI option.

Precompiled Header Files

STDAFX.CPP, STDAFX.H

These files are used to build a precompiled header file PROJNAME.PCH and a precompiled types file STDAFX.OBJ. It is important that you neither define nor undefine any of the _AFX_NO_XXX macros in stdafx.h. See the Knowledge Base article "PRB: Problems Occur When Defining _AFX_NO_XXX". You can find Knowledge Base articles on the MSDN Library CD, or at http://www.microsoft.com/kb/.

Resource Files

PROJNAME.RC, RESOURCE.H

This is the resource file for the project and its header file. The resource file contains the default menu definition and accelerator and string tables for a generic MFC application. It also specifies a default About box and an icon file (RES\PROJNAME.ICO). The resource file includes the file AFXRES.RC for standard Microsoft Foundation class resources. If toolbar support has been specified as an option, it also specifies the toolbar bitmap file (RES\TOOLBAR.BMP).

PROJNAME.RC2

The RC2 file can be included at the top of the RC file in a project.  An RC2 file is useful for including resources used by several different projects.  Instead of having to create the same resources several times for different projects, you can put them in an RC2 file and include the RC2 file into the main RC file.

PROJNAME.DEF

If the project is for a DLL, this is the module-definition file for the project. For a control it provides the name and description of the control, as well as the size of the run-time heap.

RES\PROJNAME.ICO

This is the icon file for the MFC program or control. This icon appears when the application is minimized and is also used in the About box.

RES\TOOLBAR.BMP

This bitmap file is used to represent your program or control in a toolbar or palette. This bitmap is included in the project’s resource file.  The initial toolbar and status bar are constructed in the CMainFrame class.

Help File Option

MAKEHELP.BAT

This batch file (located in the parent directory) is provided only for backward compatibility with older projects. In Visual C++ 6.0, custom build rules are now attached to the .hpj, .cnt and resource.h files, making makehelp.bat obsolete.

This file is used to create the help file PROJNAME.HLP for your program or control.

PROJNAME.HPJ

This file (located in the parent directory) is the Help project file used by the Help compiler to create your program or control’s Help file.

PROJNAME.RTF

This Help file (located in the HLP subdirectory) contains template topics that you can edit and information on customizing your HPJ file.

PROJNAME.CNT

This file provides the structure for the Contents window in Windows Help.

PRINT.RTF

This file, created if printing support is selected (which it is by default), describes the printing commands and dialog boxes.

BULLET.BMP

This bitmap is used by standard Help file topics to represent bulleted lists.

Other File Options

PROJNAME.LIC

This is the user license file. This file must be present in the same directory as the program or DLL to allow an instance of the control to be created in a design-time environment. Typically, you will distribute this file with a control, but your customers will not distribute it.

PROJNAME.REG

This file is created in two cases. (1) You have selected any Automation server option or an Automation option. (2) You have selected a document file extension (one of the options available in the Advanced Options dialog). The file demonstrates the kind of registration settings the framework will set for you.

RES\ITOOLBAR.BMP

This file is created only if you have chosen any Automation server support and have also chosen the Dockable Toolbar option. The file contains tiled images for the toolbar when the server application is in-place activated inside a container application. The file is similar to the standard RES\TOOLBAR.BMP except that many nonserver commands are removed.

 

Thursday, May 27, 2004

Saturday, May 22, 2004

Some Ebooks sites

http://www.eastasp.com/zh-cn/ebooks/index.aspx
http://dragon.rulez.cz/e-buk/
http://sleekfreak.ath.cx:81/books/
http://www.csbox.com/article.php?CID=3
 

Some .Net Books

http://it-heroes.com/Binzy/category/3.aspx




2 asp.net books
by Bz posted at eBooks on 2003-12-6 17:41:38 Weather: 晴
A.First.Look.At.ASP.Dot.NET.v.2.0 < Download >
A.First.Look.At.ADO.Dot.NET.And.System.Xml.v.2.0 < Download >

Read More , Comments (3)

Dot.NET.Patterns.Architecture.Design.And.Process
by Bz posted at eBooks on 2000-12-20 21:49:54 Weather: 雨
Addison.Wesley.Dot.NET.Patterns.Architecture.Design.And.Process [ Download ]
Read More , Comments (4)

MS.Press.COM.Programming.With.Microsoft.Dot.NET
by Bz posted at eBooks on 2000-12-20 21:37:59 Weather: 晴
MS.Press.COM.Programming.With.Microsoft.Dot.NET < chm: Download Here >
Read More , Comments (1)

Oreilly.Windows.Server.2003.In.A.Nutshell
by Bz posted at eBooks on 2000-12-20 21:36:34 Weather: 晴
Oreilly.Windows.Server.2003.In.A.Nutshell < chm: Download Here >
Read More , Comments (0)

Oreilly.Programming.ASP.Dot.NET.2nd.Edition
by Bz posted at eBooks on 2000-12-20 21:32:26 Weather: 晴
Oreilly.Programming.ASP.Dot.NET.2nd.Edition < chm:DownLoad Here >
Read More , Comments (1)

Microsoft.IIS6.Delta.Guide
by Bz posted at eBooks on 2000-12-20 21:05:58 Weather: 晴
Sams.Microsoft.IIS6.Delta.Guide < Download >
Read More , Comments (1)

C.Sharp.In.A.Nutshell.2nd.Edition
by Bz posted at eBooks on 2000-12-20 21:04:58 Weather: 晴
Oreilly.C.Sharp.In.A.Nutshell.2nd.Edition < Download >
Read More , Comments (0)

Building.Secure.Microsoft.ASP.Dot.NET.Applications
by Bz posted at eBooks on 2000-12-20 21:03:40 Weather: 晴
MS.Press.Building.Secure.Microsoft.ASP.Dot.NET.Applications < Download >
Read More , Comments (0)

Friday, May 21, 2004

How Microsoft Develops and Releases Software Patches

How Microsoft Develops and Releases Software Patches

When we launched our first security newsletter in December, I asked you to send me your comments and feedback so that I could be your advocate at Microsoft for security issues—and you delivered! I appreciate the many e-mail messages with comments and questions, and we will begin answering them this month.

One particular question raised by many of you focused around the Microsoft process for patching known vulnerabilities. This is an important topic to many of you, so this month I will describe the lifecycle of a software vulnerability from time of disclosure until a patch and Security Bulletin release.

The Microsoft security response process follows the general steps of reporting, investigation, development, test, and release.

The security response process starts with the reporting of a potential issue. Microsoft uses our membership in the Organization for Internet Safety to strongly promote the principles of responsible reporting. A central principle is the belief that the best way to minimize customer risk is for security researchers to work closely with vendors to identify issues and fix them before they are publicized.

When Microsoft releases a patch concurrently with an announcement of a vulnerability, it is a result of having identified the issue and worked through the patch release process prior to communicating publicly. This means our customers will have an opportunity to protect themselves from malicious hackers seeking to exploit the vulnerability. However, when vulnerabilities are announced publicly at the same time Microsoft is notified, customers remain exposed to malicious attackers.

Once a potential issue is reported to Microsoft, either privately or publicly, our team immediately begins an investigation to reproduce and verify the reported issue and to identify any associated or variant issues. Historically, only about 1 out of 10 reported issues turns out to be a new and unique security issue that warrants opening an investigation, while the other 9 fall into categories of known issues, non-security issues, or errors.

If an issue is replicable, a priority is assigned to it and potential fixes, mitigations, and workarounds are developed. We’ve learned over time that mitigations and workarounds are very important for empowering users to control when and how they manage their risk. Chartered with defining and implementing the process for responding to reported software security issues, the Microsoft Security Response Center works closely with the affected product group to do this investigation, and, further, to expand the investigation to other supported versions of products so that we can gain a complete understanding of how an issue may affect customers.

One of the most challenging elements of this process is testing. It is critical to our customers that whatever changes we make to a product have little to no impact on existing installations and applications. For a product such as Internet Explorer, for example, the breadth can be significant. Microsoft currently supports three major versions of Internet Explorer (5.01, 5.5, 6) across several minor versions (for example, Internet Explorer 6 “gold” and Service Pack 1) across several operating systems (Windows 98, Windows Me, Windows XP, Windows 2000, and Windows Server 2003) for more than 25 languages. In total, to fix one Internet Explorer issue, Microsoft builds and releases more than 400 unique packages, tested on an even larger number of combinations.

Complementary to taking these steps to help customers more ably protect themselves from malicious attackers, the Security Response Center and Security Business Unit offer outreach programs and prescriptive guidance through our Web properties, through support channels, and directly through our interactions with customers.

Most importantly, what this means to us is that, even as we are driving urgently for timely delivery of a patch for serious security issues, we are motivated to focus as much on the “quality” part as the “timely” part so that we can deliver the quality and protection our customers demand. It is essential that each patch installs properly, addresses the security issue, and does not disrupt other existing functionality. It is a job Microsoft takes very seriously.

To learn more about Microsoft Security Response Center policies or to report suspected security vulnerabilities, visit the Microsoft Security Response Policy and Practices website.

Again, thanks for the comments and feedback, and I encourage you to keep it coming. Let me know if this article helped answer some of the questions you had.

Link:http://www.microsoft.com/technet/security/secnews/articles/jj200402.mspx

Similarities and Difference between C# and Other Languages

Similarities and Difference between C# and Other Languages
By John Godel

Introduction

You should know that many C/C++ developers have been asking this question: Is C# a new programming language or a new version of C/C++. My answer to both questions is that none of these definitions is true. Well, in this article I'm going to go under the hood and show you that C# is a cocktail of Java, C, C++ and Delphi/C++ Builder from Borland. Let's first take a look what C# programming language really is.

What is really C# and not?

First of all C# is a programming language. It has a power to develop software. It is a strong language for network and internet programming. C# has redefined the programming landscape. In addition, C# designed with the need of C/C++ and Java programmers. Microsoft created it with Anders Hejlsberg the former Turbo Pascal and Delphi luminary who was the most prominent Borland staff also Jbuilder team worked together with him. This new language has been developed specifically with the NET framework in mind, and as such is designated to be the .NET developer's language of choice. One very important matter about C#, it is the first component oriented programming language. The hot topic at the moment though is not its relation to C/C++ or Visual basic, but how it compares to Java and Delphi. Why Delphi? Because Anders has had a prime role during C# developing. C# inherits some of it's characteristics from C++ and also is an object oriented language. C# has the functionality of Java, Delphi and Visual Basic and it a very strong language. You can not reject Delphi similarity because theoretically Borland was trying to do the same thing with Borland C++ Builder working on Delphi. But C# has the most functionality of Java and C++ and theoretical similarity with Delphi and Visual Basic to use this Java and C++ functionality in a RAD environment. You may remember properties term from both Delphi and Visual Basic. On the other hand, when I read "C# combines the high productivity of Microsoft Visual Basic® with the raw power of C++" I quickly remember Borland's words for introduction to Borland C++ Builder. What does all mean? C# is not a clone of Java. C# has more compatibility, functionality and similarity than Java. Also, C# more similar to C++ as a programming language. C# stay much closer to C++.

Similarity and difference with C/C++

C# is directly related to C and C++. This is not just an idea, this is real. As you recall C is a root for C++ and C++ is a superset of C. C and C++ shares several syntax, library and functionality. In addition structures, unions, arrays, strings and pointers are most important and similar functionality for both languages. C# inherits most of its operators, keywords, and statements directly from C++. Enums are clearly a meaningful concept in C++. Finally I can clearly say that C# is the first component-oriented language in the C/C++ family. C# constructors are very similar with C++ constructors. Like C++, methods are non-virtual by default, but can be marked as virtual. There is also some difference between C# and C++, C# supports multiple inheritance of interfaces, but not of classes. Another difference is destructors, their syntax is same with C++ but actually they are very different.

Most of the C# basic types have the same names as C++ basic types but they are not really same. For example a char in C# is equivalent to a wchar_t in C++. If you decide to move from C++ to C# there are a few things to watch out to include the changes to new, structs, constructors, and destructors. Creating and using a component (DLL) in C# is fairly easier than in C++. One more thing, Borland's C++ Builder was a pure C++ with simple RAD environment of Delphi and VB. C++ Builder was not a new language. This is one of the biggest differences between C++ Builder and C#. The CLR (Common Language Runtime) improves runtime interactivity between program development simplicity, security and portability. However CLR gives usability for cross-language integration. In addition to all those CLL has+ a perfect foundation for a rich set of class libraries.

Conclusion

While there are a number of differences between C++ and C#, the syntax of C# is not very different from C++ and the transition to the new language is more easy with RAD environment of .NET. Also NET's cross language interoperability can give you the ability to use C++ and C# together Finally, if you want to use a strong programming language like C++ with the simplicity of VB and Delphi, than you can use C# powered with CLR.

 
 

Comparison Between C++ and C#

 

Wednesday, May 19, 2004

Mobilizing with .NET

Mobilizing with .NET - An introduction and case study overview
Written by Robert Levy  [author's bio] 
 

Tablet PC Developer Competition - Win $100k

“Think mobile. Win big.
If you are an independent solutions vendor (ISV), you’ve spent most of your professional life waiting for an opportunity like this—and now it’s here. The question is: Are you up for the challenge? Microsoft, HP and PC Magazine invite you to put your genius to the test to create the next killer Application for the most mobile PC ever, the Tablet PC. Create the best mobile Application, and you could win US$100,000! Even if you don’t win the Grand Prize, there are additional cash Prizes totaling US$65,000 still on the table.”

All the info you need to enter is at:
http://www.doesyourappthinkinink.com/

Oh and the coolest part is that you don't need a Tablet PC to start coding!

Tuesday, May 18, 2004

.net Links

these are the various links for Net.
Really useful!!!
Various Domains Interview Questions.
http://www.moskalyuk.com/jobs/index.htm
.Net
http://www.syncfusion.com/FAQ/WinForms/default.asp (Good One to work with)
.Net Tutorials
http://samplesgotdotnet.com/quickstart/winforms/
.Net How To Articles
http://msdn.microsoft.com/howto/visualbasic.asp ( VB )
.Net Links
http://www.dot42.com/  (various Net Links)
Hope this will be helpful for you all.
have a nice day. ok bye.
very useful websites
http://www.sql-server-vb-asp.net/

Manase Relax Please - Tamil Book in Doc Format

Manase Relax Please - Tamil Book in Doc Format

http://vavjeeva.netfirms.com/Manase Relax.zip

Enjoy

Creating a Mobile Portal

http://www.15seconds.com/issue/030422.htm
 

Accessing Oracle 9i Stored Procedures Using ADO.NET

Use the Microsoft .NET Oracle Provider in the Microsoft .NET Framework 1.1 to access Oracle stored procedures and functions.

IT ebooks Forums: eBook links

IT ebooks Forums: eBook links

Saturday, May 15, 2004

Index of /babyface/book

Index of /babyface/book

New FTP Ebook Site

New FTP Ebook Site

Some new link to download from Syngress !!List is below!!

Managine Active Directory for Windows 2000 Server
Direct Download: \http://www.syngress.com/customer/download.cfm?file=76ActiveDirectory.exe

Configuring ISA Server 2000 Building Firewalls for Windows 2000
Direct Download: \http://www.syngress.com/customer/download.cfm?file=isa_server.exe

Troubleshooting Windows 2000 TCP/IP
Direct Download: \http://www.syngress.com/customer/download.cfm?file=91Win2000TCP.exe

Windows 2000 Server System Administration Handbook
Direct Download: \http://www.syngress.com/customer/download.cfm?file=74Win2000SysAdmin.exe

IP Addressing and Subnetting Including IPv6
Direct Download: \http://www.syngress.com/customer/download.cfm?file=69IPAddressing.exe

ASP Configuration Handbook
Direct Download: \http://www.syngress.com/customer/download.cfm?file=asphandbook.exe

ASP.NET Web Developer's Guide
Direct Download: \http://www.syngress.com/customer/download.cfm?file=166_asp.exe

Building Cisco Networks for Windows 2000
Direct Download: \http://www.syngress.com/customer/download.cfm?file=71ConfiguringCisco.exe

Building Cisco Remote Access Networks
Direct Download:
\http://www.syngress.com/customer/download.cfm?file=bcran.exe

C# .NET Web Developer's Guide
Direct Download:
\http://www.syngress.com/customer/download.cfm?file=167_c.exe

Configuring and Troubleshooting Windows XP Professional
Direct Download: \http://www.syngress.com/customer/download.cfm?file=WindowsXP .exe
Complete CD ROM Download: \http://www.syngress.com/customer/download.cfm?file=WXPProCDR OM.exe
Windows XP Cramsession Study Guide: \http://www.syngress.com/solutions/189_xp/WinXPPro.pdf

Configuring Citrix Metaframe for Windows 2000 Terminal Services
\http://www.syngress.com/customer/download.cfm?file=Citrix.ex e

Configuring Exchange 2000 Server
Direct Download: \http://www.syngress.com/customer/download.cfm?file=ExchangeS erver.exe

Deploying Windows 2000 with Support Tools
SN: TYP321KBG7
Direct Download: \http://www.syngress.com/customer/download.cfm?file=Deploying Windows2000.exe

Designing a Wireless Network
SN: S6TF4B39UN
Direct Download: \http://www.syngress.com/customer/download.cfm?file=WirelessNetwork.exe

Designing SQL Server 2000 Databases for Net Enterprise Servers
SN: KJ675HCC25
Direct Download: \http://www.syngress.com/customer/download.cfm?file=114_sql.exe
PDF Password: 21WRk96

E-mail Virus Protection Handbook
SN: DC5EPL4RL6
Direct Download: \http://www.syngress.com/customer/download.cfm?file=EmailViru sProtection.exe

h@ck Proof Your E-Commerce Site
SN: BNA424TURT
Direct Download: \http://www.syngress.com/customer/download.cfm?file=ecommerce.exe

h@ck Proofing Sun Solaris 8
SN: MNFT6Y456F
Direct Download: \http://www.syngress.com/customer/download.cfm?file=HackProof ingSunSolaris.exe

h@ck Proofing Windows 2000 Server
SN: VKF95TMKMD
Direct Download: \http://www.syngress.com/customer/download.cfm?file=Hackproof ingW2kServer.exe

h@ck Proofing Your Network Internet Tradecraft
SN: TYP244KBGK
Direct Download: \http://www.syngress.com/customer/download.cfm?file=Hack_Proofing.exe

h@ck Proofing Your Web Applications
SN: BNJ3RG22TS
Direct Download: \http://www.syngress.com/customer/download.cfm?file=web_applications.exe

Managing Cisco Network Security
SN: 235C87MN25
Direct Download: \http://www.syngress.com/customer/download.cfm?file=112_ipsec.exe

Mission Critical Internet Security
SN: BG57C87BC2
Direct Download: \http://www.syngress.com/customer/download.cfm?file=115_sec.exe

Mission Critical! Windows 2000 Server Administration
SN: DC5C8NVT4N
Direct Download: \http://www.syngress.com/customer/download.cfm?file=MissionCritical2000.exe

VB.NET Developer's Guide
SN: SGD34WR75N
Direct Download:
\http://www.syngress.com/customer/download.cfm?file=vbnetexe

Webmasters Guide to the Wireless Internet
SN: 56LNSXDKMF
Direct Download: \http://www.syngress.com/customer/download.cfm?file=wirelessinternet.exe

Windows 2000 Active Directory Second Edition
SN: MN9XVE5ALM
Direct Download: \http://www.syngress.com/customer/download.cfm?file=ActiveDir ectory2ndEdition.exe

BizTalk Server 2000 Developer's Guide for .NET
SN: ZTN75RSAH3
Direct Download: \http://www.syngress.com/customer/download.cfm?file=biztalk.e xe

Configuring Cisco AVVID
SN: Q25C87BCJH
Direct Download:
\http://www.syngress.com/customer/download.cfm?file=avvid.exe

Cisco AVVID and IP Telephony Design & Implementation
SN: G7YAKETP39
Direct Download:
\http://www.syngress.com/customer/download.cfm?file=109.exe

Administering Cisco QOS for IP Networks
SN: 45BHSKERF3
Direct Download: \http://www.syngress.com/customer/download.cfm?file=CiscoQoS. exe

h@ck Proof your Network Second Edition
SN: SGD34B39KA
Direct Download: \http://www.syngress.com/customer/download.cfm?file=hack2e.ex e
PDF password: copyright@syngress

Check Point Next Generation Security Administration
SN: SGD34BAS6Y
Direct Download: \http://www.syngress.com/customer/download.cfm?file=checkpoin t.exe

h@ck Proofing Linux
SN: MKC8WER535
Direct Download: \http://www.syngress.com/customer/download.cfm?file=Hackproof ingLinux.exe

Palm OS Web Application Developers Guide
SN: SGD34B39UN
Direct Download:
\http://www.syngress.com/customer/download.cfm?file=palm.exe

Configuring Windows 2000 Without Active Directory
SN: JDKJR4PP9D
Direct Download: \http://www.syngress.com/customer/download.cfm?file=Windows20 00WithoutActiveDirectory.exe

h@ck Proofing Your Wireless Network
SN: AGD34B3BH2
Direct Download: \http://www.syngress.com/customer/download.cfm?file=hpwireles s.exe

Building Robots with Lego Mindstorms
SN: 3BVNAM7L4T
Direct Download: \http://www.syngress.com/customer/download.cfm?file=BuildingR obots.exe

Consumer's Guide to Cell Phones & Wireless Service Plans
SN: JRN21AEN54
Direct Download: \http://www.syngress.com/customer/download.cfm?file=165_cell. exe

Bluetooth Application Developer's Guide
SN: SGBBT639UN
Direct Download: \http://www.syngress.com/customer/download.cfm?file=160_bluet ooth.exe

Configuring Cisco Voice Over IP (HTML Only)
SN: Not Known
Direct Download: \http://www.syngress.com/customer/download.cfm?file=70CiscoVO IP.exe

h@ck Proofing ColdFusion
SN: KGD34F39U5
Direct Download: \http://www.syngress.com/customer/download.cfm?file=hackcoldf usion.exe

A DBA's Guide to Databases Under Linux, Including Oracle and SQL (HTML Only)
SN: Not Known
Direct Download: \http://www.syngress.com/customer/download.cfm?file=DBAGuide. exe

.NET XML Developers Guide
SN: 9HD34B3QAN
\http://www.syngress.com/customer/download.cfm?file=xml.exe

.NET Mobile Developers Guide
SN: ZT52S29U8N
Direct Download: \http://www.syngress.com/customer/download.cfm?file=netmobile .exe

Ruby Developer's Guide
SN: SGD34BK9HN
Direct Download:
\http://www.syngress.com/customer/download.cfm?file=ruby.zip

Configuring Windows 2000 Server Security
SN: YH67BA56NB
Direct Download: \http://www.syngress.com/customer/download.cfm?file=68win2000 security.exe

Sniffer Pro Network Optimization & Troubleshooting Handbook
SN: Z3PU7GD34B
Password: copyright@syngress
Direct Download: \http://www.syngress.com/customer/download.cfm?file=219_Sniff erPro.exe

Scene of the Cybercrime: Computer Forensics Handbook
SN: 9MB76N679Y
Password: copyright@syngress
Direct Download: \http://www.syngress.com/customer/download.cfm?file=225_Cyber Crime.exe

Building a Cisco Wireless Lan
SN: 9UND34B3SG
Password: copyright@syngress
Direct Download: \http://www.syngress.com/customer/download.cfm?file=169_cisco wirelesslan.exe

C# for Java Programmers
SN: 8YG6FTX54A
Password: copyright@syngress
Direct Download: \http://www.syngress.com/customer/download.cfm?file=223_Cjava .exe
Source Code Download: \http://www.syngress.com/customer/download.cfm?file=SourceCod e.zip

Cisco Security Specialist's Guide to PIX Firewall
SN: Z6KB6Y2B7Y
Password: copyright@syngress
Direct Download: \http://www.syngress.com/customer/download.cfm?file=235_pixfi rewall.exe

h@ck Proofing Your Identity in the Information Age
SN: VZW233N54N
Password: copyright@syngress
Direct Download: \http://www.syngress.com/customer/download.cfm?file=221_hack_ id.exe

ISA Server and Beyond Real World Security Solutions for Microsoft Enterprise Networks
SN: NR57JKGLD8
Password: copyright@syngress
Direct Download: \http://www.syngress.com/customer/download.cfm?file=226_ISASe rverBeyond.exe

Security+ Study Guide & DVD Training System
ISBN 5-digit: 36728
SN: VT56YHB23S
Password: copyright@syngress
Direct Download: \http://www.syngress.com/customer/download.cfm?file=236_secur ityplus.exe

Configuring IPv6 for Cisco IOS
SN: 87U86T6NVH
Password: copyright@syngress
Direct Download: \http://www.syngress.com/customer/download.cfm?file=208_cisco ios.exe

Building SANs with Brocade Fabric Switches
SN: XD7Y4B39UN
Password: copyright@syngress
Direct Download: \http://www.syngress.com/customer/download.cfm?file=brocade.e xe

Managing Cisco Network Security Second Edition
SN: 2648K9244T
Password: copyright@syngress
Direct Download: \http://www.syngress.com/customer/download.cfm?file=218_cisco security2e.exe

h@ck Proofing XML
SN: 6N7H8Z2B9Y
Password: copyright@syngress
Direct Download: \http://www.syngress.com/customer/download.cfm?file=224HackPr oofXML.exe

Nokia Network Security Solutions Handbook
SN: Z8J9HFU29Y
Password: copyright@syngress
Direct Download: \http://www.syngress.com/customer/download.cfm?file=234_nokia network.exe

SYNGRESS 10 COOL LEGO MINDSTORMS ROBOTICS INVENTION SYSTEM 2 PROJECTS
SN: Z4CX6BV44E
Password: copyright@syngress
Direct Download: \http://www.syngress.com/customer/download.cfm?file=230_legos ys2.exe


Test Yourself MCSE Windows 2000 Professional (Exam 70-210)
SN: QSILINC5EC
Direct Download: \http://www.syngress.com/customer/download.cfm?file=professio nalexamsim2.exe

Free E-Books

Free E-Books

Friday, May 14, 2004

Win a HP 4150 iPaq!

http://www.codeproject.com/script/competitions/WinMobile/


Write a .NET Compact Framework application, win an iPaq!
Starting April 1, CodeProject is pleased to offer Visual Studio .NET developers the chance to win one of five HP 4150 iPaqs in our Mobile Developer competition. The 4150 comes with WiFi, Bluetooth, SD card slot and a 400MHz processor, all in a tiny convenient package. The 4150 is truly a sweet machine.

We want to raise awareness of just how easy it is to write applications for Mobile Devices using Visual Studio .NET. You don't even need a device. Just write your application using Visual Studio .NET and test using the in-built emulator. If you want us to test your application on one of our 4150's then we'll be more than happy to help you out.

Entries close May 30.

Thursday, May 13, 2004

FTP Links

http://www.smart2help.com/e-books/
219.133.66.88/


U.S.: http://www.smart2help.com/e-books
USA: http://www.hamsterific.com/MindView/
United States (python only): http://www.webdocs.org
USA: http://maththinking.com/boat/languageBooksIndex.html
USA - Boise,ID: http://www.bsdg.org/thinkingin
USA: http://www.linuxguruz.org/ebooks/eckel/
USA: http://flynn.2ya.com/prog/java/bruceeckel/bruce.html
USA: http://tutorials.kisland.com/download/bruceeckel/
U.S.(and C++ Q&A Page): http://www.perryland.com/cplus.shtml
U.S. (and Java Q&A Page): http://www.perryland.com/Java9.shtml
USA: http://www.gregorytech.net/eckel
US: http://jamesthornton.com/eckel/
USA: http://eckel.mirrors.netnumina.com/
RCA E-Book format, USA: http://lkchen.tripod.com/REB1200/
USA: http://www.deathstarinc.com/computers/programming/eckel/
USA: http://thorin.dnsalias.org/eckel
USA: http://www.javafaq.nu/java/book/thinking-in-java-source-code.shtml
USA: http://www.al-tec.com/free_books.shtml
USA: http://www.jguru.com/jguru/download/view.jsp?EID=23349
USA: http://www.thorazine.net/~firestar/Coding/fbefreebooks.html
USA: http://www.kalimist.com/eckel/index.html
USA: http://www.perlpeople.com/eckel/
USA: http://www.speckine.com/Eckel_Books/index.html
USA: http://www.coteindustries.com/eckel/
USA: http://web.pdx.edu/~suratman/ejb/java.html
USA: http://nyll.com/ebooks/index.html
USA: http://technology.cs.hcc.cc.il.us/courses/Computer%20Science/Programming /eckel_books/index.html
USA: http://www.revlisoft.com/pub/eckel/
USA: http://www.web42.com/eckel/
USA: http://www.janiry.com/bruce-eckel/
USA: ftp://ashper.com/pub/programming/c/books/eckel
USA: http://www.arirom.com/eng/univerE.html x
USA: http://www.ibiblio.org/pub/docs/books/eckel/
USA: http://www.eng.usf.edu/~katta/JAVA/index.html
USA: http://books.jnshosting.com
USA: http://www.eventhandler.org/books.htm
PDF, Thinking in Java, 1e/2e: http://www.planetpdf.com/mainpage.asp?WebPageID=314
Palm Doc of TIJ, TIC++ v1 & v2: http://home.tiscalinet.de/finsterwalder/PalmDoc_Books.html
Palm PDF of Thinking in C++ 2nd ed Volume 1: http://www.geocities.com/jksherwood
PalmDoc: http://www.memoware.com/cgi-bin/mwsearch.cgi?Any=Thinking+In+Java&ma xAge=99999&Format=Doc&Language=
Austria: http://www.bitart.at/index.php?id=26&tid=10&cf=b
Austria: http://www.msedv.at/books/eckel/
Australia: http://members.optushome.com.au/javaonline/books
Australia: http://www.eckel.djackson.cjb.net/
Australia: http://64.78.49.204/
Australia: http://eckel.netlead.com.au/
Australia: ftp://ftp.netlead.com.au/pub/eckel/
Belgium (TIJ and Patterns Only) : http://www.javacoding.net/resources/bruceeckel/index.html
Belgium: http://users.skynet.be/geckoweb/downloads/index.html
Belgium: http://nighty.ulyssis.org/BruceEckel
Belgium: http://users.pandora.be/jim.maes/BruceEckel
Belgium: http://www.creatlon.net/Eckel
Belgium: http://quodlibet.studentenweb.org/files/
TIJ in HTML Help (.chm) format(Belgium): http://www.bdelmee.easynet.be/java/index.html
Bulgaria: http://infoman.zonebg.com/download.html
Brazil: http://planeta.terra.com.br/informatica/luizferraz/c/mindview/
Brazil: http://www.teleaulas.com.br/mindview
Brazil: http://www.trapnell.hpg.com.br/university/mirror/
Brazil: http://www.mesquitabuiati.hpg.com.br/mirror/
Canada: http://www.hereforlife.com/books/
Canada: http://www.jiza.net/download/bruce_eckel
Canada: http://cyberdigs.net/eckel.html
Canada (Edmonton, Alberta): http://archive.mgm51.com/mirrors/eckel/
China: http://www.wlcjz.com/tszs/java
Croatia: http://bruce.zpm.fer.hr
Croatia: http://quark.fsb.hr/~krpa/eckel/
Czech Republic: http://pech.cz/thinking
Denmark: http://mirror.here.dk/books/bruce_eckel/
United Kingdom: http://www.complex-ite.net/downloads.php
United Kingdom: http://www.codesters.com/download.php?op=viewdownload&cid=2
United Kingdom: http://www.lazarus-design.net/eckel
United Kingdom: http://www.datamission.co.uk/index3_8.html
England: http://www.songofthesalesman.co.uk/thinjava/index.html
England: http://www.agitate.org.uk/eckel/
England: http://www.magobyte.com/download.php
England: http://www.dcs.bbk.ac.uk/~keith/eckel
England: http://www.jim-brown.co.uk
Estonia: http://berlingo.viru.tpu.ee/~vahur/books/
Finland: http://sivut.koti.soon.fi/jukka712/www.mindview.net/books/
Finland: http://www.hut.fi/~tratilai/tij2/index.html
Finland: http://www.cs.hut.fi/Docs/Eckel/
France: http://www.xtremejava.com/books
Finland: http://www.nic.funet.fi/pub/mirrors/www.mindview.net/Books/
Finland: http://www.nikoita.d2g.com/eckel/index.php
France: http://www.rcsnet.net/mirrors/64.78.49.204/
France: http://d6zone.free.fr/documentation/thinking/
France: http://www.litis.fr/pages/formation/heckel
France: ftp://ftp.irisa.fr/pub/mirrors/Java
France: http://nicolas.blancpain.free.fr/Documents/Java/
France: http://www.jmrosengard.com/doc/eckel/
Germany: http://mindview.erde3.net
Germany: http://www.mobo.de/buch/eckel/
Germany: http://java.freeq.de
Germany: http://www.javacommerce.de/eckel/
Germany: http://www.phil.uni-sb.de/mirrors/bruceeckel.com/index.html
Germany: http://www.physicsnet.org/html/modules.php?op=modload&name=Downloads &file=index&req=viewsdownload&sid=13
Germany: http://www.spmv.de/eckel_mirror/
Germany: http://programmier-page.de.cx
Germany: http://sigma-design.net/eckelbooks/
Hong Kong: http://www.cs.ust.hk/~dekai/library/ECKEL_Bruce/
Hungary: http://www.ik.bme.hu/~mirror/Mindview/
Iran: http://www.javatalks.com/others/bruceeckel/
India: http://www.geocities.com/contactasm/aniket/aniket.html
Indonesia: http://www.bonjer.da.ru/ebook
Israel: http://micro6.mscc.huji.ac.il/~pacman/eBooks/
Italy: http://www.bogus.it/mindview
Italy: http://www.stracca.net/programming/eckel/
Italy: http://www.gionny.net/Books/eckel/
Italy - Rome: http://www.dondaweb.com/BruceEckel
Italy: http://www.physics.it/lectures/mirror/
Italy C++ PDF: http://space.tin.it/clubnet/lucadiod/thinking_in_cpp.htm
Italy Java PDF: http://space.tin.it/clubnet/lucadiod/thinking_in_java.htm
Italy: http://www.cz-online.net/mirrormindview/
Italy: http://www.udoj.org/mindview
Italy: http://poseidon.csr.unibo.it/~grassi/Books/index.html
Italy: http://www.realbugbusters.com/manuali/bruceeckel/
India: http://www.javaic.com/eckel.html
korea: http://www.mobilelab.co.kr
Korea: http://doldoki.org/Eckel/
Korea, South (Republic of Korea): http://www.potatosoft.com/mirror/Eckel/
Korea, South: http://a--a.org/eckel
Lithuania: http://www.home.lt/bruceeckel/
Malaysia: http://thinkinginjava.cjb.net/
Netherlands: http://liquid.student.utwente.nl/files/ebooks/eckel/
Netherlands: http://bruceeckel.abrandnewday.org
New Zealand: http://www.lost.co.nz/tutorial/cpp/index.html
New Zealand: http://www.newsoftland.co.nz/bruceeckelmirror/
Norway: http://home.no.net/vesket/TIJ/2/html/Frames.htm
Poland: http://www.helion.com.pl/online/thinking/index.html
Poland: http://hades.ds.pwr.wroc.pl/matrix/TIJ
Poland: http://www.phys.uni.torun.pl/~jacek/docs/thinking/index.html
Poland: http://www.telefon.pl/java/eckel
Poland (TIJ Online): http://www.telefon.pl/java/eckel/book/Frames.html
Poland: http://www.randal.qp.pl/BruceEckel
Poland: http://www.randal.qp.pl/BruceEckel
Poland: ftp://yellow.dyndns.org/pub/ebooks/bruce_eckel
Portugal: http://www.smux.net/eckel/
ROMANIA: http://carti.ss.pub.ro/eckel
ROMANIA: http://carti.ss.pub.ro/eckel
Russia: www.alex-nyquist.fromru.com/BruceEckel/index.html
Russia: http://www.uic.rsu.ru/doc/programming/eckel/
Singapore: http://homex.coolconnect.com/member2/damien666/online_bruce.html
Slovakia: http://belosoft.host.sk/books.htm
Slovakia: http://www.loesje.sk/tij
Spain (programmer site in Spanish): http://www.yoprogramo.com/docs/eckel/index.html
Spain: http://www.disca.upv.es/misan/eckel/default.htm
Spain: http://w3.mecanica.upm.es/~smuelas
Spain: http://www.etsimo.uniovi.es/eckel/
Sweden: http://setlonnert.com/java/bruceeckel/
Switzerland: http://www.ticino.com/usr/theing/downloads
Taiwan: http://cheeven.adsldns.org/ebook
Taiwan: http://www.techkey.com.tw/download.htm
Taiwan (self-extracting): http://cs.achoon.idv.tw/java2-ebook/Java2-ebook-2nd.exe
Taiwan: http://www.javahome.idv.tw/research.htm
Thailand (Khon Kaen University): http://www.kku.ac.th/eckel/
Turkey: http://www.csharpnedir.com/ekitap.asp
Turkey: http://karayel.ieee.metu.edu.tr/~teke/e-kitap/BruceE_Free-Books/
Ukraine: ftp://ftp.cargo.odessa.ua/pub/eckel/
Vietnam: http://64.78.49.204


1 http://ftp.jovenclub.cu/Manuales/

Misc Books, Tutorials and Manuals

2 http://valle.fciencias.unam.mx/libros/

3 ftp://194.85.35.67/BOOKS/

4 ftp://ftp.443.ch
port: 21
user/pass: fullaccess/jko5288frdwq

5 ftp://137.204.212.13/cae_ebook/

6online engineering books
http://www.hackersmiling.com/ebooks/

7a good collection of IT books
http://qf0.ff.up.pt/informatica/bibliografia/

8http://www.soldierx.com/books/books.html

9http://www.linuxi.de/ebooksprogramm.html

10http://froh.dyndns.org/~froh/oreilly/

11.ftp://books:books@213.171.43.138/image%20processing/

12.http://www.myscan.org/~mahajjh/openbook/

13.http://skaiste.elekta.lt/Books/O'Reilly/Bookshelfs/ one of the most complet oreilly bookshelf i've found ...

14.http://skaiste.elekta.lt/Books/

15.http://books.dimka.ee/ 622 books with search engine ... very GOOD

16.http://poiinc.dyns.cx:8080/skully/computerbooks2.htm

17.ftp://ftp.math.nankai.edu.cn/Ebook/ EXCELLENT FTP a bit slow

18.ftp://ebdl:QobRc-8sP@200.80.35.234/ limit to 10 users at same time. GOOD

19.http://lazurus.shacknet.nu:8000/ a very good collection.

Mobile2Market Application Contest

http://www.mobile2market.com/contest/index.asp?s=PRMSA

Enter the Mobile2Market Application Contest
Submit your applications for Windows Mobile-based Pocket PCs and Smartphones today:
4 Grand Prize Winners will receive US $25,000, application distribution and promotions through Mobile2Market, including features on Handango, PocketGear.com and Smartphone.net.
20 Finalists will receive promotions through Mobile2Market.


How to Enter
Submit 'work' or 'play' applications for Windows Mobile-based Pocket PCs and Smartphones to a Mobile2Market logo-testing partner between January 1 and June 30, 2004. The first 150 to submit by May 30, 2004, receive free logo testing!** All applications submitted to test by June 30, 2004, and then subsequently published in the Mobile2Market Mobile Application Catalog are eligible to win.*** Applications will be judged on the following criteria: Optimization for the device category, Usability, Originality and Marketability. For detailed criteria, see the Official Rules.

What is Mobile2Market?
Mobile2Market is the Microsoft certification and marketing program for Windows Mobile applications. Mobile2Market helps independent software vendors increase revenue and reduce time-to-market by streamlining application development and logo-testing and providing exposure to potential distribution channels worldwide.

* Must be a resident of the U.S., Canada or United Kingdom to win. Restrictions apply. See Official Rules for details. Microsoft reserves the right to substitute a prize of equal or greater value if entire prize or a portion of the prize is unavailable. Any distribution of the winning Applications will not occur through Microsoft's OEM distribution channel.

** Limited time offer good only for new Mobile2Market contest applications submitted between March 8, 2004 and May 30, 2004. Free test limited to one per person and per application. This offer is not good towards re-testing an application. See Official Rules for contest details.

*** Publication in the Mobile2Market Mobile Application Catalog is contingent on entering into an applicable agreement with Microsoft.