Major Players in SPAM

Major Players in SPAM

  • Internet Savvy Marketers and/or Frauds out to make a dollar.
  • Internet Service Providers (ISP’s) : Bell Sympatico/MSN, Rogers/Yahoo, Aliant, AOL, NetZero, 3Web, Cogeco, and dozens and dozens more… etc.
  • The Federal Trade Commission (FTC)
  • The Securities and Exchange Commission (SEC)
  • Hormel Foods Corporation – Creators of SPAM (Canned Food)
  • Usenet – this is where the term as we know it today came into existence.
  • Script Kiddies
  • Email Providers (GMail, Hotmail, Yahoo, AOL, etc)
  • DC Brands International,
  • Red Truck Entertainment,
  • Wataire Industries
  • Your Mom, literally
  • Last, but not least YOU!

“Shoulder of Pork and hAM” – That’s right the original term Spam stood for should of pork and ham, by the Hormel Foods Corporation.

“Measuring Implementation and Impact
A substantial number of Canadian ISPs, including many of the major players and other network operators, have started to implement some or all of the recommended technical practices, particularly by blocking port 25 and upgrading their filtering techniques.
The experiences of other countries have shown that ISPs themselves, particularly market leaders, can do much to spread the adoption of anti-spam technical and business best practices throughout the industry. The leadership already shown by some Canadian ISPs in implementing the recommended best practices has been instrumental in encouraging other ISPs to do likewise.”

Laws Related to Spam

The Can-Spam act, which originated in 2003, details the requirements for commercial emailers. Mainly, it bans false or misleading header information such as false or misleading “From”, “To”, “Subject” and e-mail address of the sender and the domain name of the email service provider of the sender. Also, another important provision under this act is that any commercial emails sent out must include a way to opt-out of the e-mail messages, in other words, the person receiving the email must be given the choice to prevent further messages from being sent to them from the commercial party. One final main provision is such that any commercial emails must include the company’s valid postal address as well as indicating that this is an advertisement along with the opt-out provisioning aforementioned.
In terms of the penalties for breaking the Can-Spam laws include fines up to $11,000, but there is more; any emails that are deemed to be deceptive are also subject to further laws which ban false and/or misleading advertisements. Also there can be further penalties including imprisonment for those who use computers that do not belong to them to send spam, or otherwise use fraudulent identities online to carry out their operations of sending more of it.
An important message from the Federal Trade Commission is as follows:

