|
Sriram Srinivasan
2940 Florence St., Berkeley,
CA-94705
(510) 704-8743 (R), sriram@malhar.net
Skills
Technical
|
|
Architect
and developer (since 1987) 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
|
|
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
|
|
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
|
|
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
|