This biographical article is written like a résumé .(May 2021) |
Mark | |
---|---|
Nationality | American |
Other names | Mark S. Miller, Mark Samuel Miller, MarkM |
Education | BS in computer science from Yale in 1980; PhD Johns Hopkins 2006 |
Alma mater | Johns Hopkins |
Known for | E (programming language), Object Capabilities, CAJA |
Scientific career | |
Fields | Computer Science |
Institutions | Agoric Xerox PARC Hewlett-Packard Labs |
Thesis | Robust Composition: Towards a Unified Approach to Access Control and Concurrency Control (2006) |
Doctoral advisor | Jonathan Shapiro |
Website | http://erights.org |
Mark S. Miller is an American computer scientist. He is known for his work as one of the participants in the 1979 hypertext project known as Project Xanadu; for inventing Miller columns; and the open-source coordinator of the E programming language. He also designed the Caja compiler. Miller is a Senior Research Fellow at the Foresight Institute. [1]
Miller earned a BS in computer science from Yale in 1980 and published his Johns Hopkins PhD thesis in 2006. [2] He is currently Chief Scientist at Agoric [3] and a member of the ECMAScript (JavaScript) committee. [4] Previous positions include Chief Architect with the Virus-Safe Computing Initiative at HP Labs, [5] and research scientist at Google between 2007 and 2017. [6]
Miller's research has focused on language design for secure open systems. At Xerox PARC, he worked on Concurrent Logic Programming systems and Agoric Open Systems. At Sun Labs, [7] (while working for Agorics, an earlier company with a similar name to his current employer) he led the development of WebMart, a framework for buying and selling computing resources (network bandwidth, [8] access to a printer, images, CD jukebox etc.) across the network. At HP Labs he was the architect for the Virus Safe Computing project. While at Google he developed Caja, an environment for secure execution of JavaScript. He has also written articles on complex adaptive systems [9] and risk mitigation strategies for future technologies. [10]
Miller has been pursuing a stated goal of enabling cooperation between untrusting partners. [11] Miller sees this as a fundamental feature required to power economic interactions, and the main piece that has been missing in the toolkit available to software developers. Miller has returned to this issue repeatedly since the Agoric Open Systems Papers from 1988.
Miller's most prominent contributions have been in the area of programming language design, most notably, the E Language, which demonstrated language-based secure distributed computing. The work inspired several adaptations to other programming paradigms. He was also instrumental on the ECMAScript standards committee (TC39) in providing the foundations for development of Secure EcmaScript (SES), a standards track evolution that will make full capability programming available in JavaScript. [12]
Miller's work has been written up in Wired [13] which described his work as the inspiration for database researcher Michael Stonebraker's Mariposa, developed at Berkeley.
JavaScript, often abbreviated as JS, is a programming language and core technology of the Web, alongside HTML and CSS. 99% of websites use JavaScript on the client side for webpage behavior.
Single instruction, multiple data (SIMD) is a type of parallel processing in Flynn's taxonomy. SIMD can be internal and it can be directly accessible through an instruction set architecture (ISA), but it should not be confused with an ISA. SIMD describes computers with multiple processing elements that perform the same operation on multiple data points simultaneously.
ECMAScript is a standard for scripting languages, including JavaScript, JScript, and ActionScript. It is best known as a JavaScript standard intended to ensure the interoperability of web pages across different web browsers. It is standardized by Ecma International in the document ECMA-262.
JScript is Microsoft's legacy dialect of the ECMAScript standard that is used in Microsoft's Internet Explorer web browser and HTML Applications, and as a standalone Windows scripting language.
Guy Lewis Steele Jr. is an American computer scientist who has played an important role in designing and documenting several computer programming languages and technical standards.
Joule is a capability-secure massively-concurrent dataflow programming language, designed for building distributed applications. It is so concurrent that the order of statements within a block is irrelevant to the operation of the block. Statements are executed whenever possible, based on their inputs. Everything in Joule happens by sending messages. There is no control flow. Instead, the programmer describes the flow of data, making it a dataflow programming language.
Ecma International is a nonprofit standards organization for information and communication systems. It acquired its current name in 1994, when the European Computer Manufacturers Association (ECMA) changed its name to reflect the organization's global reach and activities. As a consequence, the name is no longer considered an acronym and no longer uses full capitalization.
E is an object-oriented programming language for secure distributed computing, created by Mark S. Miller, Dan Bornstein, Douglas Crockford, Chip Morningstar and others at Electric Communities in 1997. E is mainly descended from the concurrent language Joule and from Original-E, a set of extensions to Java for secure distributed programming. E combines message-based computation with Java-like syntax. A concurrency model based on event loops and promises ensures that deadlock can never occur.
JSON is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of name–value pairs and arrays. It is a commonly used data format with diverse uses in electronic data interchange, including that of web applications with servers.
In computer science, future, promise, delay, and deferred refer to constructs used for synchronizing program execution in some concurrent programming languages. They describe an object that acts as a proxy for a result that is initially unknown, usually because the computation of its value is not yet complete.
Chip Morningstar is an American software architect, mainly for online entertainment and communication.
The object-capability model is a computer security model. A capability describes a transferable right to perform one operations on a given object. It can be obtained by the following combination:
Douglas Crockford is an American computer programmer who is involved in the development of the JavaScript language. He specified the data format JSON, and has developed various JavaScript related tools such as the static code analyzer JSLint and minifier JSMin. He wrote the book JavaScript: The Good Parts, published in 2008, followed by How JavaScript Works in 2018. He was a senior JavaScript architect at PayPal until 2019, and is also a writer and speaker on JavaScript, JSON, and related web technologies.
Caja was a Google project for sanitizing third party HTML, CSS and JavaScript. On January 31, 2021, Google archived the project due to known vulnerabilities and lack of maintenance to keep up with the latest web security research, recommending instead the Closure toolkit.
Carl Eddie Hewitt was an American computer scientist who designed the Planner programming language for automated planning and the actor model of concurrent computation, which have been influential in the development of logic, functional and object-oriented programming. Planner was the first programming language based on procedural plans invoked using pattern-directed invocation from assertions and goals. The actor model influenced the development of the Scheme programming language, the π-calculus, and served as an inspiration for several other programming languages.
CommonJS is a project to standardize the module ecosystem for JavaScript outside of web browsers.
ECMAScript is a JavaScript standard developed by Ecma International. Since 2015, major versions have been published every June.
{{cite web}}
: CS1 maint: numeric names: authors list (link)