Pankaj Jangid

33, Vasant Apartment, Mayur Vihar Phase I Extension, New Delhi 110091

+91-9811942047(M), +91-1142156235(R), pankaj.jangid@gmail.com

Summary & Objective

I have 7.5 years of experience in Computer Science Industry. I have experience in research and development in government as well as private, product as well as service oriented companies. I started my career at NCST which is now C-DAC, Mumbai (http://cdacmumbai.in/). Then I worked for SPG Solutions (http://www.spgindia.com/) for a very small period, then switched to HCL Technologies, NOIDA (http://www.hcltechnologies.com/ ) and now working at Cadence Design Systems, NOIDA (http://www.cadence.com/).

    I have worked in variety of domains viz. E-Learning, Information Retrieval, Content Management System, Web Technologies (XML, XSL, CSS etc.), Network Programming (TCP/IP Client-Server), Distributed Database Caching, Compiler Design and Media Streaming (RTSP, RTP etc.).

    I am an open source enthusiast and I learn new patterns and techniques, from the open source, which I often apply in my projects. My objective is to create value for this world, professionally as well as socially.

Education

Degree

Board/University

Institute

Year

Percentage/GPA

MS (Software Systems)

BITS, Pilani

BITS, Pilani

2007

5.67 CGPA

BE (Electrical Engineering)

Rajasthan Agriculture University, Bikaner

College of Technology and Agricultural Engineering, Udaipur

2000

65%

AISSE (XIIth)

CBSE

KV, Khetri Nagar

1995

68.00%

AISSCE (Xth)

CBSE

KV, Khetri Nagar

1993

75.40%

Computer Skills

Languages and Technologies

C, C++, C#, Java, Perl, Bash, Csh, SQL, XML, Javascript, ASP, PHP, JSP, Servlets (other web technologies)

Tools & Compilers

Documentum, Visual Studio, Eclipse, GCC (2.x, 3.x, 4.x), JDK (1.2, 1.3, 1.4, 1.5), lex, yacc, treecc, antlr, CVS, Subversion, Clearcase, autoconf, automake, libtool, MS Project, Oracle, MS SQL, MySQL, PostGreSQL, Sybase, IBM DB2, Tomcat, Apache

Platforms

GNU/Linux, Solaris, HP-UX, AIX, MacOS, Windows 2000/XP/2003, .NET, Java

Concepts

Data Structures & Algorithms, Computer Architecture, Computer Organization, Operating Systems, Programming Languages & Compilers, Theory of Computer Science, Software Engineering, Object Oriented Analysis & Design, Databases, Data Mining, Computer Networks, Web Technologies, Web Security, Agile process - SCRUM.

Work Experience

Cadence Design Systems, NOIDA (September, 2006 - Present)
Maintain a Documentum based Content Management System. This system is used by technical writers to publish help documents and manuals. We also maintain a help viewing system which in integrated with Cadence products.

HCL Technologies, NOIDA (January, 2004 – September, 2006)

Worked in Media Streaming (Darwin Streaming Server), Compilers (FORTRAN) and Distributed Application Server (HTTP, Database Caching & Messaging).

SPG Solutions, New Delhi (March, 2003 – January, 2003)

Worked on an recruitment management web based application which is used by many companies in application service provider model. Worked on Windows 2000 server platform.

National Centre for Software Technology, Bombay (August, 2000 – March, 2003)

Worked in areas of Education Technology and Artificial Intelligence. Used technologies like – Information Retrieval, Case Based Reasoning, Compilers, Web Technologies, Databases etc. mostly on GNU/Linux platform. NCST is now merged with C-DAC and NCST Mumbai is now called CDAC Mumbai. The web site is now changed from http://www.ncst.ernet.in/ to http://www.cdacmumbai.in/ .

Projects

Content Management System

We maintain a content management system based on Documentum. The system is used by technical writers in Cadence to publish Help, User Guides, Manuals of the Cadence tools. The tools is built using C++. The front end that authors use is integrated with Adobe's Framemaker and the data is stored in Oracle through Documentum. We are using Framemaker and Documentum APIs to manage data. The content is topicized and topics are reused to create manuals, user guides.
    The target is to use DITA XML based standard to create and manage topics. We are also in process of converting the existing non structured content into DITA format. For this we have written an applications which converts Frame source to XHTML and then applies transforms to convert it to DITA format. The application is written in Java.

Darwin Media Streaming Server

The work involved modifying the open source media streaming server “Darwin” and writing a Channel Switching Plugin for it. The plugin reflect different live streams and a user will be able to see the streams on his mobile using RTSP client. RTSP is used over TCP and RTP is used over UDP. User can also change channels, as we normally do in TV channels, just by pressing a channel change button in the UI. The server sends the channel guide using HTTP; control signal using RTSP and data using RTP. The project involved C++ programing language and for testing we used perl. The work was done on Linux and Windows.

Fortran 2003 Lexical and Syntax Analyser

This was an HCL initiative. We designed a strategy for writing FORTRAN 2003 compiler Front End (Lexical and Syntax Analyser). Later this strategy was sent as a proposal to an existing client of HCL. The proposal helped HCL fetch a big project from the client. The prototype was developed using Flex, Bison and Treecc along with C++ programming language.

    We used an approach where lexical analyser was partially hand coded and partially generated using Flex. Bison was used to do syntax analysis and to do semantic analysis we used treecc calles in the Bison input files. It was a multi-stage compiler inspired from the Lahey's (http://www.lahey.com/)multi stage compiler.

    I was architect of the compiler Front End prototype. I developed the strategy and a prototype, with the help of one more engineer, to give the proof of concept.

Distributed Database Caching

The product has three parts – visual modelling, code generation and the controller layer (library+server) responsible for Distributed Database Caching. Visual modeling tool is used by users of the product to create ER model and the code generation tool helps them to generate the model code which interacts with the library which is an interface to the local server. Instances running on different machines communicate using TCP based messaging component to update local cache stores. The product is available for native C++, .NET as well as Java users. We created the .NET version of the product (complete life cycle). I was architect of the .NET version. I was also responsible for bug fixing and enhancements of the core C++ as well as Java product interface.

Recruitlive

A recruitment process management system which is used by Recruitlive in Australia. The product runs in Application Service Provider model. Customers are companies which manage people, company and job data. The tool is developed using technologies like ASP, HTML, XML, JavaScript, VB Script and VJ++. MS SQL is used as database backend. I designed object pooling for office automation which improved the efficiency of server application by a significant amount. I also designed phone call related features - dialing and receiving phone calls using tapiex activex control.

Vishwas – Plagiarism Detection System

This is a java source code plagiarism detection system. It was developed using Java and C++. Antlr was used to dump the XML tree of source files. Java was used to develop the GUI and C++ for XML tree comparisons. Developed on GNU/Linux. The system is used to compare assignments submitted by students and a matrix is created depicting percentage similarities between different source codes submitted.

Sandesh – Response Management System

An automated email responding system. The system is used to manage human responses for future use. If a similar query is received again in the system responds automatically by looking into stored responses. We also used various Information Retrieval techniques to create this product. Developed in C++ on GNU/Linux and used concepts like STL, TCP/IP network programming, XML.

Placement System

The system keeps students data (entered by students and generated by system) that can be utilized by companies (or employees) to contact students for employment. An employee can view students' performance in various modules. Developed in JSP, Servlets and Java beans with PostgreSQL as backend database. Tomcat 4.x was used as JSP/Servlet container on GNU/Linux.

Certificate Generation Tool

A tool to generate certificates for students registered for the advanced courses at NCST. Initially developed in C, using flat files as storage. Later on we rewrote the system using JSP and Servlets technology so that we can run it on multiple platforms. PostgreSQL was used as database. The administration people use this system to fill in information about the enrolled students and at the end of the course they can generate the certificates for students who has cleared all the modules of the course.

    The system was developed on GNU/Linux and Tomcat 4.x was used a Servlet container.

Domain Name Registration Tool

This is a web based tool to register domain names online under .in domain. NCST controls the ERNET project and all the registration under .in domain are done in NCST (Now government have given authority to private registrars to register domain names under .in domain). Initially developed using ASP. MS SQL was used as backend database. The system was developed on Windows 2000 Server. The system was later on converted to PHP to enable it to run on multiple platforms.

    Email interface to the system was written in perl. This interface is integrated with the procmail utility of unix to process incoming mails. The perl script parse the incoming mail and check its format. The mail should be in a particular format to be recognized by the script. The script then extracts fields from the mail and submits to the back end (core) system.

Publications & Talks

Asynchronous JavaScript and XML (AJAX)

(Cadence University Session, Cadence Design Systems, NOIDA) This session introduced and explained AJAX. The key components of the session were - (a) standards-based presentation using XHTML and CSS, (b) dynamic display and interaction using the Document Object Model (DOM), (c) data interchange and manipulation using XML and XSLT, (d) asynchronous data retrieval, (e) JavaScript binding everything together, (f) example applications.

.NET Wrapper around a Native Library

(Knowledge Sharing Session, HCL Technologies, NOIDA) Talk on how to port a native C++ library to .NET platform using Managed Extension to C++. Also discussed NUnit testing framework. The talk was prepared when working on a project where we had to provide .NET interface to an existing C++ library. The system already had a Java interface and we used similar concepts and ported the Java code to .NET.

GNU/Hurd

(ACM Meeting, Mumbai) Talk on next generation operating system the GNU/Hurd. This OS has microkernel architecture and have mach microkernel. The talk covers history of the kernel and its benefits to the users and developers. The original slides can be downloaded in zip format at http://www.acm.org/chapters/bombay/slides.html and a PDF version can be found at http://jangid.freeshell.org/writings/hurd/gnuhurd.pdf .

Sandesh - Response Management System

(Vidyakash 2002 International Conference on Online Learning) Presentation on the research paper. The paper published in this international conference proceedings. Sandesh is an automatic query responding system which learns from the manual responses and can reply (without human help) if a similar query is raised again. Details about the system can be read at http://www.cdacmumbai.in/vidyakash/project-sandesh.shtml. This system was developed under a project called Vidyakash (http://www.cdacmumbai.in/vidyakash/home.shtml).

GNU Privacy Guard (GNUPG)

(ACM Newsletter, Mumbai) An article on using GnuPG tool published. GNU Privacy Guard (GNUPG) is a tool for signing and encrypting emails and other documents. Normaly used in association with the mail clients like Mutt, Mozilla Thunderbird, Evolution etc. to sign the mails for identity. It is based on public private key cryptography. The original newsletter article can be read at http://www.acm.org/chapters/bombay/news/archives/200204.html and a little modified article with spelling corrections and corrections can be read at http://jangid.freeshell.org/gnupg.shtml.

Concurrent Versioning System (CVS)

(ACM Meeting, Mumbai) Talk on Software Development using CVS. GNU CVS is an open source tool to manage source code during the development of a software. Using this tool developers can work on differnt releases of a software at the same time. It is similar to the proprietry tools like - Rational Clear Case, BitKeeper, Microsoft Source Safe with some pros and cons against each of them. This talk covers history of its development and how it benefits the users. The original slides can be downloaded in zip format at http://www.acm.org/chapters/bombay/slides.html and an HTML version can be viewed at http://jangid.freeshell.org/cvs.shtml.

Hobbies

Reading, writing, programming, listening music, social networking

References

  1. Ripul H. Gupta, Sr. Member of Technical Staff, Cadence Design Systems, NOIDA, ripul@cadence.com
  2. Tarun Sukhu, Project Manager, HCL Technologies, NOIDA, tsukhu@hcl.in

 




Copyright © 2000-2005 Pankaj Jangid