CS701 : Software Practice and Experience Laboratory 2004-2005


Assignment 5

Part A : Latex Beamer

Prepare presentation of your course project using Beamer class in latex. Your presentation should include
1. Some appropriate figures drawn using pgf.
2. Two different ways of overlaying bulleted points.
3. Some tables with different colours for each row.
and few other features which will be updated here soon...

Part B : Write NNTP Client in Perl

Useful links : NNTPClient-Perl , RFC 977 and 850.

Write a NNTP client to post message on newsgroup.
Client should take an input file name as argument which contains the message.
The message should be appended by the signature.

Formate of input file is
-------------------------------------------------------------------------
Name : <Name of the sender>
From : <email-id>
Date : <date in DD/MM/YYYY>
NG : <newsgroup name>
Sub : <subject line>
ReplyTo : <email-id> (optional)
Sender : <sender email-id> (optional)
Exp : <message expiry date DD/MM/YYYY> (optional)
<blank line>
Multi-line message<eof>
-------------------------------------------------------------------------
Order of the header lines in the file is not fixed, nor their number.
If some compulsory fields (name, from, date, ng, sub) are missing from the file then your script should prompt the user for them.


Signature should be dynamically generated in following formate
---------------------------------------------------
- <Name of the sender>
<output of date command>
<output of fortune command>
---------------------------------------------------

Part C : Unix Shell Script

Write shell scripts for the following

a) Find all files in current directory having size > X kbs.
Replace <string1> by <string2> in all these files.
Output name of all modified files.
Assume all are ascii files.

Bonus : 5% for handling binary files.
             5% for recursively traversing the current directory.


usage : replace1 -r<for recursive> -b<for binary> -z <size> -s1 <string1> -s2 <string2>

b) Dump all the lines sentences modified in part (a) to output file.
Output file should contain all the lines sentences from the file having maximum
occurrences of the <string1> at the beginning and so on in descending order.

Bonus : 5% for recursively traversing the current directory.

usage : replace2 -r<for recursive> -z<size> -s1 <string1> -s2 <string2> -o <output file>



NOTE: If no argument or argument -help is passed then your program should print the usage.

Release Date : Saturday, September 25, 2004
Modification date : Tuesday, September 28, 2004
Submission Deadline : Friday, October 8, 2004, 23:59:59