Showing posts with label computer. Show all posts
Showing posts with label computer. Show all posts

Sunday, November 14, 2010

How do I Scan for Viruses in DOS?

How do I Scan for Viruses in DOS?
Download and Extract the SDAT Files
1. Click on the following link or type the URL into an Internet browser address bar: http://www.mcafee.com/apps/downloads/security_updates/superdat.asp?region=us&segment=enterprise
2. Click the I Agree button (if needed) to verify you have a current support agreement with McAfee.
3. English users, please click the link named sdatxxxx.exe (where 'xxxx' replaces the current SDAT version number) and save the file to your C:\ Drive.
4. All others please select the appropriate localized language from the drop-down list, click the link named sdatxxxx.exe (where 'xxxx' replaces the current SDAT version number) and save it to your C:\ Drive.
5. From the Taskbar, select Start and then Run.
6. In the Open field, type command and click OK. A DOS command window will open.
7. Type CD\ and press Enter. You should now be at a C:\ prompt.
8. Type SDATXXXX.EXE /E C:\SDAT and press Enter. (Note: The 'x's should be replaced with the appropriate numbers of the file that was downloaded above.)
This will create an SDAT folder on the C:\ drive and extract the SDAT files to this folder.
Note: Windows XP Users with Service Pack 2 installed will be presented with a security warning when attempting to extract the file. Please click Run to continue the extraction process.
9. Once the C:\ prompt is displayed again, please type exit and press Enter.

Disable Windows System Restore
Windows XP utilize a restore utility that backs up and protects selected files automatically to the C:\_Restore folder. This means that an infected file could be stored there as a backup and VirusScan would be unable to delete these files. The System Restore utility must be disabled to remove any infected files from the C:\_Restore folder.
Windows XP
1. Right-click the My Computer icon on the Desktop and click Properties.
2. Click on the System Restore tab.
3. Put a check mark in the box next to Turn off System Restore.
4. Click the OK button.
5. You may be prompted to restart the computer. Click Yes to restart.
Note: To re-enable the System Restore utility, repeat the steps above and in step 3 remove the check mark from the box next to Turn off System Restore.
Boot the Computer to DOS
Windows 2000/XP
1. If the computer is on: From the Taskbar, click Start, then Shutdown and choose Restart.
2. If the computer is off, turn the computer on.
3. When the opening splash screen appears, begin tapping the F8 key every second.
Note: On some computers, if you press F8 too soon you will get a keyboard error. If this happens, press the F1 key to continue.
4. The Windows 2000 (or XP) Advanced Options Menu will appear. Use the arrow keys to choose Safe Mode with Command Prompt.
5. Login to your computer (if necessary).
6. When the computer is finished booting, the c:\> prompt will appear on the screen.
Note: If there is anything typed after c:\>, type cd\ and press Enter.
7. Continue with the scan instructions below.

Scan the Computer
Windows 2000/XP
1. At the c:\> prompt, type in cd sdat and press Enter.
2. Then type scan /adl /clean /all /secure /program /streams /mime /mailbox /allole /rpterr /rptcor /report report.txt and press Enter.
This will perform a virus scan on your computer, which will clean and delete any viruses you may have on your computer.
Multiple Infections
After the scan has run, a summary report of the scan will be created in the sdat folder on the C:\ drive. If this summary reports that your computer had multiple infections, it is recommended that you run the scan again to make sure the computer has been completely cleaned. To determine if this is needed please complete the following steps:
Review the Scan Report
1. Restart the computer into Normal Mode.
2. Double-click the My Computer icon.
3. Double-click the C:\ drive
4. Double click the sdat folder.
5. Locate the file named report.txt and double-click to open.
6. The report contains several lines that look similar to this:



If the top line named Possibly Infected has a number greater that 5, it is recommended that you run the scan in DOS again.
7. If you need to run the scan again, repeat the instructions for Boot the Computer to DOS and Scan the Computer above.

Thursday, November 4, 2010

Top Ten Reasons You Should Quit Facebook


Facebook privacy policies keep going down the drain. That’s enough reason for many to abandon it. Here you will find nine more:

After some reflection, I’ve decided to delete my account on Facebook. I’d like to encourage you to do the same. This is part altruism and part selfish. The altruism part is that I think Facebook, as a company, is unethical. The selfish part is that I’d like my own social network to migrate away from Facebook so that I’m not missing anything. In any event, here’s my “Top Ten” reasons for why you should join me and many others and delete your account.

10. Facebook’s Terms Of Service are completely one-sided

Let’s start with the basics. Facebook’s Terms Of Service state that not only do they own your data (section 2.1), but if you don’t keep it up to date and accurate (section 4.6), they can terminate your account (section 14). You could argue that the terms are just protecting Facebook’s interests, and are not in practice enforced, but in the context of their other activities, this defense is pretty weak. As you’ll see, there’s no reason to give them the benefit of the doubt. Essentially, they see their customers as unpaid employees for crowd-sourcing ad-targeting data

9. Facebook’s CEO has a documented history of unethical behavior

From the very beginning of Facebook’s existence, there are questions about Zuckerberg’s ethics. According to BusinessInsider.com, he used Facebook user data to guess email passwords and read personal email in order to discredit his rivals. These allegations, albeit unproven and somewhat dated, nonetheless raise troubling questions about the ethics of the CEO of the world’s largest social network. They’re particularly compelling given that Facebook chose to fork over $65M to settle a related lawsuit alleging that Zuckerberg had actually stolen the idea for Facebook.

8. Facebook has flat out declared war on privacy

Founder and CEO of Facebook, in defense of Facebook’s privacy changes last January: “People have really gotten comfortable not only sharing more information and different kinds, but more openly and with more people. That social norm is just something that has evolved over time.” More recently, in introducing the Open Graph API: “… the default is now social.” Essentially, this means Facebook not only wants to know everything about you, and own that data, but to make it available to everybody. Which would not, by itself, necessarily be unethical, except that …

7. Facebook is pulling a classic bait-and-switch

