4107, 145th AVE NE,

Bellevue, WA 98007

Ajay Mani Martin

Ph: 650 796 2172

ajaym@cs.stanford.edu

http://cs.stanford.edu/~ajaym



Profile Summary

 

  • Operating Systems developer at Microsoft Corporation
  • MS in Computer Science from Stanford University; systems track, graduated in June 07.
  • 2.5 years of software development experience
  • Extensive experience programming in C, C++, Java, Java script
  • Enjoy 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, WA Aug 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, WA June 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 PI
  • File 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 caching
  • Wisteron Framework : tool to harness idle computing power for running configurable jobs by admin
  • SQL/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 (Software Technology

Entrepreneur Park) 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(Network Address Port 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

Firefox Extensions.

 

 

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

 

 

Responsibilities, Activities

 

Recruiting team for Stanford and Berkley, Microsoft (07 - )

Working group member, tinyos-storage (07 - )

Member, tinyos-devel, (06 - )

Executive Member, IEEE and Computer Society of India, SJCE Chapter (99-03)

Placement Secretary, Coordinator, Placement cell, SJCE Placement Office (02-03)

Executive Editor, Esperanza College Magazine, Graffiti, newsletter of Jayciana (01-03)

Web Designer, Independent Consultant, Vortexi Pvt Ltd ('02)

 

 

Computer Skill Set

 

Languages : C, C++, C#, JAVA, JScript (DHTML+ AJAX), XQuery, SQL, Shell, Perl, GTK, Visual Basic, XUL,

PHP, Python, NesC.

Software : MS-SQL Server, Oracle, Apache, msdev, Visual Studio .Net, Eclipse, JXTA, CVS, VSS

OS : Linux, Unix, Solaris, Windows NT

 

 

 

References available as required. Updated April 11, 2007