Recruiters, please note. I am presently not looking for a job and will appreciate not being contacted. Thanks.

Sriram Srinivasan

2940 Florence St., Berkeley, CA-94705
(510) 704-8743 (R), sriram@malhar.net

Skills

Technical

  Architect and developer (since 1991) of several large software systems, some that have changed company fortunes.

Expert in idioms such as large-scale distributed systems, application generation, OO, relational databases, transactions, compiler design, networking and literate programming.

Well versed in Java, C/C++, Perl, Python, Ruby, Assembler, Lisp, TCL, Pascal, PL/M, Erlang, Mathematica), and experienced in programming tools (perl, yacc, antlr etc.), multimedia tools (Illustrator, Flash MX, Photoshop)

Authored several open source tools including Kilim (an actor framework for Java) and Jeeves (a configurable application generator).

Writing

  Advanced Perl Programming (O'Reilly and Associates), an O'Reilly bestseller and top-50 Amazon book at one time.

Teaching

  Instructor at the UC Berkeley Extension  since 1993, and at various companies. Frequent speaker at conferences such as JavaOne, BEA eWorld, etc. Topics have included mathematics of PK cryptography, performance of distributed components, Perl, data communications, software design in the real world, programming languages, and many more. Tutored courses (logic and proof) at the University of Cambridge

Experience

Oct '05 - Oct '08

Cambridge University

PhD Student


Investigating language-oriented solutions for building reliable concurrent and distributed systems. Enterprise middleware frameworks and applications are extraordinarily bug prone, partly because programmers don't have easy, higher-order abstractions for dealing with security and system failure and partly due to the fact that most relevant research is unapproachable for the average programmer.
Developed Kilim, a fast message passing actor framework. A google tech talk is here.

May '05 - Oct '05

Sensys Networks

Consultant


Designed and delivered an end-to-end secure messaging scheme involving wireless sensors, access points and application servers. Power consumption is key, so typical PK crypto schemes don't apply.

Jan '02 - April '05 

Self Employed

Professional Learner

  • Taking time off from the rat race, mostly
  • Technical consultant to numerous startups
  • Working on a book: "From automata theory to parsing: a guide for the working programmer"
  • Delivered a series of lectures on topics such as the Mathematics of PK cryptography, Parser generators, Software Engineering in Practice etc. at IIIT, Hyderabad.
  • Helping out with ANTLR v3.0 and organizing the ANTLR workshop

May '97 - Oct '01

BEA/WebLogic, San Francisco, CA

Principal Engineer

  • As a principal engineer of the popular BEA/WebLogic server, had a hand in the design or implementation of a number of subsystems.
  • Designed and developed the world's first and complete Enterprise JavaBeans implementation, and a JTA/XA compliant distributed transactions service for this server.
  • Represented BEA on the EJB, JTA and JDO expert groups responsible for driving those aspects of the J2EE standard.

Dec '89 - Dec '96

TCSI, Berkeley, CA

Principal Systems Engineer

  • One of the lead designers and developers of a CORBA-compliant ORB, specifically responsible for the distributed transaction and concurrency services. Spearheaded an ease-of-use initiative; rewrote most of the documentation and tutorials. . 
  • Embedded TCL into TCSI's application server framework and made all services scriptable. This changed the product direction in a fundamental way.
  • "Network and Schedule Planner" - Designed a planning system for Federal Express to help long-range planners define an optimal network of routes, sorting capacities, and aircraft and truck inventory. This involved a rethinking of the planning process itself, in addition to designing the software. .
  • "Product Movement Planner": A logistics planning system actively used by schedule planners at Federal Express to develop a world-wide truck and flight schedule, to ensure that freight is shipped from any point in the world to any other location optimally, within the time allotted. Helped define the project requirements, developed an object-oriented functional specification and was the lead architect and implementer. Some salient features of this project were: 
    • 2500 flights/day to be scheduled in such a way that goods get time to go through sorting and customs, and move through the least expensive paths available. 
    • Distributed, client/server application with C++, Motif, Solaris, Ingres.
    • One of five nominees for the 1992 ComputerWorld-Smithsonian award for the best transportation software. 
  • Designed and coordinated the implementation of an application message protocol for United Parcel Service, to enable 50,000+ PCs to connect and access services from UPS mainframes. 
  • "Delivery Confirmation and Imaging System" (DCIS) - A nationwide proof-of-delivery system for UPS, that handles 70,000 customer requests per day. The system supports 2000 users in 70 sites, incorporates low-cost image scanning, and generates custom, image-based response letters. Was lead designer and implementer. (DOS/Novell LAN, C)
  • "TimeView 2000": A Network Management System to manage the T-1 equipment produced by Timeplex Inc.. (Unix/, X Windows, C and CFlavors (a lisp Flavors-like package developed in-house). 

Jan `87- Dec `89

Tata Unisys Ltd, Bombay, India

Software Engineer

  • Developed a network simulator to emulate a large network of Timeplex's T-1 equipment. The system was used wherever it was impossible to put the actual equipment together in order to test other subsystems, such as the TimeView network management system (above). (C-Talk/Windows)
  • PROCON, a protocol converter that enables Alitalia's IBM host to communicate with "SITA" (a network through which member airlines communicate with each other). The conversion was between P1024B (a stop and wait protocol) and P1024 Type B (a sliding window protocol). Customized a line monitor to graphically display the messages being exchanged. (PL/M, Pascal, BTOS)
  • Contributed to design and development of a networked cluster of terminal emulators for an `Airline Link Control' environment (ALC). (BTOS, PL/M, Pascal, 286 assembler)

The other 24 hours

My own projects

Software Engineer

  • Kilim: An Actor Framwork for Java
  • Jeeves, a configurable code  generator
  • yappy: LR(k) parser generator in Python
  • lava: Java Compiler (under construction)
  • IP/ARP/RARP stack for a PC
  • A terminate and stay resident ram-disk for the PC.
  • Past judge, International Obfuscated C Code Contest

Patents

  • US Patent 7231422. System and method for transaction processing with delegated commit feature.
  • US Patent 7213049. System and method for transaction processing with transaction property.
  • US Patent 7228326. Systems and methods for application deployment.
  • US Patent 7260819. System and method for software application scoping.

Education

  • M.S, Industrial Engineering, 1987, National Institute for Training in Industrial Engg, Bombay, India 
  • B.Tech, Mechanical Engineering, 1985, Institute of Technology, BHU, Varanasi, India 

Miscellaneous

  • Interested in Indian classical music, cooking, charcoal drawing, bicycling, traveling, reading (history, mathematics, science) and the social effects of computers. 
  • I love teaching.
  • US Citizen