At the same time that they’re telling developers how to access your data with new APIs, they are relatively quiet about explaining the implications of that to members. What this amounts to is a bait-and-switch. Facebook gets you to share information that you might not otherwise share, and then they make it publicly available. Since they are in the business of monetizing information about you for advertising purposes, this amounts to tricking their users into giving advertisers information about themselves. This is why Facebook is so much worse than Twitter in this regard: Twitter has made only the simplest (and thus, more credible) privacy claims and their customers know up front that all their tweets are public. It’s also why the FTC is getting involved, and people are suing them (and winning).

Check out this excellent timeline from the EFF documenting the changes to Facebook’s privacy policy.

6. Facebook is a bully

When Pete Warden demonstrated just how this bait-and-switch works (by crawling all the data that Facebook’s privacy settings changes had inadvertently made public) they sued him. Keep in mind, this happened just before they announced the Open Graph API and stated that the “default is now social.” So why sue an independent software developer and fledgling entrepreneur for making data publicly available when you’re actually already planning to do that yourself? Their real agenda is pretty clear: they don’t want their membership to know how much data is really available. It’s one thing to talk to developers about how great all this sharing is going to be; quite another to actually see what that means in the form of files anyone can download and load into MatLab.

5. Even your private data is shared with applications

At this point, all your data is shared with applications that you install. Which means now you’re not only trusting Facebook, but the application developers, too, many of whom are too small to worry much about keeping your data secure. And some of whom might be even more ethically challenged than Facebook. In practice, what this means is that all your data – all of it – must be effectively considered public, unless you simply never use any Facebook applications at all. Coupled with the OpenGraph API, you are no longer trusting Facebook, but the Facebook ecosystem.

4. Facebook is not technically competent enough to be trusted

Even if we weren’t talking about ethical issues here, I can’t trust Facebook’s technical competence to make sure my data isn’t hijacked. For example, their recent introduction of their “Like” button makes it rather easy for spammers to gain access to my feed and spam my social network. Or how about this gem for harvesting profile data? These are just the latest of a series of Keystone Kops mistakes, such as accidentally making users’ profiles completely public, or the cross-site scripting hole that took them over two weeks to fix. They either don’t care too much about your privacy or don’t really have very good engineers, or perhaps both.

3. Facebook makes it incredibly difficult to truly delete your account

It’s one thing to make data public or even mislead users about doing so; but where I really draw the line is that, once you decide you’ve had enough, it’s pretty tricky to really delete your account. They make no promises about deleting your data and every application you’ve used may keep it as well. On top of that, account deletion is incredibly (and intentionally) confusing. When you go to your account settings, you’re given an option to deactivate your account, which turns out not to be the same thing as deleting it. Deactivating means you can still be tagged in photos and be spammed by Facebook (you actually have to opt out of getting emails as part of the deactivation, an incredibly easy detail to overlook, since you think you’re deleting your account). Finally, the moment you log back in, you’re back like nothing ever happened! In fact, it’s really not much different from not logging in for awhile. To actually delete your account, you have to find a link buried in the on-line help (by “buried” I mean it takes five clicks to get there). Or you can just click here. Basically, Facebook is trying to trick their users into allowing them to keep their data even after they’ve “deleted” their account.

2. Facebook doesn’t (really) support the Open Web

The so-called Open Graph API is named so as to disguise its fundamentally closed nature. It’s bad enough that the idea here is that we all pitch in and make it easier than ever to help Facebook collect more data about you. It’s bad enough that most consumers will have no idea that this data is basically public. It’s bad enough that they claim to own this data and are aiming to be the one source for accessing it. But then they are disingenuous enough to call it “open,” when, in fact, it is completely proprietary to Facebook. You can’t use this feature unless you’re on Facebook. A truly open implementation would work with whichever social network we prefer, and it would look something like OpenLike. Similarly, they implement just enough of OpenID to claim they support it, while aggressively promoting a proprietary alternative, Facebook Connect.

1. The Facebook application itself ****s

Between the farms and the mafia wars and the “top news” (which always guesses wrong – is that configurable somehow?) and the myriad privacy settings and the annoying ads (with all that data about me, the best they can apparently do is promote dating sites, because, uh, I’m single) and the thousands upon thousands of crappy applications, Facebook is almost completely useless to me at this point. Yes, I could probably customize it better, but the navigation is ridiculous, so I don’t bother. (And, yet, somehow, I can’t even change colors or apply themes or do anything to make my page look personalized.) Let’s not even get into how slowly your feed page loads. Basically, at this point, Facebook is more annoying than anything else.

Saturday, October 23, 2010

Short notes about Radio-Spectrum Management

Radio-Spectrum Management

The radio spectrum is a key resource for many new and developing
technology-based industries. At the same time, it is a vital input into the
delivery of many public services. The management and development of the
spectrum will therefore play an important role in creating a knowledge-driven
economy and society. To help ensure that the spectrum management
framework is at the forefront of change, the Chancellor of the Exchequer and
Secretary of State for Trade and Industry commissioned Professor Martin Cave1
in March 2001 to lead an independent review of radio spectrum
management.

The use of radio spectrum has become an integral part of society’s
infrastructure. For decades, viewers have taken for granted the reception of
clear TV signals, travellers have relied upon assured communications and
radio-location for aircraft, and all citizens have benefited from radio
connectivity for the public safety services. More recently, the phenomenal
growth in personal mobile communications has turned wireless access via
mobile phones from a luxury to a necessity for many people.

This value to individuals, businesses and the public sector of access to radio
spectrum is becoming increasingly recognised. Radio makes a substantial and
increasing contribution to the economy. Recent studies by the
Radiocommunications Agency show that even for selected sectors of the
economy3, the value of radio to the economy as a whole exceeds £20 billion
per annum4, over two per cent of UK output. Success in managing access to
radio spectrum should thus boost the performance of the UK economy.

