NUTAN SINGH, Email- ******@*****.***, *** Birchview Drive, Piscataway, NJ Ph: 609-***-****
Work Status:
F-1 post-completion OPT (valid till November 2011).
Summary:
Having Seven years of experience in Java, C/C++, Linux Technologies and, methodology processes,
software analysis, design, development in various domains including Applications development, Systems
Softwares(GNU C compilers, Fortran compilers and Ada compilers), telecommunications(VoIP),
embedded systems, web development.
• Worked on Android Platform in Samsung Telecommunication America.
• Worked in Core Networking with Motorola.
• Experience in programming with multiple threads, processes, sockets at application level.
Experience in Performance analysis of various application modules.
•
• Well versed in all stages of SDLC – gathering and analyzing the requirements, converting the
specifications into functional and technical design documents, coding and testing
• Experience in designing use cases and sequence diagrams.
Extensive experience with Systems Software development such as Compilers (GNU C compilers,
•
FORTRAN compilers and Ada compilers) and Operating Systems.
• Experience in build and debugging tools like Makefile, Batch-file, gdb, ddd.
• Extensive experience in using CGI Perl, HTML and Java Swing package for UI and web
development.
• Experience in using SQLite, Oracle 9i/10g, SQL Server 2000 and MySQL databases and Familiar
with Stored procedures, Triggers and Functions using PL/SQL
• Experience in analysis, design and development of a variety of game strategies such as A*
algorithm, genetic algorithm, simulated annealing, gradient descent, min-max search, tabu
search etc.
• Experience in programming TCP/IP concepts (IPv6) at kernel level, Sockets at application level.
• Development experience in various platforms like Windows (XP, NT, 2000, 98, 95), Linux (ubuntu,
suse, redhat),
• Exceptional ability to quickly grasp and master new concepts and technologies. Adapt easily to new
environment. Work effectively with diverse groups of people either as a team member or individually
Education :
New York University, New York, NY MS in Computer Science May 2009 Grade: 3.70/4.00
Courses: Fundamental Algorithms, Operating Systems, Programming Languages, Open Source Programming,
Heuristic Problem Solving, Distributed Systems, Applied Cryptography and Network Security, Unix Tools,
Foundations of Machine Learning, Foundations of Finance
National Institute of Technology (Formerly Regional Engineering College), Calicut, India B.Tech (BS) in
Computer Science and Engineering Aug 2002 First class (73.45%)
Technical Skills:
Operating Systems: Windows NT/2000/XP, Sun Solaris, UNIX, Linux, RT Linux, Android
Databases: Oracle, PostgresSQL, MySQL, MS Access
Languages & APIs: Core Java, C, C++, JDBC, Ada, Java Swing, Perl, Scheme, Assembly
Tools: Excel, LEX, YACC, GNU Tool chain, GDB, JTAG, HDI (Hitachi Debugger Interface), Hprof, DDMS
and HTML
Scripting Languages: UNIX shell programming, Perl, AWK, SED, CGI Perl
Networking: TCP/IP Protocol Stack, Socket programming, WINCAP, IS41
Additional: GCC source code, Assembly Instructions Used (8085, 8051, H8, SH, AMD
64-bit), Embedded Systems, Kernel internals, System V IPC.
Academic Experience:
• Implementing and optimizing iterators in Ada 2005 with professor Edmond Schonberg, who is also the
vice president of Ada Core Technologies.
• Built a wikipedia like site (proving most of the features like history, diffs, search, edit etc.) using Perl.
• Remote Caching in Distributed File Systems (Memcache) ( C++ )
. Designed and developed a scalable and efficient Distributed file system based on
FUSE on UNIX.
. Developed a generic remote caching solution to improve the performance of
Distributed systems.
• Wrote an AI program to learn and detect file extension type with the help of headers (corrupt or non-corrupt)
and file contents.
• Built a Dating Game (learning and optimizing score for a candidate to provide a better date) interface using
JAVA swing applet.
• Implemented Ipv6 protocol which included routines for Ipv6 header handling, end-to-end fragmentation and
reassemble, and routines to receive and send data to and fro the IP layer-device driver, using C on Linux.
• Implemented a compiler for a "C" kind of high level language to an assembly language, having definite
set of instructions.
• Implemented non-deterministic and deterministic finite state automation ( NFA, DFA).
Professional Experience:
Samsung Telecom America, US (Jun’2009 – Till Date)
Consultant
Samsung’s Lab is dedicated to research and bring out stable android based devices with attractive
features/applications. The framework and applications are being developed for Samsung’s new android
devices, to be launched soon. It also exploits Horizontal Services to achieve maximum integration between
different applications. Horizontal Services is a system which unifies data sources with an engine and provides
Android Content Providers for Email, VVM, IM, SNS, Contacts, Calendar, Backup/Restore.
Responsibilities:
• Installing android setup and implementing, debugging on that
• Involved in designing and developing various content providers
• Lead for Visual Voice Mail application and its integration with Call Log, Contact History, Dialer,
Launcher and other apps.
• Designed the architecture and developed the backend and frontend of Visual Voice Mail application.
• Developed and managed certain features in the Active-Sync email.
• Developed Active-Sync core module
• Developed JUnit tests for various functionalities.
• Continuously interacted with customer (Verizon).
Technologies: Core Java, Linux, Android
Stern School of Business, NYU (Jan’2008 – May’2009)
Programming Research Assistant
“Data Extractor Tool” is a software which reads and parses a huge excel file, creates different tables in oracle
database, executes queries from those tables according to user labeled options and generates DL and VNA files to be
used by network tools.
Responsibilities:
• Designed the architecture
• Implemented the entire software using JAVA multithreading and JDBC api
• Tested with various data sets
• Developed in Java, “Balancing Exploration and Exploitation through Structural Design” and other projects.
Technologies: Core Java, Oracle
Courant, NYU (May’2008 – Aug’2008)
To provide a plug-in for git in eclipse we developed JAVA library for git. JavaGit is a Java API that provides access to
git repositories. Our goal is to provide a library with an easy-to-use API that is intuitive for developers new to git and
developers who are veteran git users. Detail of the project can be found at http://javagit.sourceforge.net/.
Responsibilities:
• Designed the architecture
• Implemented various git commands’ APIs in Java
• Integrated the APIs with eclipse plug-in UI module.
• Reviewed the code and developed JUnit test cases for various APIs.
• Explored about licensing issues
Technologies: Core Java, Linux
Motorola, Bangalore, India (Jul’2005 – Jun’2007)
Senior Software Engineer
Push-To-Talk over Cellular (PoC) is a wireless feature that allows your subscribers to make direct,
simultaneous radio voice connection over any packet data network. They can make private calls or call an
entire pre-defined group…locally, or nationally. And all they have to do is “push to talk”. Motorola Push-to-
talk uses proprietary SIP based protocol for signaling and RTP/RTCP for voice. PoC is based on Motorola
Soft Switch and is deployed in several (over 30) countries across the world. The product was pioneered by an
Indian company called Winphoria Networks which was acquired by Motorola in 2003. PoC also supports
OMA standards and IC-PoC standards.
Responsibilities:
• Designed, developed and managed 4 features in PoC (Push to talk over Cellular) server.
Call blocking feature in PoC server; Feature to autoprovision PoC subscribers; OMA online charging;
Feature to deactivate an MPTT (Motorola Push to Talk) client.
• Created and maintained “Technical Requirement Document”, “Feature Analysis Document” and
“Unit Test” document for above mentioned features.
• Carried out bug fixes for these and several other features.
• Resolved support issues from the field.
• Carried out periodic installation and update of the PoC switch, which required setting environment,
updating the database, starting the tomcat server, Provisioning and starting the switch.
Technologies: C++, Linux, PostgreSQL server, Tomcat, OAMP, Makefile.
HCL Technologies, Noida, India (Feb’2004 – Jul’2005)
Member of Technical Staff
Prefetch tuning in GCC compiler, for AMD64 Target: GCC is a key component of the GNU tool-chain. By
specifying the architecture, the compiler can generate instructions for the particular target as well as enable
other optimizations available only to that target. This project was about identifying gaps with respect to
AMD’s recommendations and subsequently analyzing and identifying various opportunities to generate
different prefetch related instructions, with respect to target; to get the most optimized result.
Responsibilities:
• Understood GCC’s instruction generation mechanism.
• Worked out some sample C codes to generate appropriate prefetch related instructions such as
PREFETCHT0 (for lower temporal locality), PREFETCHT1 (for higher temporal locality), and
PREFETCHNTA (for non-temporal accesses).
• Identified gaps with respect to AMD’s recommendations.
• Subsequently analyzed and identified various opportunities to generate different prefetch related
instructions, with respect to target; to get the most optimized result.
• Tested with spec benchmark CPU200. Have attained a significant gain in speed. The patch is
available at http://gcc.gnu.org/ml/gcc-patches/2004-08/msg01419.html.
Technologies: C, GNU, Linux.
Fortran SX Compiler: FORTRAN90/SX is a FORTRAN compiler developed to enable large-scale scientific
computations through FORTRAN programs on the NEC SX series of supercomputer. In addition, numerous
highly advanced functions, advanced optimization, automatic vectorization and parallelization features to take
full advantage of the SX Series, are provided. FORTRAN90/SX compiler conforms to the JIS Fortran
standard (JIS X3001-1994). The language is informally referred to as Fortran90. The compiler is written in C.
Responsibilities:
• Implemented support for FORTRAN2003 features/constructs “Interoperability with C”, “Argument
Passing by Value” in the compiler front end.
• Been involved in maintaining and optimizing the compiler. This involves optimizing the current
compiler front end by applying various sorts of optimizations like inline expansion, fusion of loops,
work array reductions.
• Worked to automate the generation of test plan and test suite generation. Automatic test suite
generator is a specialized script that generates the FORTRAN test cases.
Technologies: FORTRAN, C, Linux, SX compiler, NEC supercomputers.
KPIT Cummins Infosystems Ltd., Pune, India (Jul’2003 – Feb’2004)
Systems Executive
Building GNU tool chain for Hitachi microcontrollers: This project included building tool chain based on
freely available source code, working for compiler optimization in order to make development of complex
and embedded applications for Renesas targets, providing all kind of technical support related to compiler,
assembler, linker, GDB and some of Renesas’s tools (HEW and HDI) to the end user
Responsibilities:
• Built tool chain and debugger
• Provided all kind of technical support related to compiler, assembler, linker, GDB and some of
Renesas’s tools(HEW and HDI) to the end user; Fixed bugs in GNU assembler.
• Fixed bugs in compiler and assembler
• Carried out a few optimization in GCC Compiler for SH and H8 targets
• Conducted reviews
• Tested the tool chains and installers
Technologies: C, Linux, Windows 2000, Cygwin, Makefile, Batchfile, HEW (Hi-Performance embedded
workshop), HDI (Hitachi’s Debugging Interface), GDB.
LVS Technologies Pvt. Ltd, Bangalore, India (Aug’2002 – Jul’2003)
Software Engineer
Embedded Ethernet interface involves the interfacing between a microcontroller and LAN connected devices
using Ethernet controller CS8900a. This interface can be used to send any messages like alert signals etc from
8051 microcontroller to any individual workstations. The 8051 receive signals from devices like UPS such as
the backup time left.. Depending upon the tasks performed by different workstations, messages are generated
in the microcontroller individually. The Ethernet controller CS8900a will perform packet transmission etc.
This interface can be extended to other applications like temperature monitoring and controlling etc.
Responsibilities:
• Designed the Physical layer components such as Ethernet controller CS8900A and 8051 micro-
controller hardware.
• Designed and implemented the program to be downloaded to the programmable microcontroller
• Designed and implemented the logic to communicate microcontroller and the Ethernet controller
• Wrote socket programs
• Tested the system with simple LED application
Technologies: Embedded C, 8051 Assembly, Linux, Windows 2000, Sockets
Kerberos protocol for network security: The Kerberos protocol is designed to provide reliable authentication
over open and insecure networks where communications between the hosts belonging to it may be
intercepted.
Responsibilities:
• Implemented communication between Authentication Server, Ticket Granting Server and Application
Server
• Implemented DES encryption/decryption algorithm to encrypt/decrypt tickets
• Tested it for a LAN arrangement
Researches:
• Quantum Search Algorithm for Unstructured Search Problem and its Applications
• New Register Allocator in GCC with respect to AMD architecture
Activities:
• Presented program in ALL INDIA RADIO
• Senior executive of Hindi Cultural Association
• System Administrator in campus computer labs
• Active member of Cultural group “Connextions” at HCL technologies, Noida. Organized treasure Hunt,
Dramatics, Group dance. Participated in plays and group dance.
Awards/Accolades:
• I stood among top 2% in IIT JEE (Joint Entrance Examination) conducted for admission to the IITs,
the premier institutes of engineering and technology in India, in the year 1998.
• Was ranked 36th among about 50 thousands applicants on a state level examination in Bihar, India.