Curriculum Vitae
Soren Lassen
233 Bartlett Street, San Francisco, CA 94110
Phone: 415.821.3228 (home), 415.317.8750 (cell)
Gmail: sorenlassen
URL: http://soren.blassen.dk
Work Experience
11/2004 - present
Software Engineer at Google Inc., Mountain View, CA.
7/2003 - 10/2004
Senior Member of Technical Staff at
Riverbed Technology, San Francisco, CA.
Riverbed is a networking product company that
develops software and network acceleration appliances that fuse
compression, caching, and protocol transaction prediction
technologies.
-
Designed and implemented data compression, caching, storage, indexing,
and hashing algorithms and data structures and network protocols in
C++. Improved algorithms and protocols for robustness and data
integrity. Increased data compression and throughput performance.
-
Technical lead for the compression, storage, and event system
infrastructure software.
-
Designed and led the implementation of cross-cutting architectural
improvements to optimize data buffering and optimize end-to-end
operation latencies over low-bandwidth WAN connections. This work
included changes to the Linux kernel TCP stack to fine-tune
application software control over TCP socket buffers.
-
Contributor to the hardware design and hardware evaluation
for the appliance platforms.
-
Ported all userspace software from x86 to AMD64
to support large amounts of main memory.
-
Key contributor to the design, implementation, and testing of the
company's initial Steelhead product release in May 2004.
The Steelhead product became a runaway success, was awarded
Best WAN Accelerator in 2005, 2006 and 2007 by InfoWorld,
attracted 2000 customers within 3 years from launch,
and led to the succesful company IPO in 09/2006
and subsequent stellar stock price performance.
12/1999 - 7/2003
Lead Architect and Senior Researcher at
Digital Fountain, Fremont, CA.
Digital Fountain is a networking technology
and product company, providing fast, predictable and scalable data
delivery solutions based on proprietary forward error correction (FEC)
codes.
-
Invented, mathematically analyzed, and implemented Digital Fountain's
latest-generation state-of-the-art scalable FEC algorithms with
provably low error probability and computational complexity. The
implementation is cross-platform and optimized for systems ranging
from multi-processor servers to handheld and embedded devices. The
resulting software libraries are in production use today, both
internally and at the company's largest licensing partners.
-
Designed the architecture of FEC encoding and decoding engines across
Digital Fountain's server appliances and client software. These
multi-threaded engines are C++, C, and Java programs employing
scalable networking and disk I/O.
-
Constructed FEC-based network protocols for both streaming media and
static content delivery across both multicast and unicast IP
networks. These protocols have solved numerous problems on the
cutting-edge of IP networks, ranging from the reliable, on-demand
delivery of streaming media to literally millions of concurrent users
to the high-throughput, reliable point-to-point and
point-to-multipoint delivery of very large files over lossy,
high-latency unicast networks.
-
Collaborated closely with many distinguished scientists, including
colleagues CTO Mike Luby and Chief Scientist Professor Amin
Shokrollahi, and affiliated scientists Professor Richard Karp,
Professor Avi Wigderson, and IBM Researcher Hugo Krawczyk.
-
Authored and co-authored patent applications about FEC codes, server
and client system architecture, media distribution, and data
transports.
1/1998 - 12/1999
Research Associate at
University of Cambridge Computer Laboratory, UK.
Worked on the UK EPSRC research project "An Operational Theory of
Objects" in collaboration with Professor Andrew Pitts and Senior
Microsoft Researcher Andrew Gordon.
-
Developed programming language theories and proof methods for a wide
range of object oriented, imperative, functional, and
non-deterministic programming concepts, based on operational
semantics.
-
Contributed to a new underlying calculus for the Action
Semantics framework for semantic descriptions of programming
languages.
-
Collaborated and co-authored research papers with many
academic and Microsoft researchers. The work was presented at
programming language theory and software engineering conferences and
published in international journals.
1991 - 1999
Teaching Assistant at the Computer
Science and Mathematics departments at University of Aarhus, Denmark,
and University of Cambridge Computer Laboratory, UK.
-
Taught and supervised students on numerous undergraduate and
graduate mathematics and computer science courses.
1988 - 1989
Software engineer at
Purup Electronics, Aarhus, Denmark.
Purup Electronics was an industry leader in systems for
design and high-precision printing of graphics and images for the
pre-press industry.
-
Developed graphical design software for graphical
workstations used in the prepress industry. Architected and developed
a solution for graphical security design (bank notes, legal documents,
etc) in Fortran and 68000 assembly.
1986 - 1987
Military service, Jutland Transportation Regiment, Denmark.
Education
- Ph.D., Computer Science, University of Aarhus, Denmark, 1998.
- M.S., Computer Science, University of Aarhus, 1995.
- B.S., Computer Science & Mathematics & Classical Studies,
University of Aarhus, 1993.
Publications
Thesis
-
Relational Reasoning about Functions and Nondeterminism.
Department of Computer Science, University of Aarhus.
BRICS Dissertation Series DS-98-2, 1998.
Journal papers and book chapters
-
Gavin Horn, Per Knudsgaard, Soren Lassen, Michael Luby, and
Jens Eilstrup Rasmussen.
A Scalable and Reliable Paradigm for Media on Demand,
in IEEE Computer 34(9): 40-45, 2001.
-
Andrew Gordon, Paul Hankin, and Soren Lassen.
Implementation and Equivalence of Imperative Objects,
in Journal of Functional Programming 9(4): 373-427, 1999.
-
Soren Lassen. Relational Reasoning about Contexts,
in Higher Order Operational Techniques in Semantics.
Cambridge University Press 1998.
-
Soren Lassen.
Action Semantics Reasoning about Functional Programs,
in Mathematical Structures in Computer Science 7(5): 557-589, 1997.
Refereed conference papers
-
Soren Lassen and Paul Blain Levy.
"Typed Normal Form Bisimulation".
16th EACSL Annual Conference on Computer Science and Logic, CSL 07.
(Lausanne, Switzerland, September 11-15, 2007.)
Lecture Notes in Computer Science, Volume 4646, pages 283-297. Springer 2007.
-
Kristian Støvring and Soren Lassen.
"A complete, co-inductive syntactic theory of sequential control and state".
34th Annual ACM SIGPLAN Symposium on
Principles of Programming Languages, POPL 2007.
(Nice, France, January 17-19, 2007.)
ACM SIGPLAN Notices 42(1): 161-172, 2007.
-
Soren B. Lassen.
"Head normal form bisimulation for pairs and the λμ-calculus
(Extended Abstract)".
21st Annual IEEE Symposium On Logic In Computer Science, LICS 2006.
(Seattle, USA, August 12-15, 2006.) IEEE press 2006, pages 297-306.
-
Soren Lassen.
"Eager Normal Form Bisimulation".
20th Annual IEEE Symposium On Logic In Computer Science, LICS 2005.
(Chicago, USA, June 26-29, 2005.) IEEE press 2005, pages 345-354.
-
Soren Lassen.
"Normal Form Simulation for McCarthy's amb".
21st Annual Conference on
Mathematical Foundations of Programming Semantics, MFPS XXI.
(Birmingham, UK, May 18-21, 2005.)
Electronic Notes in Theoretical Computer Science, Volume 155, pages 445-465.
Elsevier 2006.
-
Andrew Moran, Soren Lassen, and Simon Peyton Jones.
"Imprecise Exceptions, Co-Inductively".
3rd International Workshop on Higher Order Operational Techniques in Semantics,
HOOTS '99.
(Paris, France, September 30 - October 1, 1999.)
Electronic Notes in Theoretical Computer Science, Volume 26, pages 122-141.
Elsevier 1999.
-
Soren Lassen and Andrew Moran.
"Unique Fixed Point Induction for McCarthy's Amb".
Mathematical Foundations of Computer Science 1999,
24th International Symposium, MFCS '99.
(Szklarska Poreba, Poland, September 6-10, 1999.)
Lecture Notes in Computer Science, Volume 1672, pages 198-208. Springer 1999.
-
Soren Lassen:
"Bisimulation in untyped lambda calculus: Boehm trees and bisimulation
up to context".
15th Conference on the Mathematical Foundations of Programming Semantics,
MFPS XV.
(Tulane University, New Orleans, LA, April 28 - May 1, 1999.)
Electronic Notes in Theoretical Computer Science, Volume 20, pages 346-374.
Elsevier 1999.
-
Andrew Gordon, Paul Hankin, Soren Lassen:
"Compilation and Equivalence of Imperative Objects".
Foundations of Software Technology and Theoretical Computer Science,
17th Conference.
(Kharagpur, India, December 18-20, 1997.)
Lecture Notes in Computer Science, Volume 1346, pages 74-87. Springer 1997.
Other conference papers
-
Soren Lassen, Peter Mosses, and David Watt.
"Introduction to AN-2: The Proposed New Version of Action Notation".
3rd International Workshop on Action Semantics, AS 2000.
(Centre for Informatics, UFPE, Recife, Brazil, May 15-16, 2000.)
BRICS Notes Series NS-00-6, pages 19-36.
-
Soren Lassen. "An Algebra of Actions".
2nd International Workshop on Action Semantics, AS '99.
(Amsterdam, The Netherlands, 21 March 1999.)
BRICS Notes Series NS-99-3, pages 89-109.
-
Soren Lassen and Corin Pitcher.
"Similarity and Bisimilarity for Countable Non-Determinism
and Higher-Order Functions".
2nd Workshop on Higher Order Operational Techniques in Semantics.
(Center for the Study of Language and Information, Stanford University, USA.
December 8-11, 1997.)
Electronic Notes in Theoretical Computer Science, Volume 10. Elsevier 1997.
-
Soren Lassen.
"Design and Semantics of Action Notation".
1st International Workshop on Action Semantics, AS '94.
(University of Edinburgh, Scotland, April 14, 1994.)
BRICS Notes Series NS-94-1, pages 16-33.
Invited talks
-
"Trees and bisimulation for the pure lambda-calculus".
3rd International Workshop on Higher Order Operational Techniques in Semantics,
HOOTS '99.
Paris, France.
September 30 and October 1, 1999.
Some other talks
-
"Divergence-Least Semantics Of amb Is Hoare",
with Paul Blain Levy and Prakash Panangaden.
Short presentation at
3rd APPSEM II Workshop (APPSEM05).
Frauenchiemsee, Germany.
September 12-15, 2005.
-
"Bisimulation up to Context for Sequential Higher-Order Languages".
The Semantic Challenge of Object-Oriented Programming, Dagstuhl Seminar 98261.
Schloss Dagstuhl, Wadern, Germany.
June 28 - July 3, 1998.
-
"Operational Reasoning in Action Semantics".
Workshop on Higher Order Operational Techniques in Semantics.
Isaac Newton Institute for Mathematical Sciences, University of Cambridge, UK.
October 28-30, 1995.
-
"Action Theory".
Workshop Logic, Domains, and Programming Languages.
Fachbereich Mathematik, Technische Hochschule Darmstadt, Germany.
May 25-27, 1994.
Patents and patent applications
- Amin Shokrollahi, Soren Lassen, and Richard Karp.
Systems and processes for decoding chain reaction codes through inactivation.
US Patent 6,856,263, February 15, 2005.
US Patent 7,030,785, April 18, 2006.
US Patent 7,265,688, September 4, 2007.
- Jens Rasmussen, Amin Shokrollahi, Soren Lassen, Gavin Horn, Vivek Goyal,
Barry Dobyns, and Michael Luby.
Systems and method for reliably communicating the content of a live data
stream.
US Patent 7,249,291, July 24, 2007.
- Gavin Horn, Michael Luby, Jens Rasmussen, Per Knudsgaard, and Soren Lassen.
Methods and apparatus for scheduling, serving, receiving media-on-demand
for clients, servers arranged according to constraints on resources.
US Patent 7,240,358, July 3, 2007.
- Soren Lassen, Gavin Horn, Jeffrey Persch, Armin Haken, and Michael Luby.
Scheduling of multiple files for serving on a server.
US Patent 7,072,971, July 4, 2006.
- Amin Shokrollahi, Soren Lassen, and Michael Luby.
Multi-stage code generator and decoder for communication systems.
US Patent 7,068,729, June 27, 2006.
- David Tze-Si Wu, Soren Lassen, Kartik Subbana, Nitin Gupta, and Vivasvat Keswani.
Automatic framing selection.
International Patent Application PCT/US2006/029181, July 26, 2006.
- Michael Luby, Matt Doucleff, Avi Wigderson, and Soren Lassen.
FEC-based reliability control protocols.
US Patent Application 20050226272, October 13, 2005.
- Amin Shokrollahi and Soren Lassen.
Systems and processes for fast encoding of Hamming codes.
US Patent Application 20050010847, January 13, 2005.
Awards
- Danish Science Foundation Scholarship, 1995.
- University of Aarhus Research Foundation Grant, 1993.
Professional activities
- Paper reviewer for SIGCOMM and many programming language conferences
and journals, including Annals of Pure and Applied Logic,
Information and Computation, Theoretical Computer Science,
Higher-Order and Symbolic Computation,
POPL, LICS, ICFP, ESOP, CAAP, MFCS, SOS, HLCL, and HOOTS.
- Member of IEEE, IEEE Computer Society, ACM, and ACM SIGPLAN.
Other
Interests include politics, history, literature, and languages,
both ancient and modern.
I live in San Francisco with my wife and two children, age 10 and 12,
and two cats.