Looking forward, spectrum is an essential raw material for many of the UK’s
most promising industries of the future. Wherever consumers demand mobile
and ubiquitous access to communications, wireless products using radio
signals will provide the solution. Radio is a uniquely versatile communications
medium, essential to connecting up the information society. New products
and services typically complement rather than replace existing ones, so adding
to the demands on the radio spectrum. Furthermore, the boundaries between
new services are blurring, transcending current business models, reducing the
predictability of spectrum use, and challenging current regulatory
categorisations.
8. So spectrum management is becoming simultaneously more difficult and
more important. But the UK is well placed to respond to this regulatory
challenge. The Radiocommunications Agency has a well-deserved reputation
as one of the most forward-looking and progressive spectrum managers in
the world, having enabled the development of flourishing wireless services in
one of the world’s most congested radio environments. In recent years, it has
garnered valuable experience of the new market-based tools introduced under
the Wireless Telegraphy 1998. The Communications Bill and prospective
unified regulator provide a further opportunity to refine the regulatory
‘toolbox’ and make cross-sectoral regulation more effective.
9. The review’s purpose at this juncture is to look forward to the principles which
should guide the Government and Ofcom in managing access to the radio
spectrum in the years ahead, in order to derive most value from this national
asset for the UK as a whole. The review aims to build on the UK’s experience
to date, which reflects a strong central regulatory approach to mandating
spectrum use for particular purposes, and co-ordinating users to minimise
2
3 Principally mobile telephony, broadcasting, satellite, fixed links, private mobile radio, but excluding commercial aviation,
defence and consumer benefits of some low power devices.
4 The Economic Impact of Radio, A Study by the Radiocommunications Agency, February 2001.
harmful interference. But market mechanisms should play a much broader
role in allocating and assigning spectrum to its best use, building on
regulatory foundations which are essential for any market to work efficiently.

Spectrum management objectives
Economic efficiency
• Market allocation of spectrum to users, and to uses, that derive higher value
from the resource.
• Provide for responsiveness and flexibility to changes in markets and technologies,
accommodating new services as these become technically and commercially
feasible.
• Transactions costs, entry barriers and other constraints on a competitive efficient
market should be minimised.
Technical efficiency
• Intensive use of scarce spectrum consistent with adherence to technical
interference limits.
• Promote development and introduction of new spectrum-saving technologies
where the cost of such technologies is justified by the value of the spectrum
saved.
Public policy
• Consistent with Government policy towards broadcasting, competition in the
telecoms market, and consumer choice.
• Safeguard interests of spectrum use for efficient functioning of defence,
emergency and other public services.
• Changes to UK spectrum use should remain consistent with the UK’s
international and European obligations.

Short notes about WIFI

WiFi:
The term "Wi-Fi" suggests "Wireless Fidelity", comparing with the long-established audio recording term "High Fidelity" or "Hi-Fi", and "Wireless Fidelity" has often been used in an informal way, even by the Wi-Fi Alliance itself, but officially the term does not mean anything.
"Wi-Fi" was coined by a brand consulting firm called Interbrand Corporation that had been hired by the Alliance to determine a name that was "a little catchier than 'IEEE 802.11b Direct Sequence' Interbrand invented "Wi-Fi" as simply a play-on-words with "Hi-Fi", as well as creating the yin yang style Wi-Fi logo.
The Wi-Fi Alliance initially complicated matters by stating that it actually stood for "Wireless Fidelity", as with the advertising slogan "The Standard for Wireless Fidelity", but later removed the phrase from their marketing. The Wi-Fi Alliance's early White Papers still held in their knowledge base: "… a promising market for wireless fidelity (Wi-Fi) network equipment." and "A Short History of WLANs." The yin yang logo indicates that a product had been certified for interoperability.
The Alliance has since downplayed the connection to "Hi-Fi". Their official position is that it is merely a brand name that stands for nothing in particular, and they now discourage the use of the term "Wireless Fidelity".
WiFi is the trade name for the popular wireless technology used in home networks, mobile phones, video games and more. In particular, it covers the various IEEE 802.11 technologies (including 802.11n, 802.11b, 802.11g, and 802.11a).
WiFi technologies are supported by nearly every modern personal computer operating system and most advanced game consoles, printers, and other peripherals.
Purpose
The purpose of Wi-Fi is to hide complexity by enabling wireless access to applications and data, media and streams. The main aims of Wi-Fi are the following:
• make access to information easier
• ensure compatibility and co-existence of devices
• eliminate cabling and wiring
• eliminate switches, adapters, plugs, pins and connectors.
Uses
A Wi-Fi enabled device such as a PC, game console, mobile phone, MP3 player or PDA can connect to the Internet when within range of a wireless network connected to the Internet. The coverage of one or more interconnected access points — called a hotspot — can comprise an area as small as a single room with wireless-opaque walls or as large as many square miles covered by overlapping access points. Wi-Fi technology has served to set up mesh networks, for example, in London.[1] Both architectures can operate in community networks.
In addition to restricted use in homes and offices, Wi-Fi can make access publicly available at Wi-Fi hotspots provided either free of charge or to subscribers to various providers. Organizations and businesses such as airports, hotels and restaurants often provide free hotspots to attract or assist clients. Enthusiasts or authorities who wish to provide services or even to promote business in a given area sometimes provide free Wi-Fi access. Metropolitan-wide Wi-Fi (Muni-Fi) already has more than 300 projects in process.[2] There were 879 Wi-Fi based Wireless Internet service providers in the Czech Republic as of May 2008.[3][4]
Wi-Fi also allows connectivity in peer-to-peer (wireless ad-hoc network) mode, which enables devices to connect directly with each other. This connectivity mode can prove useful in consumer electronics and gaming applications.
When wireless networking technology first entered the market many problems ensued for consumers who could not rely on products from different vendors working together. The Wi-Fi Alliance began as a community to solve this issue — aiming to address the needs of the end-user and to allow the technology to mature. The Alliance created the branding Wi-Fi CERTIFIED to reassure consumers that products will interoperate with other products displaying the same branding.
Many consumer devices use Wi-Fi. Amongst others, personal computers can network to each other and connect to the Internet, mobile computers can connect to the Internet from any Wi-Fi hotspot, and digital cameras can transfer images wirelessly.
Routers which incorporate a DSL-modem or a cable-modem and a Wi-Fi access point, often set up in homes and other premises, provide Internet-access and internetworking to all devices connected (wirelessly or by cable) to them. One can also connect Wi-Fi devices in ad-hoc mode for client-to-client connections without a router.
As of 2007 Wi-Fi technology had spread widely within business and industrial sites. In business environments, just like other environments, increasing the number of Wi-Fi access-points provides redundancy, support for fast roaming and increased overall network-capacity by using more channels or by defining smaller cells. Wi-Fi enables wireless voice-applications (VoWLAN or WVOIP). Over the years, Wi-Fi implementations have moved toward "thin" access-points, with more of the network intelligence housed in a centralized network appliance, relegating individual access-points to the role of mere "dumb" radios. Outdoor applications may utilize true mesh topologies. As of 2007 Wi-Fi installations can provide a secure computer networking gateway, firewall, DHCP server, intrusion detection system, and other functions
Standard devices

