/* I am now an engineer with Sun Microsystems, Inc. */ KURIAKOSE KURUVILLA kuri at cs dot jhu dot edu Department of Computer Science Johns Hopkins University 3400 N Charles St Baltimore MD 21218 OBJECTIVE A position as software engineer after December 2006. EDUCATION o Johns Hopkins University, Baltimore, MD M. S. E. Computer Science; expected December 2006 o University of Kerala, India B. Tech. Computer Science & Engineering; 1998 SKILLS o C, SPARCv9 assembly, UNIX shell scripts, html o crash, dbx, gdb, cscope, lcrash, clearcase o Solaris, Linux, Windows, DYNIX/ptx Publications o Porting a Large Application to 64-bit UNIX; B. Mohapatra, S. Nair, A. Patil, A. Narasimhan and Kuriakose Kuruvilla; Wipro TechForum 1999 GRADUATE COURSEWORK Fall 2006 (current) Natural Language Processing, Independent Study on Recommendation Systems Spring 2006 Advanced Topics in Wireless Networks, Computer Graphics, Sensor Networks, Declarative Methods Fall 2005 Computer Vision, Microkernel Architecture, Internet Protocols, Algorithms EXPERIENCE Senior Software Engineer Wipro Technologies November 1998 - August 2005 All my activities here were carried out for prominent U. S. technology companies. o SCSI tape drive emulator January 2005 - August 2005 Improved stability of the SCSI driver in a Linux tape drive emulator for storage virtualization software. My task initially involved extensive code reviews to improve stability and implementation of the identified fixes. Many of these issues involved use of multithreaded code for multi-processors. I later took on additional role of module lead and was responsible for the work of up to eight other engineers. This product is currently under development. o Operating system kernel October 2002 - December 2004 Maintained the base kernel, the commands and the basic libraries for a flavor of UNIX for a line of Intel x86-based multiprocessor systems. I was responsible for handling escalations and had to provide code-fixes, workarounds, and root-cause-analyses for defects. Routine tasks included building kernels, package installations, analyses of kernel dumps using lcrash. This product is currently deployed at several international locations. November 1998 - September 2002 The following work was carried out on a parallel database engine, the core of a data warehousing solution currently deployed at several locations worldwide: o Performance Optimization Implemented hotspot functions in a database engine as SPARCv9 inline assembly templates. I also reviewed code for optimized move functions and inline assembly templates for atomic arithmetic operations. I assisted in the evaluation of the optimization level used for compiling the database engine. o Emulation of Intel FPU on SPARC Maintained the emulation of the Intel floating-point unit stack on the SPARC platform. This was required as the database engine assumed the presence of the FPU. o Instruction Scheduler for SPARCv9 Implemented helper functions for the prototype of a just-in-time instruction scheduler to be used in optimizing query performance on a database engine. Reviewed code and evaluated the performance of the optimized, scheduled code targeted for the SPARCv9 processor. o Arithmetic operations for synthetic 128-bit integer data type Developed functions for 128-bit arithmetic operations used in the database engine. I started out with extensive reviews of the SPARCv9 assembly code and went on to complete and test the 7000+ lines of code. I also documented the proofs involved in the various optimizations. o Tools to port from 32-bit to 64-bit Developed static code analysis (e.g. points-to analysis) tools to identify code with portability issues when moving to 64-bit on UltraSPARC/Solaris. We used these tools to port 2 million lines of code of the database engine initially running on 32-bit UltraSPARC/Solaris, 32-bit Intel x86/WindowsNT and 32-bit Intel x86 MP-RAS. The resultant code formed the basis for a later port to the 64-bit Itanium/HP-UX platform. I made extensive use of shell scripts. I was co-inventor on the associated patent application. R&D Intern, Bloomberg L.P. June 2006 - August 2006 I worked on tools to manage data on Market Indices, for example, to display changes in index members, to determine inconsistencies between databases sharing related information, etc. This work involved C on UNIX and proprietary database and screen design software and also a bit of FORTRAN. Webmaster Center for Summer Learning; Johns Hopkins University December 2005 - May 2006 I maintained the Center's website: www.summerlearning.org.