Click here to download the Postscript or Microsoft Word version
 
Personal Information
 
Name Pratap Vikram Singh. 
Date of birth 31st January 1974. 
 
Educational Background
 
College 1992-1996 Bachelor of Computer Engineering, Maharashtra Institute of Technology, Pune. 73%(Distinction). 
High School 1988-1992 Mayo College, Ajmer.
 
Work Experience
 
Company Joined Wipro Systems in 1996 as a Systems Engineer. 
Current Position Senior Systems Engineer in Wipro Systems working for Xerox corporation, El Segundo, USA. 
Domain Knowledge
  • High speed printing systems.
  • Remote/Network printing.
  • Distributed computing using CORBA.
  • GUI design.
  • Object oriented programming.
  • UNIX operating system.
  • Enabling client/server applications on the web.
  • Languages
  • C, C++.
  • Java.
  • Development platform Solaris on Sun Sparc/UltraSparc stations. 
    Packages used
  • Rational Rose 4.0 for OO design.
  • NEO 2.0 object framework for CORBA.
  • Sun WorkShop 4.0 for C++ development.
  • ClearCase for code management.
  • Purify and PureCoverage for C++ testing.
  • JavaStar for Java GUI testing.
  • JavaSpec and JavaScope for Java testing.
  • Visual Studio 97 for MFC and ActiveX.
  • Familiar with other concepts
  • Multithreaded programming in using Solaris threads.
  • Network socket programming using TCP/IP.
  • Solaris internals like file system, scheduling, synchronization.
  • Component technology using ActiveX and JavaBeans.
  •  
  • Other Information
  •  Member of the training faculty for teaching CORBA to new employees in our group.
  • Taken talks on various technical topics like:
  • Involved in system administration and network file management.
  • Familiarity with SEI CMM quality norms.

  •  
    References
     
    Senthil Nayagam 
    Consultant 
    Wipro Xerox Development Center, Wipro Systems, Bangalore. 
    Experience: 10 years. 
    E-Mail: nayagam@wipsys.soft.net 
    Tel : +91 (80) 227 0036 
     
    Ruchir Asthana 
    Consultant 
    Wipro Xerox Development Center, Wipro Systems, Bangalore. 
    Experience: 8 years. 
    E-Mail: ruchir@wipsys.soft.net 
    Tel : +91 (80) 553 8301 Extension 2502. 
     
    Awards
  • Award for excellence in quality and hard work given by Xerox Corporation, USA.
  • Award for completing the project well before the deadlines given by Xerox Corporation, USA.
  • Runners up in the programming contest held by Wipro Systems, India.

  •  
    Extra Curricular Activities
     
    Social Work
  • Achieved the Silver and Bronze category in the Duke of Edinburgh service.
  • Got the "A" certificate in the National Cadet Corps as part of the AirForce group.
  • Posts Held Got the roll call of Honor and appointment as a college prefect.
     
    Current Mailing Address
    Pratap Vikram Singh
    7/5C Cross Road
    16th Main, BTM Layout
    Bangalore - 560 076, India
    E-Mail : pratap@innocent.com
    Tel: +91 (80) 668 8681
     
    Projects undertaken during work
     
    Line Printer Daemon
    Aim To implement a gateway for the high speed printer which takes data input from a network socket and passes it to the printer.
    Environment C++ on Solaris and the NEO Object Framework, Purify, PureCoverage, Rational Rose.
    Design and Concepts Fully Object Oriented Design. The architecture was based on distributed objects using CORBA. The daemon accepted data using the BSD printing protocol. The daemon was also a concurrent server which was implemented using Solaris threads.
    Duration 4 months.
     
    Prototype client/server application for the Web
    Aim To develop a prototype for a Galaxy client/server application using ActiveX and MFC.
    Environment Windows 95, ActiveX, MFC, IE 4.0, Visual Studio 97.
    Design and Concept The application was developed in MFC and was wrapped as an ActiveX control, which was embedded in a web page. The application used ActiveX components to show the feasibility of component technology. Database connectivity was provided for a Sybase server running on a Unix machine using the Sybase CTLIB API. This prototype was required to show the advantage of using web technologies to develop, deploy and maintain applications.
    Duration 2 months.
     
    Printer GUI Frontend
    Aim To port a Galaxy GUI frontend of a high speed printer to Java.
    Environment Java, Swing 1.1, JavaStar, JavaSpec and JavaScope.
    Design and Concept Fully Object oriented design. The porting required the mapping of all the Galaxy components to Java. The GUI followed the MVC architecture and used a number of design patterns like the Observer, Template and the Singleton. It also required a good understanding of a user interface design. A communication channel was set up for message passing between the different module of the frontend.
    Duration 4 months.
     
    SCSI Tape driver
    Aim To implement a device driver for a SCSI tape drive.
    Environment C on Solaris, Solaris Common SCSI Interface, Tandberg TD-4000 2.1 GB Tape Drive.
    Design and Concept This project was done using the SCSA interfaces provided by the Solaris operating system for writing device drivers. The driver took care of many limitations of the Solaris Tape driver which improved the performance of the data transfer from the tape.
    Duration 4 months.
     
    Millennium Tape File System
    Aim To implement a gateway for the high speed printer which takes data input from a magnetic tape of proprietary format and passes it to the printer.
    Environment C++ on Solaris and the NEO Object Framework, Purify, PureCoverage, Rational Rose.
    Design and Concept A new tape file system had be designed. The file system had to support multiple files to be stored in multiple tape volumes. A master directory structure was implemented to store the information of all the files in all the tape volumes. All the files needed to have extensible attributes which were stored as file headers.
    Duration 4 months.
     
    Legacy Tape File System
    Aim To implement a gateway for the high speed printer which takes data input from a legacy tape file system and passes it to the printer.
    Environment C++ on Solaris and the NEO Object Framework, Purify, PureCoverage, Rational Rose.
    Design and Concepts Fully Object Oriented Design. The architecture was based on distributed objects using CORBA. It required the porting of two legacy file systems from DEC/Alpha machines to Solaris. Byte ordering had to be taken care of while the transfer of the tape file data.
    Duration 4 months.
     
    Unix File Printing
    Aim To implement a gateway for the high speed printer which takes data input from the local file system and passes it to the printer.
    Environment C++ on Solaris and the NEO Object Framework, Purify, PureCoverage, Rational Rose.
    Design and Concepts Fully Object Oriented Design. The architecture was based on distributed objects using CORBA. The main printer GUI interacted with this component to show the listing and printing of the local files.
    Duration 3 months.
     
    Dynamic Disk Interface
    Aim To implement a file system to share a SCSI disk between two host computers of different architectures, VMS and UNIX, for efficient data transfer used for high speed printing. The file system was tested on a shared SCSI disk using two SPARC stations. The two machines used a Post Office Protocol to transfer the data to and from the shared disk.
    Environment C++ on Solaris, Motif, Rational Rose.
    Design and Concepts Fully Object oriented design. The File system was implemented by extending the Binary Buddy algorithm for splitting and allocation of file blocks. It was based on the UNIX file system. The hosts behaved as client/server machines. The client/server interface was done in Motif.
    Duration 2 months.
     
    System Administration and Information Tool
    Aim To design a system administraion and information tool for networked machines.
    Environment Java, Swing 0.5 and Solaris system calls.
    Design and Concept The system followed a client/server model with the client frontend and the server implemented in Java. The server used to run on all the machines on a dedicated port. The client frontend queried each machine's server to find out the information and do system administration. The server used  native calls to find out information of the machine and transmit it to the client over the network using a standard protocol. The client frontend used the Swing classes of the Java Foundation Classes to build the user interface. The client used Java threads for better performance of the GUI.
    Duration 4 months.
     
    Development and Integration
    Aim To put together and test various distributed components. Testing and verification of component interactions.
    Environment NEO Object implementation framework, Galaxy GUI, Purify, PureCoverage.
    Design and Concept The testing was going on a 24 hour basis around the world in all the Xerox development centers. The team in Bangalore was responsible for handling end to end testing, narrowing down problems and reporting them to the component developers.
    Duration 2 months.
      1