A wireless access point connects a group of wireless devices to an adjacent wired LAN. An access point is similar to a network hub, relaying data between connected wireless devices in addition to a (usually) single connected wired device, most often an ethernet hub or switch, allowing wireless devices to communicate with other wired devices.
Wireless adapters allow devices to connect to a wireless network. These adapters connect to devices using various external or internal interconnects such as PCI, miniPCI, USB, ExpressCard, Cardbus and PC card. Most newer laptop computers are equipped with internal adapters. Internal cards are generally more difficult to install.
Wireless routers integrate a WAP, ethernet switch, and internal Router firmware application that provides IP Routing, NAT, and DNS forwarding through an integrated WAN interface. A wireless router allows wired and wireless ethernet LAN devices to connect to a (usually) single WAN device such as cable modem or DSL modem. A wireless router allows all three devices (mainly the access point and router) to be configured through one central utility. This utility is most usually an integrated web server which serves web pages to wired and wireless LAN clients and often optionally to WAN clients. This utility may also be an application that is run on a desktop computer such as Apple's AirPort.
Wireless network bridges connect a wired network to a wireless network. This is different from an access point in the sense that an access point connects wireless devices to a wired network at the data-link layer. Two wireless bridges may be used to connect two wired networks over a wireless link, useful in situations where a wired connection may be unavailable, such as between two separate homes.
Wireless range extenders or wireless repeaters can extend the range of an existing wireless network. Range extenders can be strategically placed to elongate a signal area or allow for the signal area to reach around barriers such as those created in L-shaped corridors. Wireless devices connected through repeaters will suffer from an increased latency for each hop. Additionally, a wireless device connected to any of the repeaters in the chain will have a throughput that is limited by the weakest link between the two nodes in the chain from which the connection originates to where the connection ends.

How do you define Layering in computer programming?

Layering

