Kamal R. Prasad

 

Qualifications:-                        B.S (Comp. Science & Engg)

                                    Pune University,India

                                    Course on "Unix kernel implementation" at UC Berkeley

                                    Course on "Bridges and Routers" at UC Santa Cruz (grade B+)

                                    Audited course on "Advanced Compilers' at Indian Inst. of Technology,                                                                               Bombay

                                    IBM course on AIX Kernel Implementation and debugging.

 

 

 01-2004 to date Technical Consultant, TCG Software, Kolkata

I am currently working as a Technical Consultant to TCG Software, Kolkata.

I have worked on one project so far concerning ION Networks. The work involved studying the implementation differences between pSOS and Linux. I had to port the code base from pSOS to Linux and this involved mapping pSOS threads to pthreads, serial driver code to open(), tcsetattr() and other functions supported by the serial driver on linux. I had to devise a mechanism to emulate persistent memory on new hardware by using mmap()/msync().

 

Environment:- pSOS, Linux

 

01-2003 to 12-2003:- Software Architect, IBM Corp,, Bangalore, India

 

I was working as a software architect and my responsibilities included fixing UNIX commands for bugs. It also involved making changes to UNIX utilities to ensure POSIX compliance. It involved providing support to libc for bugs reported by customers. I was also the designer and a implementor for a feature that involved providing thread support for profiling. This involved changes to the kernel to enable thread level collection of statistics for the histogram in sys_timer(). It also involved changes to libc [C Runtime Library].

 

Environment: KDB , AIX, C, CSCOPE

 

04-2002 to 08-2002:- Software Engineer, Hyperchip Inc,, Montreal, Canada

I was working as a unix kernel engineer. My work involved analyzing kernel panics and deadlocks reported by the test team and to fix them. Some of the bugs that I fixed included a panic in UVM, a panic in NFS, a deadlock arising out o a froezen lance network interface (for which I wrote a callout function in case to reset the driver in case of a freeze)

I have also been involved in writing userland applications which include a dns client , porting ftp and ssh client for open/ip.

Envinronment:- NetBSD, GNU CC, Emacs, Embedded controller (running netbsd and vxworks)

 

02-2002 to 04-2002:- Software Engineer, Metabyte Inc, Fremont[CA]:

 

I was

 working at Metabyte Inc as a software engineer. My responsibilitirs include working as a consultant at the following client:

            Redline Networks, Campbell[CA]

The work involves finding bugs in SSL implementation of the web-acceleration device. It involves testing functionality like cookies implementation for load balancing.

I am involved in implementing sysctls for certain kernel parameters (no. of keepalive probes in a tcp session) for the development team.  I am involved in implementing a crypto file system for the product to ensure copy protection. Have knowledge of http/https.

 

