Thursday, December 10, 2009

Ethernet and DSL

What is Ethernet?

Ethernet (the name commonly used for IEEE 802.3 CSMA/CD) is the dominant cabling and low level data delivery technology used in local area networks (LANs). First developed in the 1970s, it was published as an open standard by DEC, Intel, and Xerox (or DIX), and later described as a formal standard by the IEEE. Following are some Ethernet features:

  • Ethernet transmits data at up to ten million bits per second (10Mbps). Fast Ethernet supports up to 100Mbps and Gigabit Ethernet supports up to 1000Mbps. Many buildings on the Indiana University campus are wired with Fast Ethernet and the campus backbone is Gigabit Ethernet.

  • Ethernet supports networks built with twisted-pair (10BaseT), thin and thick coaxial (10Base2 and 10Base5, respectively), and fiber-optic (10BaseF) cabling. Fast Ethernets can be built with twisted-pair (100BaseT) and fiber-optic (100BaseF) cabling. Currently, 10BaseT Ethernets are the most common.

  • Data is transmitted over the network in discrete packets (frames) which are between 64 and 1518 bytes in length (46 to 1500 bytes of data, plus a mandatory 18 bytes of header and CRC information).

  • Each device on an Ethernet network operates independently and equally, precluding the need for a central controlling device.

  • Ethernet supports a wide array of data types, including TCP/IP, AppleTalk, and IPX.

  • To prevent the loss of data, when two or more devices attempt to send packets at the same time, Ethernet detects collisions. All devices immediately stop transmitting and wait a randomly determined period of time before they attempt to transmit again.

    What is DSL Internet service?

    DSL (digital subscriber line) technologies, often grouped under the term DSL, connect a computer to the Internet. DSL uses existing copper pair phone line wiring in conjunction with special hardware on the switch and user ends of the line. This special hardware allows for a continuous digital connection over the phone lines.

    Since the connection is digital, DSL technology doesn't have a digital-to-analog conversion like traditional modems. It eludes voice audio spectrum frequency boundaries because it can use frequencies above the voice audio spectrum. This means you can use your phone while maintaining your Internet connection.

    These different frequencies allow DSL to encode more data, and allow Internet connection speeds of up to 50 times faster than standard modems, and up to 12 times faster than an ISDN connection. Additionally, since DSL is not a bus technology, it offers more consistent bandwidth than cable modems in which multiple users share very high bandwidth media. However, distance limitations can affect the transmission rates or can be too great, rendering DSL infeasible. Also, the condition of your existing wiring can affect transmission rates.

    The most commonly available DSL technology is ADSL, or asymmetric DSL. It is asymmetric in that it is designed to accommodate typical consumer Internet use, with much more data flowing toward the user (multimedia and text) than from the user (mostly keystrokes and mouse behavior). The downstream rate (receiving rate) varies from 1.5 to 9Mbps; the upstream rate (sending rate) varies from 16 to 640Kbps. These speeds depend greatly on the distance to the telephone company's central office.

Sunday, November 22, 2009

How to Learn to Use Linux

Most computers these days run some version of Microsoft Windows, but many servers and desktop computers are starting to run Linux, a free Unix-like operating system. Learning your way around Linux can be daunting at first, it seems a lot different than Windows, but it can be an easy and rewarding experience.

