Ph: 650-***-****
*****@**.********.***
http://cs.stanford.edu/~ajaym
Profile Summary
Operating
Systems developer at Microsoft CorporationMS
in Computer Science from StanfordUniversity; systems track,
graduated in June 07.2.5
years of software development experienceExtensive
experience programming in C, C++, Java, Java scriptEnjoy
solving interesting problems and working on new projects and ideas. Academic
and industry experience with Unix, Linux and
Windows environments, distributed systems,
network programming and developing large software systems.
Education
Master
of Science, Computer Science
Stanford University, California,
June 05 - June 07
Specialization:
Systems GPA: 3.8
Coursework: Operating Systems, CS140 Distributed
Systems, CS244B
Databases
System Principles, CS245 Algorithms Design and Analysis,
CS161
Sensor
Network Systems, CS344A Advanced
Topics in Operating Systems, CS240
Computer
Networks, CS244A Advanced
Topics in Compilers, CS243
Continuing
Education Dec 04
Indian Institute of Science,
Bangalore. ( Proficience)
Topic:
Computer Networks and Protocols.
Bachelor
of Engineering June 03
Major: Computer Science and Engineering, GPA:
3.8
Sri Jayachamarajendra College of Engineering, Mysore
Work Experience (with Selected Projects)
Microsoft Corporation, Redmond, WAAug 07 current
Software Development Engineer
Working in the Advanced OS Group
(Cloud Infrastructure Services group) researching and developing the next
generation distributed Operating System
platform (Cloud OS) under Amitabh Srivatsava.
Working in the Fabric
Controller Team
investigating job allocation schemes and service migration issues with Yousef Khalidi.
Computer Science Dept., Stanford, CA (1.5 years) Jan 06 July 07
Research Assistant
Working in multi-agent group under
Prof. Yoav Shoham in
Stanford AI Lab. Projects with Prof. Ronen Brafman,
(and
shortly with Prof. Scott Klemmer), Preferences over
Sets:
designing algorithms to selecting optimal subset from a given set of
objects. ARMP and ButterflyNet: designs for adaptive choices through constrained
optimizations and learning.
Microsoft Corporation, Redmond, WAJune 06 Sep 06
Software Development Engineer Intern
Worked as an intern in the
Connected Systems Division (Windows Connected Framework, Indigo)WCFClient : Navigate web services that expose WSDLs and invoke operations dynamically on them.WCFImport : Provide a way to download and import metadata
of a web-service and generate and
compile
the code and configuration associated with this service.
PI
Corporation, Bangalore(http://www.picorp.com)(1.5
years)June '04 Dec 05
Software
Design Engineer
Offered to be a part of the then 6
member startup that is building a next generation
software that will allow
users to create, store, repurpose, share
and access personal information in novel ways. As a developer
in the Application and App Framework
team, helped build the team along with its initial prototypes and frameworks. Search Feature: was responsible for designing,
developing and owning the search tool of PI app.
AJAX implementation for IE/Gecko, Incremental Search Framework
Canned
Queries (named query) f/w, Basic
query text grammar & parsing framework.Auto-Complete/Auto-Suggest
Framework:
General js+xquery library to be used to support
a xquery fn: routines : implementing the basic routines in the xquery engine of PIFile Import : framework to import and
store files on PI platform
Talisma Corporation, Bangalore(http://www.talisma.com)(1 year)July '03 June '04
Software
Development Engineer
Selected from
campus, worked as Software Developer in the Tech Team and the Platforms Team.Cache Management : session independent caching
framework for Talisma metadata cachingWisteron Framework : tool to harness idle computing power for running
configurable jobs by adminSQL/Oracle Porting : investigated and prototyped porting the sproc and xproc heavy
database layer
of Talisma, from MS SQL, to Oracle.
Academic Projects
IRouter: A TCP/IP Router and
TCP. Feb 07
The router
is a fully functional Internet router in that routes real traffic. (user process using
Stanford Virtual Network System). Handles ARP
request/replies, ARP caches, provides timeout
guarantees
and IP routing. Implementation includes a TCP layer with sliding windows and goback-N.
DRFS: Distributed Replicated File system Spr 06
DRFS
implements user level client and server prototypes for a distributed file
system in which the
files
are replicated. The purpose was to explore a service specific protocol, relying
on transactions for
reliable
delivery rather than conventional transport techniques.
APoxy: A Web Proxy Jan 07
A
multithreaded http1.X supporting web proxy that passes requests and data
between a web client and
a web
server, serving cached pages to multiple clients.
MazeWar: Distributed Game Spr 06
Mazewar
is a distributed, multiplayer game that allows each player to control a rat in
a maze and is
based
on the X Window System version of Mazewar
Pintos Operating System.Aut 05
An operating
system framework for the 80x86 architecture that implements support for
kernel threads,
loading
and running of user programs, virtual memory and a file system.
Integrated
Smart Home, Jun 03
Advisor: Dr. CN Ravikumar, Prof.
and Chair, Dept. of Computer Science, SJCE
(Technology
transferred to SEED, Software Technology Park of India, SJCE-STEP (SoftwareTechnology
EntrepreneurPark)
for further development and manufacturing.
File
Sharing Application on Peer to Peer Networks Jun '02
Project was
selected and awarded a prize for the finals of Impetus 2002, a Software
Design Contest,
conducted
by IEEE, UVCE (Univ. of Visveswariah College of
Engineering) Chapter.
Implementation
of NAPT(NetworkAddressPort
Translator) Dec '02
A
Linux2.4.2 acted as the NAT box and completely hid a 10-node IPv4 LAN from the
Internet.
Other projects as a part of course
work included a Full Screen Text Editor [Jun 01], an Inventory Management
System for an automobile industry
[Jun 02], a Web based Message Board using CGI [Dec 02], Game of
Snooker on JAVA[Dec
02], a Basic Window Management Package for Browsers [Oct 05], Discovery and
reliable transport implementation for
Wireless Sensor Devices [Jun 06]
Research Work
TINX: A
Tiny Index Design for Flash Memory on Wireless Sensor Devices. Working
with Prof. Philip
Levis,
we are exploring sophisticated data structures and algorithms that work around
the constraints
and
limitations of flash memory to provide an efficient indexing mechanism to allow
value based
and time based range queries.
MStore: As
in-network and local node processing becomes viable, sensor memory is more
relevant.
We are investigating storage hierarchies and
abstractions experimenting with various flash memory chips.
Preferences over
Sets: With
Prof. Ronen Brafman,
investigating value function based approach to
selecting an optimal subset from a given set of objects. In
particular, how compiled TCP-nets can be
used to handle this problem against preference-based
constrained optimization.
ARMP and ButterflyNet: Working as a Research Assistant with Prof. Ronen Brafman and Prof Scott
Klemmer on Adaptive choices through constrained optimizations and
learning.
Publications/Research Papers
Peer
Reviewed: TINX: A Tiny Index Design for Flash Memory on
Wireless Sensor Devices, in the proceedings of the
4th ACM Conference on Embedded Networked
Sensor Systems (SenSys, 2006)
MStore: Enabling
Storage-Centric Sensornet Research,
Submitted to Information Processing in Sensor
Networks (IPSN), Sensor Platforms Tools and Design Methods, (SPOTS,
2007)
Computing
Optimal Subsets, in the
proceedings of the 22nd conference on Artificial
Intelligence,
Technical paper. (AAAI, 2007)
Layered Virtual Binary Search Trees for Efficient
Information Access Over Self Organizing De-centralized
Peer to Peer Networks, Published in proceedings of IEEE 'Cyberia'
2003, National Level Technical
Symposium, (Networking and Communication section, April 2003)
Other: Directions in
Parallel and Concurrent Programming, technical report, Advanced Compiling
Techniques, 2007.
Projects
from the den
Other code that came from coffee
and geekness fuelled late nights include three games (pong, pool and
tic-tac-toe), an active-x web
search interface for outlook, a text2html
converter, five to six flash codelets,
a Karaoke style Lyrics Reader, a console based mp3 player using mpg123
affectionately called jax,
ppt to text import
using KDE code, an mp3 ID3 parser to
parse our ID3 tags and a couple of Mozilla
FirefoxExtensions.
Scholarships
and Awards
Scholarships: NTSE (National Talent Search Examination)
NLSTSE (National Level Science Talent Search Examination), Ranked 180th
Scholarship cum Merit Certificate under National Scholarship Scheme,
CBSE Examination
Software: First prize, Paper Presentation Contest, 'Papyrus', 'Cyberia', IEEE, SJCE Chap.
'Byte Might' (1st), 'Cyberia', IEEE, SJCE Chapter
'Impetus' (2nd), IEEE, UVCE chapter, Bangalore
C your design' (3rd) 'NIECEFEST', ECE Association, NIE
'Vicious Web' (2nd) 'Infotsav', MCA
Association, SJCE
'E-Quotient' (2nd) at 'NIECEFEST', ECE Association, NIE
Academic: Certificate of Merit, Central Board Of
Secondary Education
Placed among
top 0.1 percent of Successful candidates of AISSE
Certificate of Credit, Achievement and Distinction, University
of New South Wales, Australia