OUTLINE by Paul Nervy Copyright (c) 2006 by Paul Nervy Visit www.paulnervy.com. wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww COMPUTERS Contents Introduction. Philosophy of computers. Artificial Life. Artificial Intelligence. What have computers accomplished so far. Computer science. Computer languages and programming General principles Specific languages Hardware Personal Computers. Laptops. PDA's. Software Operating systems. Linux. Networking LAN. NIC. Mac address. Ethernet. Hubs. WAN. TCPIP. Routers. Switches Telcommunications. Wireless. Internet HTTP. HTML. XML. CMS. Web servers. Email. Newsgroups. Databases Multimedia Music. Images. Video. Office software Text editors. Word processors. Desktop publishing. Troubleshooting. Support. Administration. Computer security. History of computers and the Internet. wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww PHILOSOPHY OF COMPUTERS wwwwwwwwww What is a computer? Mechanical computers. Babbage. Adding machines. Calculators. Punch card machines. Digital electronic computers. Quantum computers. Biological computers. DNA computers. The human mind Is the human mind a computer? The earth Is the earth a computer? The universe Is the universe a computer? wwwwwwwwww Computability Alan Turing Turing machine. John Searle. Chinese room argument. wwwwwwwwww Artificial Life At what point is it alive? Reproduce-ability. Growth. Feeding. Reproduction. Mutation. Selection. Evolution. Cooperation and competition. wwwwwwwwww Artificial Intelligence At what point is it intelligent? Top down AI Ex. Bottom up AI Ex. Cyc Simon Newell Marvin Minsky Herbert Dreyfus Connectionism Neural nets. Weighting. Expert systems. Chess. Medical diagnosis. Machine sense perception. Sight. Sound. Pattern recognition. Machine thinking. Machine emotion. Robots. Machines that act like humans. Cyborgs. Part human, part machine. Human - machine interfaces. Humans interacting more easily with machines. wwwwwwwwww Other topics Virtual reality wwwwwwwwww Tech theorists Frank Tipler Bill Joy. Warning. Ray Kurzweil. Singularity. Hans Moravec. Ester Dyson Freeman Dyson. Sun, Genome, Internet. wwwwwwwwww What have computers accomplished? More exactly, What have people accomplished using computers? Philosophy Psychology Computer therapy? Sociology Internet changing nature of society. Computer translation, view web pages in other languages. Politics and Law Computerized online voting. Law research computerized. Science Astronomy Computerized arrays of telescopes. "Go To" amateur telescopes. Physics Chemistry Biology Human Genome Project computerized. Ecology Technology Power Computer guided wind and solar power. Tools Computer aided manufacturing (CAM). Transportation. Airline reservation system. Automatic pilot. Computerized automobile systems. Car GPS systems. Communication. Quicker, cheaper communication. Information technology. Gather, store and process huge amounts of data. Food, clothing and shelter. Computer aided design (CAD) of buildings. Health MRI scan. CAT scan. Economics and Business Online business. Online shopping. People trading their own stocks without using a broker. History and Future Studies Geneological data. Math Mathematica Arts Literature Computers writing poetry. Digital books online. Music igarage. Make your own music. Visual arts Movies Movie phone. Film special effects. Computer animated films. Other Computer beat the world chess champion. The Internet. wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww COMPUTER SCIENCE wwwwwwwwww Vacum tubes. Transistors. Semi-conductors. Silicon. Computer chips. Logic gates. Bit. Byte. wwwwwwwwww Parallel computers RISC CISC wwwwwwwwww Algorithms Searching Sorting Recursion Lists Trees File structures wwwwwwwwww Digital. On or off. (aka discrete). As oppossed to what? Binary. Two values. wwwwwwwwww Stochastic. Deterministic. wwwwwwwwww Algorithms. Iterations. Recursion. Nesting. Turing machines. Computable functions. wwwwwwwwww Types of computing 1) Standalone computing. A single machine. No network. 2) Workgroup comuting. Small group of PC's connected in network. 3) Client server computing. Local area network. Within a few hundred feet. Server computers. A few of them. Hold data and applications. Client computers. Many of them. Users on them. Server types File servers Print servers Email servers Application servers Database servers Web server TCP/IP, DNS, DHCP, WINS servers 4) Internet computing. Wide area network. Around the globe. wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww PROGRAMMING LANGUAGES wwwwwwwwww Computer programming language. What is a computer programming language? A computer programming language is a language used to program computers (?). wwwwwwwwww Types of computer programming languages wwwwwwwwww Specific programming languages Why they were developed. What they are good at doing. What they are not so good at doing. Low level languages: Machine code. Assembly. High level languages: C. C++. Java. Visual Basic. Scripting languages: Perl. Php. Python. Compiled languages: Compiler turns source code into binary code that runs on machine code. Ex. C, C++, Fortran Interpreted languages: interpreter translates source code on the fly. Slower but easier. Exs. Awk, shell, Basics, Lisp, Perl Pseudo-code. Fast and flexible. Ex.s Java and Python Assembly. Machine code Languages by subject matter Business languages. Work well with numbers. Cobol. Fortran. Artificial intelligence languages. Lisp. Languages by hardware platform. Mainframe languages. PC languages. Scripting languages Perl Python PHP Other languages. Pascal. TCL TK Basic Visual Basic Markup languages. HTML. XML. DocBook. Shell scripting. Batch scripts. Cobol Good for business accounting applications. Fortran Lisp Used in artificial intelligence programming. Basic. Used on PC's running microsoft. Visual Basic. A GUI version of Basic. C C++. Developed by Bjarne Stroustroup Java Developed by James Gosling. Platform independent. wwwwwwwwww Computer programming language concepts: Designing the program Flow charts. Entity Relationship Diagrams. Universal Modeling Language. Writing the program Edit mode. Running the program Run mode. Debugging the program Version control. Documentation. Comments in the code Data types Numerical data Text data. Strings. Image data. Pixels. Tabular data. Arrays. Matrices. Databases. Widgets. Windows Scroll bars and sliders. Labels Events: Mouse clicks. Mouse movements. Keyboard events. Buttons. Triggered by events like mouse clicks. Check boxes. Radio buttons. On or off. Drop down menu. Choose from several choices. Form field boxes. Input data. Creating the graphical user interface (GUI). Separating the GUI from the code. Preventing the user from changing the code. Exceptions Errors Garbage collection Input and Output. Keyboards. Monitors. Printers. Network. Sockets. Internet applications. Database application. Logic: Constants and variables Operators and functions: AND, OR, AND/OR, NOT, IF THEN, FOR NEXT Expressions: an operation on a value Data structures. Lists. Arrays. Modules. Have an input and an output. Objects and their properties Debugging tools. Runtime debugging. Images. Lines. Shapes. Colors. Operator. Operation. Variable. Declaring a variable. Assigning a variable. Constants. Literals Reserved words. Argument. Parameter. Memory management Control flow Arrays Loops Conditonals Syntax and semantics Data types Data structures Operations Modularity Structured programming Object oriented programming (oop) Garbage collection Input and output (I/O) A computer program is composed of code and data Three OOP principles Encapuslation. Data and code combined. Inheritance. Class hierarchies. Polymorphism. One interface, multiple methods. Threads Multithreading. Parallel processing. Streams Input streams Output streams Library Packages - a library of classes Classes - Objects - Instances - a specific object Methods. Events Expressions Data types Constants Variables Literals Arrays - one dimensional, two dimensional, etc. Strings Strings of arrays Arrays of strings Collections Lists Trees Operators Unary operators Arithmetic operators Bitwise operators Relational operators Boolean or Logical operators "Syntax" of a programming language "Vocabulary" of a programming language Statements Flow control statements Loops Selection statements Iteration statements Jump statements Methods or functions garbage collection is used to recover memory. Applications Applets Servlets Exceptions Input and Output (I/O) Integrated programming development environment. A gui to make programming easier. Includes a "Run" mode. Includes a debugger. Building GUI's for software programs. Keeping the end user away from the code. Menus Tool bars and the buttons on them edit boxes dialog boxes Librarys containing Classes Graphics Animation Sound Operators: numeric and string Expressions Arrays References: scalar, array, hash, code Subroutines, modules sort, search, recursion algorithm Declare a variable Loops If then. For next. Do while. wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww HARDWARE wwwwwwwwww Hardware types Mainframes Hardware: IBM, DEC. Operating Systems: MVS. TCO. SNA. JCL. Minis Hardware: IBM AS/400. Operating system: Unix Workstations Hardware: Sun. Alpha. Dec. Operating System: Unix PC's Servers Desktops Laptops PDA's Wearables wwwwwwwwwwwwwwwwwwww Hardware Parts of a Personal Computer wwwwwwwwww Inside the PC Motherboard - holds the chips and cards Integrated motherboards - video and sound built in Chips processor chips memory chips Cards video card sound card network interface card modem card Drives hard drive floppy drive cdrom / dvd drive tape drive Ports Serial port Parallel port USB port Firewire port Infra-red port Cooling fan Power supply wwwwwwwwww Outside the PC Keyboard Mouse Display Speakers UPS Perpipherals Scanners. Printers: Ink jet. Laser. Camera Microphone. wwwwwwwwwwwwwwwwwwww Other hardware information Chips PC. Intel chip. Apple. PowerPC chip. Alpha chip. Intel: 286 386 486 Pentium Pentium Pro. Pentium II Pentium III Pentium IV 16 bit = Windows 32 bit = Windows 95 and Windows NT 64 bit. Intel Cyrix AMD wwwwwwwwww Boards ISA: 16 bit industry standard architecture EISA: extended ISA PCI: 32 bit VESA: local bus MCA: micro channel architecture wwwwwwwwww Memory RAM, SDRAM (better), EDO, DIM, SIMM wwwwwwwwww Hard drive disk Controllers ESDI IDE (ATA) SCSI wwwwwwwwww BIOS wwwwwwwwww Power On Cycles Operating System Startup Network Connectivity Hard drives, Monitors, Cd-roms, Floppy drives, Keyboards, Mice, wwwwwwwwww Printers Protocols TCP/IP DLC for HP boxes Font languages PCL (Printer Control language) for IBM PS (Postscript) for Apples Toner Maintenence Kits wwwwwwwwww Server peripherals: DAT or DLT tape backup. UPS. Clustering for load sharing and fault tolerance. Hot plugable hard drive arrays (RAID). SCSI array controller. Multiple Processors SCSI adapters. wwwwwwwwww Thin clients NC (network computer): closed box, diskless, Java Net PC: closed box, small disk, Windows or NT wwwwwwwwww BIOS Memory: base, upper, extended, expanded. SIMMS, DIM. wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww SOFTWARE wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww OPERATING SYSTEMS wwwwwwwwww General Tasks of an Operating System Install the operating system Configure the operating system: Video drivers. Mouse and keyboard. Modem. Startup and Shutdown Logon and Logoff Change your password Help and Documentation Command line vs. Graphical User Interface Disk Management Partition a disk Format a disk Directory and File structure, navigation and manipulation Change directory: Move to higher level directory and lower level directory Directories Create a directory Move a directory Copy a directory Rename a directory Delete a directory Files Create a file Properties of a file Move a file Copy a file Rename a file Delete a file Recover a deleted file Compare two files Compress and archive a file Backup and restore Defragment Format a floppy Search for and Find a file Using wildcards Using regular expressions Manage com ports Manage device drivers Executables Create an executable file Edit executable files Run an executable file Debug an executable file line by line Processes Start a process List running processes Kill a process Scripts Batches Printing Start a job. Pause a job. Kill a job. View a job. Users and groups Create a user or group and give them powers Security, Permissions, Policies, Profiles. Assign permissions to resources like files and printers Machine information Scheduling System Diagnostics Security: Passwords. Permissions. Auditing. Monitoring. Networking Mail Hard Disk Administration. Partitions Primary Extended Logical Formatting LINUX FAT FAT 32 (long file names) NTFS File permissions Directory shares wwwwwwwwwwwwwwwwwwww Actual Operating Systems wwwwwwwwww Unix History of: Unix Ritchie Thompson C programming language. Flavors of Unix: Xenix, AIX, HP-UX, SCO, Solaris, Unixware(NW) wwwwwwwwww Apple History of Apple: Apple was founded by Steve Jobs and Steve Wozniack. OSX 10 wwwwwwwwww Microsoft Microsoft DOS Windows 3.1 Windows 95 Windows 98 Microsoft NT Windows 2000 Windows XP - unifies code from Windows and NT lines. wwwwwwwwww Other Operating Systems OS/2 - created by IBM to run personal computers MVS and VM/CMS - mainframe operating systems Free BSD - a free version of unix. Next - Steve Job's company before returning to Apple wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww LINUX wwwwwwwwww What is Linux? Linux is an free version of Unix. Its free, which makes it popular in the third world. It was the result of distributed development, with many people working on it for free. wwwwwwwwww Why use Linux? Its fun. Its easier than ever. Its a learning experience. Its free. Its cooperative. Its an alternative to capitalism and competition. Its not Microsoft. wwwwwwwwww History of Linux and GNU Richard Stallman. GNU. Free Software. GPL. Linus Torvalds Open Software. Bruce Perens. John "Mad Dog" Hall. Eric "Cathedral and Bazzar". wwwwwwwwww The state of Linux today. The use of Linux is growing in all areas of computing. Linux is spreading in business settings. Linux is spreading on personal computers. Very large: Linux in clusters. Very small: Linux on PDA's wwwwwwwwww What can one do with Linux? Office. Open office. Games. Chess. MUDD. Images. Scanner. SANE. Camera. Gphoto. GIMP. CD and DVD burning and playing. Music. Sound recording and editing. Movies. Movie recording and editing. Programming. Emacs. GDB. Content Management Systesm. Utilities. Mulltimedia sound mp3 player video dvd player DOS DOSEmu Wabi Wine Fax. Music. Mp3s. Rip and burn cdroms wwwwwwwwww Networking with LInux Samba NFS VNC File Servers Mounting remote file systems Sharing or exporting directories Database Database Server MySQL Postgres Database front ends Router Web Web Servers Appache Web browsers Mozilla Konqueror Web editors Mozilla editor Open Office Mail Mail Server Sendmail. Configure with M4. Mail clients wwwwwwwwww Office Suites Open Office Word Processors Abiword Spreadsheets Gnumeric wwwwwwwwww Migrating to Linux Running it on a sparce PC. Running linux in a dual-boot situation. Running linux from a cdrom. Knoppix. Backup your data. Pick a distrobution. For example, Suse Mandrake, Redhat Debian Knoppix, Xandros, Lindows. Installation Exploration Components of Linux Xwindows File system Shell Editors Command line utilities Installation Directory structure Configuration files Printing Run-level batch scripts Scheduling jobs Backup and restore Archiving and Zipping Security Users, groups and permssions Files and other resource permissions Networking with Linux Router Firewall Proxy DNS DHCP NFS Samba SSH VNC Applications Server Applications Database Web server Email server Office Applications Word processor Spreadsheet Multimedia Applications Music. MP3. Pictures. Drawing. Photos. Video. DVD Players. Peripherals Printing Scanning Cameras wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww NETWORKING wwwwwwwwww Concepts in computer networking wwwwwwwwww Network Operating Systems What does a NOS do that an OS does not? Connect machines. Access the Internet Examples of early Network Operating Systems Unix Novell Netware wwwwwwwwww Network Interface Card (NIC). Each computer on the network has a network interface card. MAC address. Each network interface card has a hard-coded address. IP address. Each computer on the network has an ip address temporarily assigned to it. Ethernet. Ethernet is a networking protocal for local area networking. TCP/IP. TCP/IP is a networking protocol for wide area networking. Network segments Computer networks are divided into sub-networks called segments. Subnet masks DNS names. Remote Access via modem, cable, DSL, etc. Wireless networking OSI Model A seven layer model that describes computer networking. PCMCIA DNS Domain Name System. DHCP LDAP Lightweight Directory Access Protocol. Ipv4 - the current version of IP protocol. Ipv6 - will allow for more ip addresses, because they are starting to run out. wwwwwwwwww Types of lines POTS. Plain old telephone service. 64 MBps ISDN. 128 MBps T3. T1. (24 T3's) Cable DSL ATM lines Cellphone wireless. Satellite dish wireless. Types of lines Leased vs. dedicated. Data lines vs. voice lines Digital lines vs. analog lines wwwwwwwwww WAN hardware switches routers bridges hubs wwwwwwwwww Modems 56.6 Cable modem. Wireless modem. wwwwwwwwww Cabling and Wiring Types of cabling Coaxial Twisted Pairs Category 3. Category 5 Fiber Optics Wireless Structured cabling vs. tangled mess Cable testing equipment: Cable topologies: Line. Circle. Star. Web. wwwwwwwwww Architecture Ethernet. 10 Mbps. 100 Mbps. 1GB. Token Ring. 4 Mbps. 16 Mbps. FDDI ISDN ATM: Asynchronous Transfer Mode Other: ARCnet. X25. Frame Relay. wwwwwwwwww Network Protocols Net Beui. Net Bios. TCP/IP IPX/SPX (Novell Netware) wwwwwwwwww Peer to peer Client / Server Master / Slave wwwwwwwwww Security Anti-virus software Firewalls Hardware firewalls. Software firewalls. Encryption software Proxy Servers Anti-spam software. Anti-spyware software. wwwwwwwwww TCP/IP UTILITIES ping: tells if can connect to an computer name or number ipconfig: tell the ip name and number of own computer nbstat netstat route: gives router route taken by packet telnet ftp tracert arp: address resolution protocol wwwwwwwwww NETWORKING PROTOCOLS IP TCP SNMP: Small Network Management Protocol SMTP: Simple Mail Transfer Protocol DNS: Domain Naming Service NFS: Network File System NIS: Network Information Services. ARP: Address Resolution Protocol. IP address to machine address RARP: Reverse ARP. Machine addressto IP address. UDP: User datagram protocol wwwwwwwwww TCP/IP APPLICATIONS FTP: File Transfer Protocol. Telnet Usenet Gopher, Archie Finger wwwwwwwwww Linux networking ftp - file transfer telnet - remote ssh - secure shell vnc - virtual network computer NAT - network address translation IP masquerade ipchains - firewall smoothwall - firewall software samba - connect linux and windows machines nfs - network file system snort - network monitor tripwire - intrusion detection. wwwwwwwwww VPN, Virtual Private Network: Encrypt packets, and use a public network. wwwwwwwwww Routing protocols RIP OSPF SLIP PPP wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww INTERNET History of the Internet. Tim Berners Lee develops URL, HTTP and HTML A browser supporting images. Developed into Netscape. 1995-2000 was an Internet boom. URL HTTP HTML Web Pages Static web pages Active web pages CGI Chat - IRC, AIM, Static webpages Dynamic webpages P2P Napster: central server Gnutella: no central server KaZaa, Morpheus, OpenP2P Freenet wwwwwwwwwwwwwwwwwwww Web Servers Principles of Web Servers (HTTP) Post the web pages for others to see. Internet: What we all use. WWW. World Wide Web. GUI interface. Intranet: give what information to what employees Extranet: give what information to customers. Let them see products, pictures and data. Provide data about company. Let them buy products Retail net: for retail customers B to B net: give what information to suppliers and distributors. Web site parts: Welcome page or Home page. Site map page. Site search engine. Send us email page. Browsers: MS Explorer, Netscape Navigator Security: Firewall, permissions wwwwwwwwww Actual Web Servers Apache (runs on Linux) MS IIS. MS Site Server. MS Index Server. Netscape Firewalls Defender Proxy Servers MS Proxy Server Transaction Servers Database to Web connectivity wwwwwwwwww Web Browsers Firefox Mozilla Konqueror Opera Netscape MS IE wwwwwwwwww Perl - CGI LAMP - Linux, Apache, MySQL, PHP wwwwwwwwww Web Authoring Principles of Web Authoring (HTML) Text Graphics Animation Sound Interactive Forms Actual Web Authoring Software Open Office lets you compose HTML documents. wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww HTML CONCEPTS Get a web site provider Create a web site Create web pages Create a home page Create other pages Link web pages Create a site map Upload to the web host Basic html Format text Font type. Font size Create links Make tables Frames Forms To get information from users for database To give information to users from database Images Animation Multimedia. Audio and video Flash. Shockwave. Cascading Style Sheets (CSS) CGI Java Javascript Active X Text box Radio button Drop down list wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww Content Management Systems Who needs to manage content? Newspapers Digitize all the tasks that go on at a newspaper. Add all the functions that are on any major website. Businesses Libraries Individuals Individual also need content management systems For example, organizing school notes, work notes Managing paper content vs. digital content. Knowledge in heads vs. in paper or digital form. History of systems for managing content Examples of Popular Content Management Systems PHP Nuke Scoop Slash CMS File types and formats Text Raw text - .txt .rtf Mark-up text formats - html, xhtml, xml Image formats. .bmp .jpg Sound formats .wav .mp3 Multimedia formats Databases Seperating content from form Content Information Form or Appearance Page Templates Elements of a CMS Authors Each author has multiple versions of the article they write. Each author has to organize their sources cited Each author has to organize their other source materials. Multiple authors can work on an aritcle Individual workspaces Collaboration workspaces Editors Edit authors work Edit spelling, grammar, etc. Managerial decisions Develop article ideas and assign them to authors Decide which articles to publish Texts, documents, images, sounds, etc. Content produced Readers Multiple language versions for readers of different languages Audience feedback Publishing process Pre-publication Saving pre-publication versions of content Publication Saving an archive of published content Related fields Library and Information Science Classification systems - Dewey, Library of Congress Library catalogs - card catalogs, electronic catalogs Abstracts Style manuals for articles - MLA format, APA format, Chicago manual, etc. Indexes Bibliographies Publishing - books, magazines, newspapers. Communications - broadcasting Information Technology Web Design Database Management Software Development File system structures - tree structures, David Gelerntner's view. Knowledge Management Job descriptions and job requirements wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww Semantic Web Semantic Web lets machines understand words, concepts, meanings. Semantic Web lets people understand the Internet better too. Semantic Web makes information on the Internet more structured, more organized more logical more meaningful easier to understand thus more useful, more productive Learn more about the Semantic Web at www.w3.org/sw Is the Semantic Web just a matter of converting everything to XML? wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww XHTML XHTML is like HTML except a little more rigorous and formalized. Programs that convert HTML to XHTML Tidy wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww XML What is XML? SGML - Standard Generalized Markup Language. XML, XHTML, and HTML are types of markup languages. XML is a markup language. A markup language tags the text. Another example of a markup language is HTML. In XML everything gets a tag. A tag takes the form <tag> to open, and </tag> to close. Why XML? XML will help create the Semantic Web (see Semantic Web) XML will help machines (computers) do more work so humans don't have to. XML will help businesses offer more services to consumers. (whoop dee doo!) How does XML work? Parts of XML. Terms used in XML. XML uses two files: XML document - the marked up or tagged text Document Type Definition (DTD) - defines the rules of the document Validator - checks to make sure your XML coding uses correct syntax Parser - decodes and displays the XML. Often built into newer web browsers. Schemas DOM Web Services Syntax vs. semantics Word vs concept Thesaurus vs. ontology. Metadata Words, Meaning, and Machines. In everyday language words can have more than one meaning. Its useful. The search for a language where every word has only one meaning has not proved successful or useful. However, we can create specific subject domains. Every domain can have a specific vocabulary where each word has one meaning. Then words can be used more exactly, even by machines. Valid and Well formed Valid - conforms to DTD Well formed - all the tags created properly All valid documents are well formed. Not all well formed documents are valid XML and databases XML is like a database in text format, with every field marked with a tag. By using XML, data can be transfered across the Internet between databases more easily. When you give each field a tag, you are creating "metadata" or data about the data. Example: <person> John Doe <address> Any Street, Any Town <telephone> 555-5555 Examples of XML in use today DocBook - a standard for documentation WML - Wireless Markup Language SOAP - Simple Object Access Protocol Math - used to display math symbols Chemistry - used to chemistry symbols Music - used to display music symbols wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww E-MAIL wwwwwwwwww LAN email WAN email. Internet email. Ex. Yahoo email. POP3 protocol SMTP protocol Email server Email client Actual email software Linux: Sendmail Microsoft: Exchange Lotus Notes and Domino (Web Notes) email mail servers sendmail, exim, postfix, procmail, fetchmail mail clients text pine, elm gui wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww DATABASES wwwwwwwwww Database. What is a database? Why use a database? Principles of databases Databases help humans work with large amounts of data. Databases help humans structure data. Databases help humans enter or store data in an organized way. Databases help present data in an organized way. wwwwwwwwww Types of databases Standalone databases. Client server databases. Server hold the data. Client updates the data. Server is "back end". Client is "front end". Internet databases. Access from any web browser. Types of databases Flat text files Relational databases. Two dimensional. Rows and columsn. Records and fields. Multidimensional. Multiple tables. Joins. Object oriented databases. Physical database Logical database wwwwwwwwww. Normalization Normalization: Optimum structure through minimum redundancy. Poor normalization: slower performance, higher mainenance costs. Get rid of one-one and many-many relats, blank fields, duplicates First Normal (1NF). Redundancy. Eliminate repeating fields. Second Normal (2NF). Remove fields that don't describe primary field. Third Normal (3NF). Eliminate fields you can get from primary key. Boyce Codd. A more rigorous 3NF. Forth Normal (4NF) Fifth Normal (5NF)? wwwwwwwwww Primary Key Key A key is a field common to two tables. Used to join tables. wwwwwwwwww Relationships one to one: eh one to many: good many to many: bad wwwwwwwwww Steps in database use. Create the database. Create admin account. Create tables Number of columns. Column width. Number of records Data types: Text. Number. Date. Time. Create indexes Re-sorting by any field other than primary key Create forms Enter data through forms Create queries To get dat from database Create reports Run reports Formulas and functions To manipulate the data Insert data into tables. Start and stop the database. Backup the database. Query languages Database and web integration dynamic sites using CGI BIN dynamic sites using Php or Perl or Python. wwwwwwwwww Actual database software Personal MySQL Adabas FileMaker MS Access Enterprise Postgres Oracle Informix Sybase Peoplesoft SAP MS SQL wwwwwwwwww Tables Fields (columns) Records (Rows) wwwwwwwwww Views Indexes: sorting by any other field beside primary key Hashing functions Queries wwwwwwwwww Joins Inner join. Outer join. Self-join. Union join. wwwwwwwwww Locking. For multiple users. Only one user changes dbase at a time. wwwwwwwwww Database size Number of tables in database Number of fields in tables Number of records in table 100 records 1000 records 1 million records 1 billion records. Size of database measured in bytes. wwwwwwwwww Database administration Database security - admin access, user access Database backup and restoration wwwwwwwwww Database programming SQL PL SQL wwwwwwwwww Entities Objects Attributes Values Relationships Operators Expressions wwwwwwwwww Types of data Numeric Data Date data. Date formats. Text data. ANSI text formats. Text file formats. Searching text. Image data Sound data String data. Concatenation. wwwwwwwwww Data structures. Flat files Sets Lists Arrays Graphs Trees wwwwwwwwww Union Intersection Set Difference wwwwwwwwww Null (empty set) vs. zero (a number) wwwwwwwwww Data Dictionary Data dictionary or system catalog is a report of all the entities in the database system. wwwwwwwwww ACID: Atomicity. Consistency. Isolation. Durability. wwwwwwwwww Create and delete a database CREATE databasename wwwwwwwwww Start and stop a database START databasename STOP databasename wwwwwwwwww Add users, roles and privledges. wwwwwwwwwww Set permissions of tables, indexes and views. wwwwwwwwwww Create, modify and delete tables. CREATE TABLE wwwwwwwwww Query database with query commands SELECT clasue specifies which field to select from FROM clause specifies which table to select from WHERE clause specifies which records to select from ORDER BY alphabetical order, numerical order, ascending or descending GROUP BY summarizes records of same field name HAVING INTO out file or dump file wwwwwwwwww Add, modify and delete the data in the database tables. INSERT UPDATE DELETE wwwwwwwwww Operators Arithmatic operators Logical operators Set operators Character operators Comparison operators wwwwwwwwww Functions Aggregate functions count, sum, avg, max, min Date and time functions Arithmatic functions trig, logs, powers, roots Character functions concat, initcap, upper, lower Conversion functions wwwwwwwwww join combines tables. shows both tables. union shows intersection of tables. joins Inner joins. Outer joins. wwwwwwwwww Views Views are virtual tables Indexes are tables sorted by various fields in order to improve speed of data access. wwwwwwwwww Stored procedures Triggers <circular definition> Stored procedures are stored procedures that are started by triggers. Triggers are triggers that start stored procedures </circular definition> wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww MULTIMEDIA wwwwwwwwww SOUND Sound file formats: .wav, .mp3 MP3 players - software and hardware wwwwwwwwww MIDI Musical composition on the computer Free sound and music libraries wwwwwwwwww IMAGES Image file formats - .bmp, .wav Image software - GIMP, Photoshop Free image libraries Imaging still images video GIF: 8 bit graphics JPEG: 24 bit graphics MPEG: video PDF: Adobe Acrobat wwwwwwwwww SCANNERS Scanning hardware Scanning software wwwwwwwwww CAMERAS Digital still cameras Digital video cameras Still photo editing Video editing Photo library software wwwwwwwwww CD AND DVD BURNING Burning software - Nero etc. Audio Cd's Data Cd's - fixed and rewriteable iso images and bootable cdroms more Images. Multimedia. Video. Digital Film. Image editing. Photoshop. 3-D images. Open GL. Architecture. Engineering drawing. AutoCAD. Multimedia Flash. Dreamweaver. Maya. Movies. Direct X. Final Cut. wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww TEXT EDITORS, WORD PROCESSING, DESKTOP PUBLISHING Text editors. Text editors are command line. Text editors let you type in text. Word processors. Word processors have a GUI. Word processors are WSYWIG. Word processors let you format text Desktop publishing. Desktop publishing lets you do page composition. Cut and paste. Find and replace. Font formatting. Paragraph formatting. Page layout features. Page numbering. Headers and footers. wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww Spreadsheets Spreadsheets are good at dealing with numbers. Cells. Mathmatical operations on cells. Addition, subtraction, multiplication, division. Horizontally and vertically. Units of money. Units of time. wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww TROUBLESHOOTING. TECH SUPPORT. ADMINISTRATION. wwwwwwwwww Troubleshooting PC's. Desktop Support. Help Desk: wwwwwwwwww Determine criticality and priority. How soon does the user need the machine. Get the user a spare pc as soon as possible Keep spare parts on hand Know what is under warranty. Have good repair shops lined up. Backup data Use virus software Don't let the user add their own programs wwwwwwwwww Testing. Is it a hardware problem? Replace hardware. Is it a software problem? Reinstall software. Is it a client problem. Is it a server problem. Is it a local area network problem? Is it a wide area network problem? Is it an Internet problem? Is it a user problem? wwwwwwwwwwwwwwwwwwww Principles of LAN Administration Basic Tasks Forecast growth Plan and design systems Test systems. Implement, rollout. Monitor and Control Troubleshooting Basic issues Security Backups Viruses Email Spare parts Budgets Schedules wwwwwwwwww Fault tolerance. Have an automatic fall-back system Spare systems and spare parts Backup the data to removeable media RAIDs Software media on hand for rebuilds and reinstallations wwwwwwwwww Train the customers in how to use their systems. Keep the customer happy wwwwwwwwww Security From outside Virus software Protection from hackers: Firewalls and Proxy servers From inside Limiting users permissions wwwwwwwwww Purchasing Warranties wwwwwwwwww Documentation of network of pc's of hardware of software of problems wwwwwwwwww Build client machines (hardware and software) wwwwwwwwww Administrate users and groups resources files printers internet connections wwwwwwwwwwwwwwwwwwww Principles of WAN Administration Make sure the lines are up. If the lines go down, start troubleshooting wwwwwwwwwwwwwwwwwwww LAN/WAN ADMINISTRATION Client Server architecture: Web architecture: Working via the web. Intranet Internet. Virtual Private Network (VPN) Application Service Providers (ASP's). Setting up a network Make sure you have enough power capacity. And backup power supplies. Make sure you have enough communication line capacity. Buy lines. Choose media - Ethernet recommended Choose star or bus topology - star recommended Choose either Peer-to-peer or Client/server architecture Attach NICS and cables Configure drivers for NICS Configure TCP/IP Each computer gets a host name and IP address (use ntcfg). Large networks use DHCP and DNS. Small networks use static ip addresses in etc/hosts. What's going on? list users on systems list processes (applications) running list disk usage list network stats list machines on network. What are they doing? list CPU usage list memory usage Is everything running that should be? Is nothing running that shouldn't be? Is everything working? Nothing broken? Security check. Backups working? Documentation up to date on all hardware and software? Users happy? Users informed? LAN admin Network Management Software Principles Be able to see all. Monitoring. Hardware: Hubs, Routers. Swithces. Servers, Clients Traffic: Software Be able to log all. Be able to control all. Security: Keep out intruders. Protocols: SNMP Monitoring the Server, Clients and Network traffic. Auditing events: Logons and Logoffs. Access to resources. Troubleshooting the network Speed: minimize bottlenecks For routers - add two NICS CIDR - classless inter-domain routing. Private class C ip addresses from 192.168.0.0 to 192.168.225.225. Also 10.0.0.X. Class C netmask 225.225.225.0 Test NIC with dmesg / grep eth Test network using ping Test pc using ifconfig Check NIC Check PPP Check daemon services Test connection with ping test connection with traceroute. Test sockets with netstat. Test DNS with nslookup, host and dig wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww Computer security. wwwwwwwwww Physical security: Lock up the box. Rack. Room. wwwwwwwwww System security: Passwords Change passwords frequently. Require long passwords. Require password changes. Enable bad password lockouts. File permissions. Users and groups. Virus software Backups Encryption wwwwwwwwww Network security. Password testing with Crack Detect file tampering with Tripwire SATAN COPS Firewalls: ipfw, ipchains. PGP encryption and keys SSH encryption for online business transactions. Linux Security PAM authentication shadow psswds tcp-wrappers ssh passwords cracklib wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww More computers Lotus Notes. Lotus Notes is email, groupware, database, and document management all in one. Lotus Notes provides the following features: Replication of database. Workflows. Agents: user created programs to automate processes. Response documents: are like post-its. Full text searching. Groove Groove is a web based version of Lotus Notes. Push technology Pointcast, Marimba Streaming audio/video Video conferencing. Document Conferencing. Total Cost of Ownership Y2K e-commerce SSL SSL stands for Secure Socket Layer. Secure, encrypted public internet transmission Grid computing. Like "take a penny leave a penny", except with your spare computing power over the Internet. Clusters Clusters is a method of connecting small computers to form a big computer. P2P PC's use part of their hard drive to share files over the Internet. RSS Have many blogs feed you news at once. LAMP. Connect databases to interactive web sites. Friendster. Friendster is an internet-based social networking software. Sort of like "Six Degrees of Seperation". Smartmobs. Coordinate events with text messaging. Basic web page. Text only information. Hyperlinked websites. Static webpages. Dynamic webpages. Multimedia websites. Images. Moving images. Sound. Audio/visual. Interactive websites. Guestbooks. Forums. Message boards. Calculators. Webpages linked to databases. Webpages exchanging data with each other. XML. Blog A blog is a webpage that one can update from a web browser. Wiki A wiki is a social blog. Multiple users can update the content from their web browsers. RSS RSS provides XML-based news feeds. Computer. A computer is a machine capable of performing symbolic manipulations. The first computers were mechanical calculators. Analog vs. Digital. Network A network consists of nodes connected by media. Computer networks. Social networks. Internet The web. Virtual reality. Cyberspace. Avatar. Online persona. Hyperlink Hyperlinks are links that Hypertext Hypertext is text that contains hyperlinks. Web browser Web browsers display web pages. Web site A domain. An URL address. Web page A web site is composed of web pages. HTTP HTML Friendster CMS CMS stands for Content Management System. Typical CMS functions include. Examples of CMS are Slash, Scoop, PHP-Nuke and Postnuke. P2P P2P stands for Peer to Peer. A synonym for file sharing. Examples are Napster, Kazza, Bit torrent. Email Chat Newsgroups FTP Online shopping. Online gaming. Virtual realilty. LAMP Linux Apache MySQL PHP PERL PYTHON KDE GNOME Open Office Knoppix Knoppix is a version of Linux that can be run directly from a cdrom. Bittorent Bittorrent is faster than trad p2p file sharing. Internet businesses that thrived Google Yahoo Amazon.com Ebay.com multiuser multitasking process system services or daemons user application processes Drivers Cameras Scanners SANE Graphics drawing programs Photo manipulation programs GIMP File formats .bmp .jpeg .gif Bios File systems Backups media types frequency - daily, weekly, montly. Sound mixers players midi synthesizers formats - .wav , .mp3 Installation Dual boot methods Lilo Grub MBR - master boot record Partitioning. Seperate partition for OS and data Partition types Primary parition Extended partitions Logical volumes Creating a boot disk. Creating a rescue disk. Bootup sequences run levels init file logs X Windows X server X client Desktops Gnome KDE Chat AIM. GAIM. Jabber. TCP/IP NIC MAC address or NIC address IP address Subnets Email Schedule or Calendar Contacts To Do list Firewalls Encryption SSH Kerberos Viruses Anti-spam Anti-spyware RAID Hardware raid Software raid Mirror Stripes Package management RPM's Tars Printers Stand alone or networked. Dot matrix. Inkjet. Laser. LPRng. CUPS. Irda Bluetooth Power management Linux Kernel Source code. Compiling a kernel. LSB Linux Standards Base. DNS - translates IP addresses to URL's. Linux uses BIND. DHCP - leases IP addresses. Web servers Linux often uses Apache Web browsers Linux often uses Mozilla Email servers Linux often uses Sendmail. Email clients Database servers. Linux often uses Mysql or Postgres P2P File sharing. Napster. Gnutella. Bit Torrent. Proxy servers. Programming Edit mode Run mode Debug mode IDE. Integrated Development Environment. Program types Command line programs. User enters text. GUI programs. User uses mouse. Web based programs. User reaches program over internet. Computers Main factors in computers Processing power. Moore's law. Hard drive capacity. Memory. Bandwidth. wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww History of computers: 1941 first computer. ENIAC. Vacuum tubes Transistors 1940's. Alan Turing. John Von Neuman. Norbert Wiener. 1950's. AI. Marvin Minsky. John McCarthy. 1970's. Unix. C. Ritchie. Thompson. 1970's. first pcs. Jobs and Wozniak's Apple. 1970 tcp/ip with Vince Cerf 1970's. AWK. 1980 Ethernet with Bob Metcalf 1980's. Bill Joy. 1990 Internet, www, hypertext. Tim Berners Lee. 1990's. Linux. Linus Torvalds. Knuth, Donald. Wrote about computer programming. Seymour Cray. Cray Supercomputers. Big, fast computers from the 1980's. Hillis, Danny. Thinking machines. Kleene, Stephen. Did work in logic relating to "regular expressions". Numbers, words, images, sounds, symbols. Philosophy of computers. Turing. Minsky. Dreyfus. The dude who shows what is not possible with computers. Searle. Chinese room argument. AI wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww History of computers and the Internet. (see history database)