Environment:- FreeBSD, GCC, Perl, Emacs and kgdb (kernel debugger)

 

            04-2001 to 01-2002:-Sr. Validation Engineer, Nexsi Corp, San Jose[CA]:

 

            worked as a software validation and test engineer in the Platform servies group. The work involves working with an implementation of NetBSD on MIPS and an        embedded OS.  Work involved  device drivers for flash manager and  Gigabit             Ethernet (GBICs), mac, microcode , cache coherency, TLB miss etc. Work             involved writing scripts to generate race conditions in the kernel by using a cisco-  type CLI. It required use of a            traffic generator (Ixia/Smartbits) to stress the system      and verify functionality under            heavy stress. The work involved testing SNMP            MIBs and Firewall functionality. The            work involves testing High-Availability and             VPN Implementation (with/out High            availability). .

            I have tested the following protocols:- 802.1 (Ethernet II) with vlan tags etc..,             UDP/TCP,OSPF. FTP, HTTP, SMTP, SNMP, IPSec, VRRP

            .I have written in Linux:-

            (a) character device driver (using memory instead of real hw)

            (b) network device driver for loopback interface

            I have also written KLDs on FreeBSD.

            Environment:- NetBSD, Embedded OS, GCC, Perl, GPROF, GDB

 

            05-2000 to 04-2001:- Software Engineer, Nokia Inc., Mountain View[CA]

            Worked in the white box testing team to test new releases of the FreeBSD kernel used in the routers. The work involved testing Gigabit Ethernet device driver. It             also involved testing some layer 3 protocol implementations like IPSec, RIP,             OSPF, BGP etc.Attended a course on "Bridges and routers" on behalf of Nokia Inc. The work involved taking patches (for eg:- the ATM driver) from the             developer and making a custom build of the freebsd kernel and verifying the fix.       Attended a course on           "FreeBSD Kernel Implementation" on behalf of Nokia Inc.       in order to get an understanding of the TCP/IP implementation and the various            data-structures that are        used along with it. Have an understanding of VM and NFS implementation. I was involved in testing a vareity of interfaces like             ATM, X.21, V.35, 10/100 mbps Ethernet at the L2/L3 layer.

            Environment:- FreeBSD, GCC, Perl, Emacs and kgdb (kernel debugger)

           

            08-98 to 04-2000: Software Engineer, Metabyte Inc

            Worked for the following clients as a contractor on behalf of Metabyte Inc.

 

            04-99 to 04-2000:- Lucent Technologies, San Jose [CA]

 

            Worked as a QA engineer in Lucent.  Work involved running some stress tests to            find bugs in the OS. This involved core file analysis, analysis of the kernel in panic           mode. Involved in analyzing kernel source code and writing programs to verify     functionality especially those related to shared memory.implementation.

           

            Environment: HP-Unix, FTX, cc, cscope, kdb, crash

           

            09-98 to 03-99:- Oracle Corp. , Redwood Shores [CA]

 

            Worked as a QA Engineer at Oracle Corp and  job was to assist team to port 64-      bit source code form Solaris onto Silicon Graphics high-end servers. Also involved          in regression testing of RDBMS module of oracle 8.0.5/8.1.4 port from Solaris to        SCO Unix.

            Environment: IRIX, SCO Unix, GCC, shell scripts, GCC, DBX, Shared memory,         IPC

 

            05-97 to 08-98:- Software Engineer , Mindware Pertech Inc., Santa Clara [CA]

 

            Worked at the following clients as a contractor on behalf of Mindware Pertech Inc.

 

            04-98 to 08-98:- 3-COM Corp., Mountain View[CA]

            Worked on a QA project to test HTTP and Mail servers for their saturation and             reliability. Required knowledge of proprietary protocols in Network layer and             Transport layer some of which involved wireless communication. Programming            involved shared memory, threads and socket programming.

            This required understanding of SMTP and HTTP protocol implementation.

            Environment: Solaris 2.4, GNU C Compiler, gdb.

 

            05-97 to 04-98:-, KLA-Tencor, Milpitas[CA]:-

 

            Worked on a wafer inspection project AIT 2.The software was written in Visual             C++ v4.2 .Involved in design and development of sub systems, porting             applications onto Windows NT from DOS, script parsing utilities using bison, flex      etc.

             Environment: Windows NT, Visual C++ v4.0, MFC, WinNT, RPC, IPC, Bison,             Flex

 

            01-96 to 04-97:- Software Engineer, Mindware Pertech Inc.,(India):-

 

            Worked as a software engineer in Mindware Pertech Inc, India in several of their     projects.

 

            01-97 to 04-97: Automatic Test Evaluation Software Project , Bangalore

            Implemented Automatic Test Evaluation Software in Java/HTML and other             Internet related technologies. The aim of this project is to re-engineer software so        that it is accessible across the internet and also to demonstrate the efficiency of         JAVA and HTML over conventional methods of software development. Also used    socket-           programming JAVA to facilitate communication between applet and      application which accesses database on server. Server is a multi-threaded stand- alone Java application.

            This was an in-house project.

            Environment: Solaris, JDK 1.1,JDBC, and HTML 3.2

 

            01-96 to 01-97:- Load management Software, Delhi

 

            Worked on a software for NEC Japan named "Load Management software" that      manages the load on a distributed system and displays the result on a windows         machine. Used threads and socket programming, IPC, Daemons. The work    involved use of           shared memory and heavy use of many unix system calls.

            Environment: HP-Unix, HP C Compiler, IPC, Threads, Shared Memory, Sockets.

 

            08-95 to 12-95:- Accord Systems Pvt. Ltd., Software Engineer, Bangalore

 

             Aircraft Harness Checkout System is used for computerized testing of the             electrical components of the Light Combat Aircraft (LCA) using Hewlett             Packard's programmable instruments. Involved in design and implementation of         GUI in Visual C++ and real time algorithms for interacting with programmable             devices for ensuring optimal and safe behavior of the instruments. Adapted Virtual             Listbox into the software,     which allows for infinite items in a list box.             Environment: Windows 3.1,Visual C++      v1.50, MFC, DBC,VBX

 

 

            04-94 to 08-95: Freelance Consultant-Vakrangee Software

 

            Voter's Identity Card System used to automate the process of developingVoter's     Identity Cards. Involved in developing a module that captures images displayed on            screen using a video blaster card and a module that prints the cards on a laser    printer.            Used the Media Controls Interface(MCI) calls of Windows       Multimedia Extensions for overlay devices to issue instructions to the video blaster   driver .Developed routines to          enhance images and a routine for palette extraction            using the Display Driver.     

            Environment: Windows 3.1, Borland C++ v4.0, OWL 2.0, Adobe Type Manager

 

            11-92 to 04-95: Software Engineer- Indian Institute of Technology, Bombay

            Worked on the following projects in the institute.

 

            07-93 to 04-95: Aircraft Systems Maintenance Simulation System

            Is an authoring tool used to benchmark the technical abilities of airmen involved in      the maintenance of an aircraft. Involved in writing a binary large object animator         (BloB)             which takes as input a script to generate animations and responses.     Involved in developing an aircraft speedometer simulator.

            Environment: SCO Unix, Gnu C/C++ compiler, Bison (Yacc), Flex (Lex)

 

            11-92 to 07-93: Parallel Fortran Compiler Project,Indian Inst. of Technology

 

            Takes a sequential FORTRAN code as input and converts it into parallel             FORTRAN code as output which could be run on INMOS transputers. Involved in         debugging the code that had been written earlier so that the compiler can parse LINPACK benchmark program. Written rules for IO statements typically to             accommodate various          IO formats and made changes to the SDTs and inter-   procedural analysis module.           

            Environment: SunOS4.0, Gnu/ Sparc C compiler, Bison (Yacc), Flex (Lex)