STEPS:
  1. Become familiar with the system. Try downloading and installing it yourself on your computer, it's possible to keep your current operating system and dedicate part of your hard drive to Linux (but you can run both at the same time with virtualbox). You may find this article useful if you plan to run Windows and Linux on the same PC.
  2. Test your hardware with a "Live CD" that is supplied by many of the distributions of Linux. This is helpful if you feel uncomfortable with installing a second operating system on your computer. A live CD will allow you to boot into a Linux environment from the CD, without the need to install anything on your computer. Ubuntu and some other Linux distributions also offer CDs or DVDs that allow you to boot into a Live mode, and then install from the same disk, here.
  3. Attempt the tasks you usually use your computer for. Search for solutions if you can't word-process or burn a CD for example. Make a note of what you want to do, can do and cannot do before you take the plunge.
  4. Learn the distributions of Linux. When we say "Linux" most often we actually mean a "GNU/Linux Distribution." A distribution is a collection of software that runs on top of a very small program called the Linux kernel.

    • For casually using Linux on a PC you may wish to try Ubuntu Linux or Kubuntu (if you prefer KDE over GNOME). If you don't have the capability to download CDs or don't know how to burn them, get it delivered to you for free. Whatever you do, do not limit yourself, try many different kinds and don't get upset if one isn't working for you.
    • Companies that have commercial distributions frequently initiate the unpaid, highly advanced new versions (SUSE initiated OpenSUSE and Red Hat initiated Fedora). Such distributions usually have no proprietary code inside, are supported both by community and professional teams and offer the newest possible technologies. Companies still try to protect these distributions from uncontrolled copying and modification via trademarked logos.
  5. Consider dual-booting, this will help you understanding partitioning as well as letting you continue to use Windows. But backup all your personal data and settings before you try to set up a dual boot.
  6. Install Software. Get used to installing and uninstalling software as soon as you can. Understanding package management and repositories is good for fundamentally understanding Linux.
  7. Learn to enjoy the command-line interface too, known as 'terminal', 'terminal window', or 'shell'. One of the primary reasons many users switch to Linux is because it features the terminal, so please don't be intimidated by it. It is a powerful ally that doesn't have the same limitations of a Windows command prompt. You can just as easily use Linux without ever using a terminal as you would on Mac OSX. However, if you are interested in learning about the bash shell, do so, as it can be a great convenience. If you choose to use a shell, it is important to note that typing a command followed by --help, such as ls --help will give a brief explanation of the command while man ls or info ls will give a much more in depth explanation. Using 'apropos' can help you find a command that does a certain task. Try 'apropos user' to see a list of commands that have the word 'user' in their description.
  8. Familiarize yourself with the Linux filesystem. You will first notice that there is no longer the "C:\" you are used to in Windows. Everything starts at the root of the filesystem (aka "/") and different hard drives are accessed through the /dev directory. Your home directory, which you typically find in C:\Documents and Settings in Windows XP and 2000, is now located in /home.
  9. Have fun with your Linux install. Try encrypted partitions, new and very fast filesystem (like ReiserFS), redundant parallel disks that increase both speed and reliability (RAID's), try to install Linux on bootable USB stick - you can do a lot of things!
TIPS:
  • There are several websites and mailing lists on the Internet with information about Linux. Try using Google to find answers to your questions.
  • Books from publishers John Wiley & Sons, O'Reilly and No Starch Press are worth owning to learn about Linux. There's also "In the Beginning ... was the Command Line" by Neal Stephenson and "LINUX: Rute User's Tutorial and Exposition".
  • Remember that only DOS uses backslash ("\") to delimit directories, while Linux uses the forward slash ("/"). Backslashes in Linux are primarily used for escaping characters (eg: \n is a newline, \t is a tab character).
  • Refer to directories as "directories" and not "folders", although the 2 words seem synonymous, "folders" are a Windows concept.
  • Build your first Linux system with a specific function in mind, and follow a HOWTO document step by step. For example, the steps in setting up a mail server are pretty simple, and you can find many sites that lead you through the process step by step. This will familiarize you with where things are located, what they do, and how to change them.
  • You can obtain help for almost any particular program or distro in the irc server irc.freenode.net (example: #debian, #ubuntu, #python, #FireFox, etc). You can find user communities also in irc.freenode.net.
  • Be patient, and be prepared, if you really want to learn to use GNU. Avoid moving from distro to distro to find the one that gets everything right. You will learn the most from learning how to fix what doesn't work.

Saturday, October 17, 2009

How to Print Double Sided

Normally printing double-sided requires an attachment to your printer called a "duplexer". It is possible however to print double-sided using a regular printer, just by re-inserting the papers into the regular paper feeder tray. This article shows you how.

Steps

  1. Make a note of how many sides in total you want to print.
  2. Print only the odd pages first (ie. 1,3,5,7...) This involves choosing the appropriate option on the print dialog and will vary according to your operating system.
  3. Collect the printed pages together into a block.
  4. If there is an odd number of sides in total from step 1, remove the last page of your block and set it aside somewhere safe.
  5. Square up all the pages in the block by tapping it on a table top until they are level.
  6. Take the block of printed pages as they came out of the printer (face-down) and spin them around 180 degrees, so that the top is now the bottom.
  7. Empty the paper feeder on the printer and reinsert the block into the printer, this way round, ie. face down and 180 degree rotated.
  8. Print all the even pages in reverse order (last page first). The option to reverse the order of the pages is a check-box on the print dialog. (ie. reverse box checked and even pages only selected)
  9. Add the missing last page, if you removed it earlier.
  10. Congratulations! You should now have your double-sided printout in the correct page order.

Warnings

  • Depending on your printer model, you may need to re-insert the paper a different way round. The above method works on a Samsung laser printer.
  • Use the regular automatic paper feeder tray, not the optional manual feeder tray on the top.

Friday, July 17, 2009

Computer

What is Computer?
Technically, a computer is a programmable machine. This means it can execute a programmed list of instructions and respond to new instructions that it is given. Today, however, the term is most often used to refer to the desktop and laptop computers that most people use. When referring to a desktop model, the term "computer" technically only refers to the computer itself -- not the monitor, keyboard, and mouse. Still, it is acceptable to refer to everything together as the computer. If you want to be really technical, the box that holds the computer is called the "system unit."
Some of the major parts of a personal computer (or PC) include the motherboard, CPU, memory (or RAM), hard drive, and video card. While personal computers are by far the most common type of computers today, there are several other types of computers. For example, a "minicomputer" is a powerful computer that can support many users at once. A "mainframe" is a large, high-powered computer that can perform billions of calculations from multiple sources at one time. Finally, a "supercomputer" is a machine that can process billions of instructions a second and is used to calculate extremely complex calculations.

Wednesday, June 17, 2009

Computer Basics

Difference Between Input and Output Devices of a Computer


Overview:

This study note differentiate between input and output devices of a computer.

Input Devices:

Input is the first stage of computing, referring to any means that moves data (information) from the outside world into the processor or from one component of the computer to another.

  • Keyboard

The primary input device for a computer, allowing users to type information just as they once did on a typewriter.

  • Mouse

Used with graphical interface environments to point to and select objects on the system's monitor. Can be purchased in a variety of sizes, shapes, and configurations.

  • Scanner

Converts printed or photographic information to digital information that can be used by the computer. Works similar to the scanning process of a photocopy machine.

  • Microphone

Works like the microphone on a tape recorder. Allows input of voice or music to be converted to digital information and saved to a file.

  • CD-ROM/DVD drive

Compact disc–read only memory: stores large amounts of data on a CD that can be read by a computer.

Processing Devices:

The central processing unit (CPU) is the heart and brain of the computer. This one component, or "chip," is responsible for all primary number crunching and data management. It is truly the centerpiece of any computer. It is so important that whole generations of computer technology are based and measured on each "new and improved" version of the CPU. When we refer to the CPU, we are usually speaking of the processor. However, the CPU requires several other components that support it with the management of data to operate. These components, when working in harmony, make up the primary elements of the PC we know today.

  • Motherboard

The large circuit board found inside the computer. Without it, a computer is just a metal box. The motherboard contains all the remaining items in this table; for all practical purposes, it is the computer.

  • Chip set

A group of computer chips or integrated circuits (ICs) that, when working together, manage and control the computer system. This set includes the CPU and other chips that control the flow of data throughout the system.

  • Data bus

A group of parallel conductors (circuit traces) found on the motherboard and used by the CPU to send and receive data from all the devices in the computer.

  • Address bus

A group of parallel conductors (circuit traces) found on the motherboard and used by the CPU to "address" memory locations. Determines which information is sent to, or received from, the data bus.

  • Expansion slots

Specialized sockets that allow additional devices called expansion cards or, less commonly, circuit boards, to be attached to the motherboard. Used to expand or customize a computer, they are extensions of the computer's bus system.

  • Clock

Establishes the maximum speed at which the processor can execute commands. Not to be confused with the clock that keeps the date and time.

  • Battery

Protects unique information about the setup of the computer against loss when electrical power fails or is turned off. Also maintains the external date and time (not to be confused with the CPU's clock).

  • Random Access Memory (RAM)

Stores temporary information (in the form of data bits) that the CPU and software need to keep running.

Output Devices:

All the input and processing in the world won't do us any good unless we can get the information back from the computer in a comprehensible and usable form.

  • Printer

Generates a "hard copy" of information. Includes dot matrix, ink jet, and laser varieties.

  • Monitor

The primary output device. Visually displays text and graphics.

  • Plotter

Similar to a printer, but uses pens to draw an image. Most often used with graphics or drawing programs for very large drawings.

  • Speakers

Reproduce sound. Optional high-quality speakers can be added to provide improved output from games and multimedia software.

Input and Output Devices:

Some devices handle both input and output functions. These devices are called input/output (I/O) devices, a term you will encounter quite often.

  • Floppy disk drive

Mechanism for reading and writing to low-capacity, removable, magnetic disks. Used to store and easily transport information.

  • Hard disk drive

High-capacity internal (and sometimes external) magnetic disks for storing data and program files. Also called fixed disks.

  • Modem

Converts computer data to information that can be transmitted over telephone wires and cable lines. Allows communication between computers over long and short distances.

  • Network card

An expansion card that allows several computers to connect to each other and share information and programs. Also called network interface card (NIC).

  • CD recorder

Also called CD-R. You can copy data to a CD with this device, but you can only write to a section of the disc once. Variations on this type of device include compact disc–rewritable (CD-RW) drives. These drives allow you to read, write, and overwrite a special CD-ROM-type disc.

  • Tape drive

Large-capacity, magnetic, data storage devices. Ideal for backup and retrieval of large amounts of data. Works like a tape recorder and saves information in a linear format.

Sunday, June 7, 2009

SOFTWARE

What is Software?

Computer software, or just software is a general term used to describe a collection of computer programs, procedures and documentation that perform some tasks on a computer system.

The term includes:

  • Application software such as word processors which perform productive tasks for users.
  • Firmware which is software programmed resident to electrically programmable memory devices on board mainboards or other types of integrated hardware carriers.
  • Middleware which controls and co-ordinates distributed systems.
  • System software such as operating systems, which interface with hardware to provide the necessary services for application software.
  • Software testing is a domain independent of development and programming. It consists of various methods to test and declare a software product fit before it can be launched for use by either an individual or a group. Many tests on functionality, performance and appearance are conducted by modern testers with various tools such as QTP, Load runner, Black box testing etc to edit a checklist of requirements against the developed code. ISTQB is a certification that is in demand for engineers who want to pursue a career in testing.
  • Testware which is an umbrella term or container term for all utilities and application software that serve in combination for testing a software package but not necessarily may optionally contribute to operational purposes. As such, testware is not a standing configuration but merely a working environment for application software or subsets thereof.

Software includes websites, programs, video games, etc. that are coded by programming languages like C, C++, etc.

"Software" is sometimes used in a broader context to mean anything which is not hardware but which is used with hardware, such as film, tapes and records.

Relationship to computer hardware:

Computer software is so called to distinguish it from computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software. At the lowest level, software consists of a machine language specific to an individual processor. A machine language consists of groups of binary values signifying processor instructions that change the state of the computer from its preceding state. Software is an ordered sequence of instructions for changing the state of the computer hardware in a particular sequence. It is usually written in high-level programming languages that are easier and more efficient for humans to use (closer to natural language) than machine language. High-level languages are compiled or interpreted into machine language object code. Software may also be written in an assembly language, essentially, a mnemonic representation of a machine language using a natural language alphabet. Assembly language must be assembled into object code via an assembler.

The term "software" was first used in this sense by John W. Tukey in 1958. In computer science and software engineering, computer software is all computer programs. The theory that is the basis for most modern software was first proposed by Alan Turing in his 1935 essay Computable numbers with an application to the Entscheidungsproblem.

Types of software:

Practical computer systems divide software systems into three major classes: system software, programming software and application software, although the distinction is arbitrary, and often blurred.

System software

System software helps run the computer hardware and computer system. It includes:

  • device drivers,
  • operating systems,
  • servers,
  • utilities,
  • windowing systems,

The purpose of systems software is to unburden the applications programmer from the details of the particular computer complex being used, including such accessory devices as communications, printers, readers, displays, keyboards, etc. And also to partition the computer's resources such as memory and processor time in a safe and stable manner.

Programming software

Programming software usually provides tools to assist a programmer in writing computer programs, and software using different programming languages in a more convenient way. The tools include:

  • compilers,
  • debuggers,
  • interpreters,
  • linkers,
  • text editors,

An Integrated development environment (IDE) is a single application that attempts to manage all these functions.

Application software

Application software allows end users to accomplish one or more specific (not directly computer development related) tasks. Typical applications include:

  • industrial automation,
  • business software,
  • computer games,
  • telecommunications, (i.e., the internet and everything that flows on it)
  • databases,
  • educational software,
  • medical software,


HARDWARE

What is Hardware?
computer hardware as the electronic, magnetic, and electric devices that carry out the computing functions. Hardware is the physical components of the computer like microprocessor, hard disks, RAM, and motherboard. The peripheral devices such as monitor, mouse, keyboard, printer, and speakers can also be included in the list of hardware parts.