Reuse - you should try to reuse something if it already exists because of expense.
Abstractions - used to make program be succinct.
Recipe - the problem solution written without an unnecessary abstractions.
Productive - contribute to socitity in a positive way. Do not waist resources
Destructive - if something is dirstructive it should not be developed.
Stoic - Zeeno and the stoics: no bad intentions and no bad deeds.
Logos - Plato and Aristotle: only good intentions and bad deeds are allowed when just.
Turring Test - The terring test was invented by Andrew Turring.
If a computer program that can not be proven it is not a human
durring a chat conversation the program passes the
Turring test.
Existence - I think tharefor I am. If a robot is as good at being a person as a human is this existence.
Syntax Directed Symantics - sytax of a programming language turning into actions taken.
Cognative Ability - the conchusness and human body.
Survival of the Fitest - only the strong survive.
Feature not a Flaw - to view a thing as positive thing not a flaw.
Elegant - to not break form and to be clean and clear. Source code should be elegant to make it eazy to program.
Succinct - to use abstractions to make your work more compact. Sorce code should be succinct.
Coupiling - how much one thing depends on anther. Source code should loosly coupiled.
Cohesions - to hold togethear and not come apart. Source code should be highly cohesive.
Glitch or Fault - when the system fails for no apparent reason.
Bug - a flaw in a computer program.
Hard Coding - works fast but many recopilations are needed as the system is asked to chainge
Security - any computer that has a network link should be considered public information in a sceptical way
Encryption - an attempt to keep secrets in computer systems.
Dependency - one thing that must have another inorder to exist.
Acquisition - to get a resource. Resource acquisition is initialization.
Resources - RAM, CPU, Network Card, Disk ...
Allocation - to manage a resource.
Authenticate - to validate that something is correct and coming from a crrect source.
Acronym - a software system that uses class, variable, function and procedure names that go along with
something in the real world.
Speed Size Tradeoff - to make a program big could make it run fast. To make a program small could make it slow.
Client and Server - the server waits for incomming connections. The cllient is a pice of software that connects
to a server.
Bad Hacker - a hacker with malicious intent.
Good Hacker - a hacker with no malicious intent.
Error Handling - speed verses program functioning.
Finite Automa - a program in structured programming statements. Structured programmng statements
use infix expressions and is easyer to read then a program written in assembly language.
Avoid GOTO logic in programs. Avoid returning from from a function or procedure at
the end of the function.
Theroy of Computation - the compiler. Non-reproduceable build system that produces
machine code in the correct format. This machine writes out the correct machine code
given a program in structured programming language statements.
Computer Programma - assembly language. Avoid goto logic in programs.
Communication - communicating computer programs is the reality of the world.
Programs offten use the Berkeley sockets API for TCP and UDP.
Hacking - Should we hack? Is it wrong? Should we be a hacker or should we be hacked? hacking
Reality - The reality is that hacking is rampant.
Worm - a worm could start fires and kill people around the world. Worms can be written
in machine code or a scripting language that breaks into a remote host.
Virus - a virus could start a fire and kill people.
Spyware - this could be a good thing for bosses to know if employees do real work on the computer.
Malware - this is a very bad thing. If you make writings in the computer this type of hacking could
hurt your work.
Killer Web Site - a popular web site that is usefull.
Killer App - a popular application that is usefull.
Simulation - if we could run a simulation of the universe would life exist in the data?
Demonstration - if the demonstration version of the project is compleat
the client could rip you off by keeping
the demonstration version and canceling real project.
Backups - when software is lost it is a bad thing usually. Allways backup your work.
Meta Words - in the context of one area of study simple words make have a specfic meaning.
Meta Language - write all solutions in meta-language and then expand code for each platform.
This avoids writing the same thing over and over with different syntax
but not different symantics.
Inline - to expand code inline like a macro making big fast code (speed size tradeoff).
Per-Request Overhead - in web applications you can use a pooled database connection that maintains
a precestent database connection to reduce computational expense.
Programming Language Choice - special purpose languages offten make it eazy to solve certen types of
problems. Your wrote knolage of a programming language should be takein into account (programmer expense
for learning a new language should be minimized).
Relational Model - function and structs (plain C). The relational model is broken for large software systems.
In the database it ment compare to make relations. The relational model gives out after a certin data set size.
Object Oriented Model - large software systems are eazy to write with object oritented programming.
No comparing needed to access the data just addressing in a file.
Copyright - GNU public copyright and the Apache public copyright can be use to protect program authors from
getting there ideas stolen.
Intellectual Propriety Rights - your code is your possession.
Passwords - passwords can be lost and recovered. If the password encryption is broken their is no secruity
in the computer system that depended on the password protection. You can allso try to guess common passwords
in order to breakin to a computer system that is password protected.
Multi-Language Interface - in the world their are more langauges then english. Web sites and applications should
have a string table that holds translations for all the text strings displayed.
.
Multi-Threaded Programming - if a program is in the wait state in the multi-tasking kernel most of the time
you could be using the computer in another way using threads or the fork() function. fork() makes a copy
of the program and all it's data. Threads share the same process address space and use less memory.
Sharing - it is nice to share with other people, if you ask me. It is good to help people. Keep
inmind that we have to have money to live in most places in the world.
Chat Room - bad people could be in the chat room and try to exploit you. IRC (Internet relay chat) is the
network protocol for chat clients and servers.
Message Board - what you write on the message board could get you killed. NNTP (network news transfer protocol)
is the network protocol for network news information.
Strong Aritficial Intelligence - I think it is possable that strong AI will exist. The AI
could possably be able to think more then a human. Patterns, rule base and correleation
all used to answer questions. The question loop could use the AI to answer some of the questions
that occur in the AI mind.
Public FTP Servers - FTP search engines exist that let you search for files on public FTP (file transfer protocol)
servers.
Data Integratie - data integratie is lost if any of the data is damaged or lost.
Robot - if a robot is just as good if not better at being a person as a real man and can
philosphys and argue correctly it should be respected as a person. Should we treat them as equal
or should we treat and use them the same as a slave. God being all powerfull could give them
a soul. The move "The Robot" explores this thought.
eCommerce - electronic commerce web applications are broken if the encryption they use is be broken.
Never store the credit card numbers on the server for an eCommerce web site because they will
surely be stolen.
Data Theft - is it wrong to be a data theft if the information is publicly avaiable and can be accessed with
a computer program? I think it should be legal to access information.
MP3 and Napster - copyright laws should not be broken because it is basicly stealing to download
illegal recordings from the Internet.
Compression - lossy compuression is when you can throw away extra information that is not needed.
Lossy compression works for JPEG image files.
Stockpiling Information - one day the information we take for grated could be removed from the world.
We should collect and save usefull information before it is removed. An example of this is the sunsite.unc.edu
FTP server and most versions of most the GNU software source code. The new site matalab.unc.edu I could not find the
GNU software source code.
Testing - make the beta version of your software free but make it so the user is forced to contribut to
the testing of the software. Allso when more poeple learn how to use your software the more
people use your software.
Love and Hate - it is bad when someone hates you because of the computer. Love is a hard thing to find
in the world of computers and hackers.
Skeptical or Pessimistic - to assume, the worst so that a computer software system is not broken
and is tuff.
Critic - the world is critical about computer software. In correct response to a critisizum the acknologeing the crtic is
to find flaws in computer software systems.
Modest - always tell the truth. Never lie if you need time to learn to solve problem.
Bandaid - unclean fix for a problem in a computer program.
Patch - write machine code bytes at
certain locations in an application executable program file. I don't trust this method of updating software
to a newer version.
Wrapper Class/Function - classes and functions that makes programming eazy because you get to use your abstractons
which are eazy to remember then the API you are workng with.
Version Numbers - know the verion of your software and the build number to keep track of software versions.
Compatibility - multi-platform Java BYTE code is a way to write once and run any where.
Macro assembly language can hide machine specific details by using macros that expand to
specfic assembly language instructions. C++ can be used to solve problems for more then one
hardware platform using abstractions and the C macro pre-processor to have different code for
each platform but all in the same place. Compatibility is a must have because of all the different
hardware paltforms.
Backwords Compatibility - this is needed with old software to works in a new software system.
You should not throw away software that is still usefull.
Legacy System - systems implemented in the past that are still used today.
If it is not broken do not fix it.
SPAM - SPAM is a word that stands for posting too meny messages to a message board or
sending too meny email messages to one email account. SPAM is concidered hacking.
K.I.S.S. - keep it simple stupid. Don't make it hard on your self. This was told
at the computer science school that I graduated from.
Only create things you need. Everything should have a purpose or it is not worth the time.
If something is eazy for you to create and someone else might have a use for the new thing
I think it is correct to write and publish your idea.
Reality - it is the the reality to not be able to think of everything when your are in front of a computer. This should be
acknowledged in your activity on computer systems.
Cryptography as a Weapon - encrypt a computer system and then use getting the key as a ransom.
Case Studies - reading to find solutions that others have already invested time and energy to find.