1) In computer programming, layering is the organization of programming into separate functional components that interact in some sequential and hierarchical way, with each layer usually having an interface only to the layer above it and the layer below it.
Communication programs are often layered. The reference model for communication programs, Open System Interconnection (OSI), is a layered set of protocols in which programming at both ends of a communications exchange uses an identical set of layers. In the OSI model, there are seven layers, each reflecting a different function that has to be performed in order for program-to-program communication to take place between computers.
TCP/IP is an example of a two-layer (TCP and IP) set of programs that provide transport and network address functions for Internet communication. A set of TCP/IP and other layered programs is sometimes referred to as a protocol stack.
2) In Photoshop and many other graphic applications, a layer is a component in a complex image that consists of multiple layers. Imagine a set of transparencies stacked on top of each other. Now imagine that each transparency contains part of a single image. One transparency might have the background. One transparency might have text. Another transparency might display the company logo. You can view each transparency by itself, or you can stack the transparencies on top of one another and view the stack as one image by projecting the stack on the overhead projector. It is the same with layers in a graphics application. You can work with or view each layer by itself, or you can combine them (it's called flattening) and view the "stack" of layers as one image. Layers are useful because they allow you to move and manipulate parts of an image to see how your changes affect the whole.

What do you mean by Payment gateway?

Payment gateway
A payment gateway is an e-commerce application service provider service that authorizes payments for e-businesses, online retailers, bricks and clicks, or traditional brick and mortar. It is the equivalent of a physical point of sale terminal located in most retail outlets. Payment gateways encrypt sensitive information, such as credit card numbers, to ensure that information passes securely between the customer and the merchant.
How payment gateways work
A payment gateway facilitates the transfer of information between a payment portal (such as a website or IVR service) and the Front End Processor or acquiring bank.
When a customer orders a product from a payment gateway enabled merchant, the payment gateway performs a variety of tasks to process the transaction:
• A customer places order on website by pressing the 'Submit Order' or equivalent button, or perhaps enters their card details using an automatic phone answering service.
• If the order is via a website, the customer's web browser encrypts the information to be sent between the browser and the merchant's web server. This is done via SSL (Secure Socket Layer) encryption.
• The merchant then forwards the transaction details to their payment gateway. This is another SSL encrypted connection to the payment server hosted by the payment gateway.
• The payment gateway forwards the transaction information to the processor used by the merchant's acquiring bank.
• The processor forwards the transaction information to the card association (i.e., Visa/MasterCard)
• If an American Express or Discover Card was used, then the processor acts as the acquiring bank and directly provides a response of approved or declined to the payment gateway.
• The card association routes the transaction to the correct card issuing bank.
• The credit card issuing bank receives the authorization request and sends a response back to the processor (via the same process as the request for authorization) with a response code. In addition to determining the fate of the payment, (i.e. approved or declined) the response code is used to define the reason why the transaction failed (such as insufficient funds, or bank link not available)
• The processor forwards the response to the payment gateway.
• The payment gateway receives the response, and forwards it on to the website (or whatever interface was used to process the payment) where it is interpreted and a relevant response then relayed back to the cardholder and the merchant.
• The entire process typically takes 2-3 seconds
• The merchant must then ship the product prior to being allowed to request to settle the transaction.
• The merchant submits all their approved authorizations, in a "batch", to their acquiring bank for settlement.
• The acquiring bank deposits the total of the approved funds in to the merchant's nominated account. This could be an account with the acquiring bank if the merchant does their banking with the same bank, or an account with another bank.
• The entire process from authorization to settlement to funding typically takes 3 days.
Many payment gateways also provide tools to automatically screen orders for fraud and calculate tax in real time prior to the authorization request being sent to the processor. Tools to detect fraud include geo-location, velocity pattern analysis, delivery address verification, computer finger printing technology, identity morphing detection, and basic AVS checks.

Angels Investor

Angels:

Venture capital is a fund raising technique for companies who are willing to exchange equity in their company in return for money to grow or expand their business. It can be raised for all types of business, both technology and non-technology businesses. Venture Capital also invests across stages – from the early stage seed venture, to later stage mezzanine financing.

Venture capital firms usually require a high rate of return on their investment (20%+ per annum) and finance provided to the business is typically in the range of $500,000 to many millions of dollars.

An angel investor generally wants less control of your company and a slower return on investment; however the criteria for investment are likely to be similar. Angel investor groups are great sources of private capital and frequently invest angel money into new companies.

It follows that both venture capitalists and angel investors are looking for capital growth and revenue increases and evidence that your business can deliver continued growth over time, to provide a return on investment.

The current venture capital market is rebounding nicely, from the past setbacks of the “dot com bubble”. Venture capital remains a viable source of funding for startups, which are able to deliver the necessary growth that investors are looking for. Past events should certainly not discourage entrepreneurs who have genuine winning ideas and business plans from looking for funds.

Angel investors are individuals who invest in businesses looking for a higher return than they would see from more traditional investments. Many are successful entrepreneurs who want to help other entrepreneurs get their business off the ground. Usually they are the bridge from the self-funded stage of the business to the point that the business needs the level of funding that a venture capitalist would offer. Funding estimates vary, but usually range from $150,000 to $1.5 million.
The term "angel" comes from the practice in the early 1900's of wealthy businessmen investing in Broadway productions. Today "angels" typically offer expertise, experience and contacts in addition to money. Less is known about angel investing than venture capital because of the individuality and privacy of the investments, but the Small Business Administration estimates that there are at least 250,000 angels active in the country, funding about 30,000 small companies a year. The total investment from angels has been estimated at anywhere from $20 billion to $50 billion as compared to the $3 to $5 billion per year that the formal venture capital community invests. In fact, the potential pool of angel investors is substantially larger. There are about two million people in the United States with the discretionary net worth to make angel investments.
The Center for Venture Research at the University of New Hampshire which does research on angel investments has developed the following profile of angel investors:
• The "average" private investor is 47 years old with an annual income of $90,000, a net worth of $750,000, is college educated, has been self employed and invests $37,000 per venture.
• Most angels invest close to home and rarely put in more than a few hundred thousand dollars.
• Informal investment appears to be the largest source of external equity capital for small businesses. Nine out of 10 investments are devoted to small, mostly start-up firms with fewer than 20 employees.
• Nine out of 10 investors provide personal loans or loan guarantees to the firms they invest in. On average, this increases the available capital by 57%.
• Informal investors are older, have higher incomes, and are better educated than the average citizen, yet they are not often millionaires. They are a diverse group, displaying a wide range of personal characteristics and investment behavior.
• Seven out of 10 investments are made within 50 miles of the investor's home or office.
• Investors expect an average 26% annual return at the time they invest, and they believe that about one-third of their investments are likely to result in a substantial capital loss.
• Investors accept an average of 3 deals for every 10 considered. The most common reasons given for rejecting a deal are insufficient growth potential, overpriced equity, lack of sufficient talent of the management, or lack of information about the entrepreneur or key personnel.
• There appears to be no shortage of informal capital funds. Investors included in the study would have invested almost 35% more than they did if acceptable opportunities had been available.
For the business seeking funding, the right angel investor can be the perfect first step in formal funding. It usually takes less time to meet with an angel and to receive funds, due diligence is less involved and angels usually expect a lower rate of return than a venture capitalist. The downside is finding the right balance of expert help without the angel totally taking charge of the business. Structuring the relationship carefully is an important step in the process.
What Does an Angel Investor Expect?
There are almost as many answers to what angels expect as there are angels. Each has their own criteria and foibles (weaknesses) because they are individuals. Almost all want a board position and possibly a consulting role. All want good communication although for some that means quarterly reports, while for others that means weekly updates. Return objectives range from a projected internal rate of return of 30% over five years to sales projections of $20 million in the first five years to the potential return of five times investment in the first five years. Most are looking for anything from a five to 25 percent stake in the business. Some want securities - either common stock or preferred stock with certain rights and liquidation preferences over common stock. Some even ask for convertible debt, or redeemable preferred stock, which provides a clearer exit strategy for the investor, but also places the company at the risk of repaying the investment plus interest. Additionally, the repayment may imperil future financing since those sources will not likely want to use their investment to bail out prior investors.
Some angels ask for the right of first refusal to participate in the next round of financing. While this sounds eminently reasonable, some venture capitalists will want their own players only or certain investment minimums so this strategy may limit who future participants might be.
Future representation of the board of directors also needs to be clarified. When a new round of financing occurs, do they lose their board right? Or should that could be based on a percentage ownership - when their ownership level drops below a certain level, they no longer have board representation.
In order to protect their investment, angels often ask the business to agree to not take certain actions without the angel investors' approval. These include selling all or substantially all of the company's assets, issuing additional stock to existing management, selling stock below prices paid by the investors or creating classes of stock with liquidation preferences or other rights senior to the angel's class of security. Angels also ask for price protection that is anti-dilution provisions that will result in their receiving more stock should the business issue stock at a lower price than that paid by the angels.
To prepare to solicit an angel, several critical factors will aid in making the approach successful. First, assemble an advisory board that includes a securities accountant and an attorney. Two important functions of the board are to recommend angels to contact and to work with the management team to develop a business plan to present to the angel. The business plan itself should define the reason for financing, how the capital will be spent and the timetable for going public or seeking venture capital funding. It should include: an executive summary (description of the business, opportunity and strategy, target market, projections and competitive advantages); the industry, the company and its products and services (including entry and growth strategies); market research and analysis (customers, market size and trends, competition, estimated market share and sales); the economics of the business (including gross and operating margins and break-even analysis); marketing plan (overall strategy, pricing, advertising, promotion, and distribution); design and development plans (product/service improvement and new products/services); manufacturing and operations plans (geographic location, facilities and capacity improvements); management team (organization overview, biographies and compensation plans for key employees); financial plan (tax returns, profit and loss forecasts, pro forma cash flow analysis and balance sheets, 5-year projections); and proposed company offering (desired financing, securities offering, capitalization, timetable).
Most of all, take your time in forming a relationship with an angel. You are going to be spending a number of years together at a critical time in your business' life. Take the time to assure yourself that this is a person who you are comfortable with through both the ups and downs the future will bring

Questions important for exam of Internet and intranet Examination

Ques1 What is internet? Discuss circuit switching & packet switching.
Ques2 Compare and contrast OSI and TCP/IP.
Ques3 Discuss RFCs.

Chapter 2

Ques1 what is the function of application layer? Discuss Socket Programming.
Ques2 what is HTTP? How apache web server is configured in Linux.
Ques3 what is FTP & DNS? How Name-Server is configured in Linux?
Ques4 Discuss SMTP & SNMP

Chapter 3

Ques1 Differentiate Connection oriented and Connection less.
Ques2 What is TCP? How TCP provides the reliable Data Transfer?
Ques3 Discuss Session Teardown, TCP flow control and TCP Congestion Control.
Ques4 Discuss UDP and its application.

Chapter 4
Ques1 What is IP addressing? Discuss all categorization of IP with its implementation and its notation.
Ques2 How can you provide best IP Solution in your own ideas (VLSM=>Variable Length of subnet masking)?
Ques3 What is autonomous system? Discuss its types.
Ques4 What are the types of Routing? Discuss the vector routing in brief
Ques5 What is RIP and how it can be configured in lab?
Ques6 What is Link State Routing?
Ques7 Discuss the advantages of IPV6?

Important ques

Ques1 Design an Intranet of corporate oragnz.
Ques2 Class B-Sunbnet, Valid ip, NA & BA
Ques3 What is vlan and Draw the simple diagram having two manageable switched and its configuration.
Ques4 What is security? Discuss the firewall

Monday, October 11, 2010

ASP.NET Validator Controls


ASP.NET Validator Controls  


This tutorial gives a brief overview of how to use the ASP.NET Input Validation Controls.

Back when we had only ASP, developers who had to write webpages for forms knew that the most tedious part is writing code to validate the user input. User input had to be validated so that malicious use of the pages couldn't be achieve. User input had to be validated so that an incorrect piece of information would not be entered. User input had to be validated so that the information stored was standardized. Yeah, some people had libraries of ASP functions to validate common things such as postal codes (zip codes for you Americans), e-mail addresses, phone numbers, etc. The developers of ASP.NET saw the tedium in always having to check user input. They decided that to simplify our life by including validation controls.
ASP.NET validation controls also provide two ways of validation: Server-side or Client-side. The nice thing about these Validation controls is that it will preform client-side validation when it detects the browser is able (unless client-side validation has been disabled). Thus reducing roundtrips. And it will preform server-side where necessary. This client-side/server-side detection and validation is done without extra work by the developer!

With ASP.NET, there are six(6) controls included. They are:
  • The RequiredFieldValidation Control

  • The CompareValidator Control

  • The RangeValidator Control

  • The RegularExpressionValidator Control

  • The CustomValidator Control


Validator Control Basics
All of the validation controls inherit from the base class BaseValidator so they all have a series of properties and methods that are common to all validation controls. They are:
  • ControlToValidate - This value is which control the validator is applied to.

  • ErrorMessage - This is the error message that will be displayed in the validation summary.

  • IsValid - Boolean value for whether or not the control is valid.

  • Validate - Method to validate the input control and update the IsValid property.

  • Display - This controls how the error message is shown. Here are the possible options:

    • None (The validation message is never displayed.)

    • Static (Space for the validation message is allocated in the page layout.)

    • Dynamic (Space for the validation message is dynamically added to the page if validation fails.)



The RequiredFieldValidation Control
The first control we have is the RequiredFieldValidation Control. As it's obvious, it make sure that a user inputs a value. Here is how it's used:


Required field: <asp:textbox id="textbox1" runat="server"/>
<asp:RequiredFieldValidator id="valRequired" runat="server" ControlToValidate="textbox1"
    ErrorMessage="* You must enter a value into textbox1" Display="dynamic">*
</asp:RequiredFieldValidator>
 
>

In this example, we have a textbox which will not be valid until the user types something in. Inside the validator tag, we have a single *. The text in the innerhtml will be shown in the controltovalidate if the control is not valid. It should be noted that the ErrorMessage attribute is not what is shown. The ErrorMessage tag is shown in the Validation Summary (see below).

The CompareValidator Control
Next we look at the CompareValidator Control. Usage of this CompareValidator is for confirming new passwords, checking if a departure date is before the arrival date, etc. We'll start of with a sample:


Textbox 1: <asp:textbox id="textbox1" runat="server"/><br />
Textbox 2: <asp:textbox id="textbox2" runat="server"/><br />
<asp:CompareValidator id="valCompare" runat="server"
    ControlToValidate="textbox1" ControlToCompare="textbox2"
    Operator="Equals"
    ErrorMessage="* You must enter the same values into textbox 1 and textbox 2"
    Display="dynamic">*
</asp:CompareValidator>
 
>

Here we have a sample where the two textboxes must be equal. The tags that are unique to this control is the ControlToCompare attribute which is the control that will be compared. The two controls are compared with the type of comparison specified in the Operator attribute. The Operator attribute can contain Equal, GreterThan, LessThanOrEqual, etc.
Another usage of the ComapareValidator is to have a control compare to a value. For example:


Field: <asp:textbox id="textbox1" runat="server"/>
<asp:CompareValidator id="valRequired" runat="server" ControlToValidate="textbox1"
    ValueToCompare="50"
    Type="Integer"
    Operator="GreaterThan"
    ErrorMessage="* You must enter the a number greater than 50" Display="dynamic">*
</asp:CompareValidator>
 
>

The data type can be one of: Currency, Double, Date, Integer or String. String being the default data type.

The RangeValidator Control
Range validator control is another validator control which checks to see if a control value is within a valid range. The attributes that are necessary to this control are: MaximumValue, MinimumValue, and Type.
Sample:


Enter a date from 1998:
<asp:textbox id="textbox1" runat="server"/>
<asp:RangeValidator id="valRange" runat="server"
    ControlToValidate="textbox1"
    MaximumValue="12/31/1998"
    MinimumValue="1/1/1998"
    Type="Date"
    ErrorMessage="* The date must be between 1/1/1998 and 12/13/1998" Display="static">*</asp:RangeValidator>
 
>


The RegularExpressionValidator Control
The regular expression validator is one of the more powerful features of ASP.NET. Everyone loves regular expressions. Especially when you write those really big nasty ones... and then a few days later, look at it and say to yourself. What does this do?
Again, the simple usage is:


E-mail: <asp:textbox id="textbox1" runat="server"/>
<asp:RegularExpressionValidator id="valRegEx" runat="server"
    ControlToValidate="textbox1"
    ValidationExpression=".*@.*\..*"
    ErrorMessage="* Your entry is not a valid e-mail address."
    display="dynamic">*
</asp:RegularExpressionValidator>
 
>

Here is a webpage I like to use to check my regular expressions.

The CustomValidator Control
The final control we have included in ASP.NET is one that adds great flexibility to our validation abilities. We have a custom validator where we get to write out own functions and pass the control value to this function.


Field: <asp:textbox id="textbox1" runat="server">
<asp:CustomValidator id="valCustom" runat="server"
    ControlToValidate="textbox1"
    ClientValidationFunction="ClientValidate"
    OnServerValidate="ServerValidate"
    ErrorMessage="*This box is not valid" dispaly="dynamic">*
</asp:CustomValidator>
 
We notice that there are two new attributes ClientValidationFunction and OnServerValidate. These are the tell the validation control which functions to pass the controltovalidate value to. ClientValidationFunction is usually a javascript funtion included in the html to the user. OnServerValidate is the function that is server-side to check for validation if client does not support client-side validation.
Client Validation function:


<script language="Javascript">
<!--
    /* ... Code goes here ... */
-->
</script>
 
Server Validation function:


Sub ServerValidate (objSource As Object, objArgs As ServerValidateEventsArgs)
    ' Code goes here
End Sub

Validation Summary
ASP.NET has provided an additional control that complements the validator controls. This is the validation summary control which is used like:


<asp:ValidationSummary id="valSummary" runat="server"
    HeaderText="Errors:"
    ShowSummary="true" DisplayMode="List" />
 
The validation summary control will collect all the error messages of all the non-valid controls and put them in a tidy list. The list can be either shown on the web page (as shown in the example above) or with a popup box (by specifying ShowMessageBox="True")

Now you know how to use the Validator Controls in ASP.NET! Have fun!
I will also upload a sample of all the validator controls to the code sample section.

Acknoledgment: Professional ASP.NET (published by Wrox) was used a reference. It's a good book!

Tips to remember
  • If you are doing server-side validation, make sure the button onclick method has a Page.IsValid if statement or it will look like your validators aren't doing anything

  • Don't forget to wrap everything in the <form runat=server> tag.


Retrieving Schema Information from the Data Source


Retrieving Schema Information from the Data Source

Schema information can be retrieved from a data source using the FillSchema( ) method, which retrieves the schema information for the SQL statement in the SelectCommand. The method adds a DataTable to the DataSet and adds DataColumn objects to that table. Finally, it configures the AllowDBNull, AutoIncrement, MaxLength, ReadOnly, and Unique properties of the DataColumn, based on the data source. While it configures the AutoIncrement property, it doesn't set the AutoIncrementSeed and AutoIncrementStep properties. The FillSchema( ) method also configures the primary key and unique constraints for the DataTable. It doesn't configure the DefaultValue property.
In addition to an argument specifying the DataSet argument, the FillSchema( ) method takes an argument specifying whether the schema is transformed by the table mappings for the data adapter. Mapping tables and columns is discussed in more detail later in this chapter
If the FillSchema( ) method is used with a table that already has schema defined, the original schema isn't overwritten. Rather, new columns are added if they are part of the schema retrieved but don't exist in the table.
Finally, if a query returning multiple result sets is specified in the SelectCommand, only the schema from the first result set is used. To fill schemas based on queries with multiple result sets, use the Fill( ) method with the MissingSchemaAction set to AddWithKey.
The following example demonstrates the FillSchema method:
// connection and select command strings
String connString = "Data Source=(local);Integrated security=SSPI;" + 
    "Initial Catalog=Northwind;";
String selectSql = "SELECT * FROM Orders";
 
// create the data adapter
SqlDataAdapter da = new SqlDataAdapter(selectSql, connString);
 
// create a new DataSet to receive the table schema
DataSet ds = new DataSet();
// read the schema for the Orders table from the data source and
// create a table in the DataSet called "Orders" with the same schema
da.FillSchema(ds, SchemaType.Source, "Orders");
 
// create a new DataTable to receive the schema
DataTable dt = new DataTable("Orders");
da.FillSchema(dt, SchemaType.Source);
As with the Fill( ) method, the DataAdapter connection must be valid, but doesn't have to be open. If it is closed when FillSchema( ) is called, it is automatically opened
to retrieve the data and then closed. If it is open when FillSchema( ) is called, it is left open after the data is retrieved.

Updating the Data Source//imp

The Update( ) method can submit DataSet changes back to the data source. It uses the statements in the DeleteCommand, InsertCommand, and UpdateCommand objects to attempt to update the data source with records that have been deleted, inserted, or updated in the DataSet. Each row is updated individually and not as part of a batch process. Furthermore, the order in which the rows are processed is determined by the indexes on the DataTable and not by the update type. Figure below illustrates how the DataAdapter is used both to reconcile changed data in the DataSet with the data source using the Update() method and to retrieve data from the data source using the Fill() method.
Figure. Retrieving and updating data using the DataAdapter
The delete, insert, and update statements can be automatically generated using the CommandBuilder object, but this is probably not the best approach for production systems. Alternatively, custom update logic can be used where the DeleteCommand, InsertCommand, and UpdateCommand are each defined. Compared with using the CommandBuilder, custom logic can significantly improve performance and can implement solutions to complex updating and conflict-resolution scenarios.
The following example demonstrates the Update( ) method. For simplicity, a CommandBuilder generates the update logic.
// connection and select command strings
String connString = "Data Source=(local);Integrated security=SSPI;" + 
    "Initial Catalog=Northwind;";
String selectSql="SELECT * FROM Orders";
 
// create a new DataSet to receive the data
DataSet ds = new DataSet();
 
SqlDataAdapter da = new SqlDataAdapter(selectSql, connString);
 
// create the command builder
// this creates SQL statements for the DeleteCommand, InsertCommand,
// and UpdateCommand properties for the data adapter based on the
// select command that the data adapter was initialized with
SqlCommandBuilder cb = new SqlCommandBuilder(da);
 
// read all of the data from the orders table and load it into the 
// Orders table in the DataSet
da.Fill(ds, "Orders");
 
// ... code to modify the data in the DataSet
 
// update the data in the Orders table in the DataSet to the data source
da.Update(ds, "Orders");
As with the Fill( ) and FillSchema( ) methods, opening and closing the connection are performed by the data adapter, if necessary.

Creating DataAdapter Object


Creating DataAdapter Object

The overloaded constructor for the DataAdapter allows four different ways to create the data adapter, of which two are most commonly used. The following example creates a DataAdapter specifying the SELECT statement and connection string in the constructor.
String connString = "Data Source=(local);Integrated security=SSPI;" + 
    "Initial Catalog=Northwind;";
String selectSql = "SELECT * FROM Orders";
 
SqlDataAdapter da = new SqlDataAdapter(selectSql, connString);
While this approach is common, it is awkward when using parameterized queries or stored procedures. The following example creates a DataAdapter specifying a Command object for the SelectCommand property of the DataAdapter in the constructor:
// create the Connection
String connString = "Data Source = (local);Integrated security = SSPI;" + 
    "Initial Catalog = Northwind;";
SqlConnection conn = new SqlConnection(connString);
 
// create a Command object based on a stored procedure
String selectSql = "MyStoredProcedure";
SqlCommand selectCmd = new SqlCommand(selectSql, conn);
selectCmd.CommandType = CommandType.StoredProcedure;
 
SqlDataAdapter da = new SqlDataAdapter(selectCmd);
It should be noted that there is no best way to create a DataAdapter, and it makes no real difference how it is created.

Retrieving Data from the Data Source

The Fill( ) method of the DataAdapter retrieves data from the data source into a DataSet or a DataTable. When the Fill( ) method for the data adapter is called, the select statement defined in the SelectCommand is executed against the data source and retrieved into a DataSet or DataTable. In addition to retrieving data, the Fill( ) method retrieves schema information for columns that don't exist. This schema that it retrieves from the data source is limited to the name and data type of the column. If more schema information is required, the FillSchema( ) method can be used. The following example shows how to use the Fill( ) method to retrieve data from the Orders table in the Northwind database:
// connection string and the select statement
String connString = "Data Source=(local);Integrated security=SSPI;" + 
    "Initial Catalog=Northwind;";
String selectSQL = "SELECT * FROM Orders";
 
SqlDataAdapter da = new SqlDataAdapter(selectSQL, connString);
 
// create a new DataSet to receive the data
DataSet ds = new DataSet();
 
// read all of the data from the orders table and loads it into the
// Orders table in the DataSet
da.Fill(ds, "Orders");
A DataTable can also be filled similarly:
// ... code to create the data adapter, as above
 
// create the DataTable to retrieve the data
DataTable dt = new DataTable("Orders");
 
// use the data adapter to load the data into the table Orders
da.Fill(dt);
Notice that a connection object is never opened and closed for the data adapter. If the connection for the data adapter isn't open, the DataAdapter opens and closes it as required. If the connection is already open, the DataAdapter leaves the connection open.
The same set of records can be retrieved more efficiently using a stored procedure. Stored procedures have a number of benefits over SQL statements:
·         Stored procedures allow business logic for common tasks to be consistently implemented across applications. The stored procedure to perform a task can be designed, coded, and tested. It can then be made available to any client that needs to perform the task. The SQL statements to perform the task need to be changed in only one place if the underlying business logic changes. If the parameters for the stored procedure don't change, applications using the stored procedure will not even need to be recompiled.
·         Stored procedures can improve performance in situations where a group of SQL statements are executed together with conditional logic. A stored procedure allows a single execution plan to be prepared for the SQL statements together with the conditional logic. Rather than having the client submit a series of SQL statements based on client-side conditional logic, both the SQL statements and conditional logic are executed on the server, requiring only one round trip. Additionally, when a stored procedure is executed, only the parameters need to be transmitted to the server rather than the entire SQL statement.
·         Stored procedures are more secure. Users can be granted permission to execute stored procedures that perform required business functions rather than having direct access to the database tables.
·         Stored procedures provide a layer of abstraction for the data, making performing business function more intuitive and, at the same time, hiding database implementation from the users.
There are several options available to load more than one table into the same DataSet using a DataAdapter:
·         The Fill( ) method can be called several times on the same DataAdapter, specifying a different DataTable in the same DataSet. The SelectCommand is modified to select the records for a different table each time Fill( ) is called.
·         Multiple DataAdapter objects, each returning one table, can be created. Fill( ) is called on each DataAdapter, specifying the appropriate DataTable in the same DataSet.
·         Either a batch query or a stored procedure that returns multiple result sets can be used.
In the last option, the DataAdapter automatically creates the required tables and assigns them the default names Table, Table1, Table2, if a table name isn't specified. If a table name is specified, for example MyTable, the DataAdapter names the tables MyTable, MyTable1, MyTable2, and so on. The tables can be renamed after the fill, or table mapping can map the automatically generated names to names of the underlying tables in the DataSet. The following example shows how to use a batch query with a DataAdapter to create two tables in a DataSet:
// connection string and batch query
String connString = "Data Source=(local);Integrated security=SSPI;" + 
    "Initial Catalog=Northwind;";
String selectSql = "SELECT * FROM Customers;" + 
    " SELECT * FROM Orders";
 
// create the data adapter
SqlDataAdapter da = new SqlDataAdapter(selectSql, connString);
 
// create and fill the DataSet
DataSet ds = new DataSet();
da.Fill(ds);
The DataSet is filled with two tables named Table and Table1, respectively, containing data from the Customers and the Orders tables in data source.
Finally, the DataAdapter provides an overloaded Fill( ) method that retrieves a subset of rows from the query and loads them into the DataSet. The starting record and maximum number of records are specified to define the subset. For example, the following code statement retrieves the first 10 records and inserts them into a DataTable named Categories:
da.Fill(ds, 0, 10, "Categories");
It is important to realize that this method actually performs the original query and retrieves the full set of results. It then discards those records that aren't in the specified range. As a result, this approach performs poorly when selecting from large result sets. A better approach is to limit the amount of data that must be transferred over the network and the work that must be performed by the data source by fine-tuning a SQL SELECT statement using a TOP n or WHERE clause.