“If you get spam email that you think is deceptive, forward it to The FTC uses the spam stored in this database to pursue law enforcement actions against people who send deceptive email.”– (


Federal Trade Commission,

On Guard Online

Funny Indian E-Mails that I keep getting

Bash Shell

The Bash Shell

Bash – Bourne Again Shell, built upon the Bourne Shell (sh).
sh – Bourne Shell
-> Upon starting the Bash shell. 3 Files are executed:
1. /etc/profile
etc contains all of your settings, all users initiall get the same profile script

2. ~/.bash_profile or .~/.bash_login or .~/.profile

3. ~/.bashrc – start items in the background: applications, programs and startup of system.

Filename Metacharacters:

* – any string of at least 0 chars
? – any single character
[abc] – similar to javax.regex character classes
[a-z] range [!abc] not
~h5yez – home of h5yez
~+ current working dir – $PWD var.
~- previous working dir – $OLDPWD var.

Quotation Usage:
double quotes: everything between is taken literally except the dollar sign. $-variable \-escape `-tick for cmd subst.
“-end of quoted section

single quote: everything between them is taken literally except:
‘ – apostrophe signals the end of quoted section, W/O – \ (backslash) escape

Command Forms:

cmd – exec cmd.
cmd & – exec cmd in bg.
cmd1;cmd2 – exec cmd1 and then cmd2
cmd1|cmd2 – pipe: use output of 1 as input to 2. (good for filtering output)
ie. – ls -lha | grep
ls -lha | wc
cmd1 `cmd2` – use output of cmd2 as an arg to cmd1
i.e. – kill `pid of app`
cmd1&&cmd2 – exec cmd1 then 2 iff 1 is ‘successful’
!cmd – return exit state of 0 when cmd returns non-zero.
– vice-versa.
(cmd1;cmd2) – group in a subshell -> useful for directing output from both cmd1 and cmd2 to same file.

I/O Redirections:
cmd > file – send stdout of cmd to file (overwrite).
cmd >> file – send stdout of cmd to file ( in append mode ).
cmd < file - take input for cmd from file cmd << text - take all input upto a line identical to text that is reached. -> good for multi-line manual entry.



(Advanced Interactive eXecutive)
(Hewlett Packard Unix)
(Silicon Graphics, Inc.)

File Security in Unix:

On a Unix System all files & directories have permissions in 3 classes.

  1. User class represents the file or directory owner of which there can only be 1.
  2. Group class represents the group that has been assigned to the file or dir, only 1 group.
  3. Other class – all other users outside of the user and group classes.

There are 3 main types of permissions:
r – Read file: read contents of the file
dir: read the names of files contained within the directory but no other information.
the directory. Only 1 group.

w – write – file modify the contents of a file
dir -> rename, create, delete files in the directory
x – execute – file -> execute binary executable file (application)
dir -> means that you can traverse this directory to access files or subdirectories.

Note: there are additional permissions that can be set on files/directories, however these represent the bulk you will need.

Modifying File Classes/Permissions:
chown -> change ownership: must be a priveleged user. (i.e. – root)
syntax -> chown [options] newuser[:newgroup] files
option -R recursive

chgrp – change group
syntax -> chgrp [options] new_group files
option -R recursive

chmod -change access_mode
syntax: chmod [options] mode files
mode can be specified as follows

define who:
define how:
define what:
u-user, o-other
+-add, -remove
g-group, a-all

r=read, w=write, x=execute

ls -l
rwx rwx rwx r-xr–r–
user group other

Alternatively, we can set permissions via a 3-octal sequence (0-7).
digit 1 – user
2 – group
3 – other

bit 1 – 4 – read
2 – 2 – write
3 – 1 – execute

chmod u+x file.out
chmod -R755 /webs/*

Additional Commands in Unix

MD5SUM – Computes an MD5 hash (CRC):Checksum
CRC – Cyclic Redundancy Check
syntax -> md5sum [options] [file]
md5sum [options] –check sum [file] -> can redirect output to md5 file

see cksum
sha1sum which are both popular checksums

Unix Job Control:
Any currently executing application is called a process.
Unix supports the concurrent execution of processes.
How to execute >= 1 process without windows (note lower case w in the windows).
Commands that we need to know:
ps -> snapshot of executing processes (live processes).
command & -> execute ‘command’ in the background
jobs – list the active & suspended jobs.
fg – bring a job to the foreground.
bg – execute a process in the background.
suspend – pause execution of a process.
wait – wait for background processes to complete.
Ctrl+c – kills the active process (the one in the foreground).
Ctrl +z – suspend the foreground process.
Kill – terminate a process.

i.e. – java app &
java app > outfile &
ps will who it running in the background

grep -R cs * > test &
kill -9 pid_num

Searching Commands:
which -> gives the full path of executable that would be executed “which java” /usr/bin/java on pizza server.
find -> used to find files
syntax find [options] pathname(s) conditions
-name pattern
-group gname
-user uname

if pathname is omitted then current_path is searched

grep – find pattern in file
syntax grep [options] regexp [files]
-c count
-r R recursive
take output of other commands to search
command | grep pattern

cat file.out | grep pattern

Script: [very handy on assignment 3]
-record all items displayed on the screen
syntax script [options] [output_file]
options -> -a append
-f flush after each write (useful when scripting while another user watching file).

tail -uf file.out (way of watching log files).
‘exit’ to stop the script

XML Advantages and Disadvantages

Some more about XML:

Well-formed XML conforms to syntax rules, while valid XML conforms to syntax and a DTD.

Some Advantages:

  • portable
  • easy to share
  • no middleware
  • greater flexibility
  • minimal overhead

While disadvantages include:

  • There is no optimization of queries.
  • It is not as rigid as a DBMS.
  • There is no built-in security model.
  • It doesn’t have the ACID properties, but a DBMS does.
  • The number of users is a (performance) consideration.
  • Static or dynamic content is another consideration for determining when appropriate to use.
  • Data is not normalized, duplications are not eliminated.
  • XML is case-sensitive.

It is difficult to express a relationship between non-hierarchical nodes.

Element vs Attributes:

i. attributes when you’re CERTAIN the element will only have 1 value associated with it.
ii. you are certain that the attributes will never need to be expressed in terms of children.
iii. otherwise, make it an element.


Some advantages of XML include its portability, ease of sharing, lack of middle-ware, greater flexibility, and minimal overhead.

While disadvantages include no optimization of queries, not as rigid as a DBMS, no built-in security model, it isn’t ACID like DBMS, # users a consideration, static or dynamic?, as well as being redundant and verbose.