Rob Pike

dblp:p/RobPike · also Robert C. Pike, Robert Pike 0001 · DBLP profile ↗
← Back
11ranked-venue papers
7as first author
0since 2021 · last 2006
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 4 · 3 first-authorGraphics, computer vision, multimedia, augmented reality and games · 3 · 2 first-authorSystems, architecture and hardware · 2 · 2 first-authorHuman-computer interaction and ubiquitous computing · 2 · 1 first-authorSecurity and privacy · 1Databases, data management, data science and information retrieval · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Databases, data mining, and information retrieval
1 paper
Information retrieval · 50% Distributed and cloud data management · 25% Data mining · 25%
Software engineering, system software, and programming languages
6 papers
Operating systems · 96% Programming languages and type systems · 4%
Network and information security
1 paper
Systems and software security · 100%

Topics — the 10 heaviest of 13, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Data mining
large-scale data analytics
0.112006
Data management projects at Google · SIGMOD Conference 2006
Information retrieval
search engines
0.112006
Data management projects at Google · SIGMOD Conference 2006
Information retrieval › search engines
structured data search
0.112006
Data management projects at Google · SIGMOD Conference 2006
Systems and software security
operating system security
0.012002
Security in Plan 9 · USENIX Security Symposium 2002
Operating systems › resource management › storage management
file systems
0.022000
Lexical File Names in Plan 9, or, Getting Dot-Dot Right · USENIX ATC, General Track 2000
Plumbing and Other Utilities · USENIX ATC, General Track 2000
Operating systems › distributed systems
distributed operating system
0.012002
Security in Plan 9 · USENIX Security Symposium 2002
Programming languages and type systems
concurrent programming languages
0.011985
Squeak: a language for communicating with mice · SIGGRAPH 1985
Rendering
rasterization
0.011983
Graphics in Overlapping Bitmap Layers · ACM Trans. Graph. 1983
User interface design and tools › user interface architecture
window management
0.011983
Graphics in Overlapping Bitmap Layers · ACM Trans. Graph. 1983
Interaction techniques and input
cross-device interaction
0.011985
Squeak: a language for communicating with mice · SIGGRAPH 1985

Methods — techniques the papers use, named apart from their topics

capability-based security · 0.1bitblt extension · 0.0formal semantics · 0.0compilation to c · 0.0
YearPublicationVenuePosition
2006 Data management projects at Google
abstract
This session describes three data management projects at Google. BigTable is a highly scalable system for distributed storage and querying of structured data. Sawzall is a system for large-scale analysis of data sets that have a flat but regular structure. Finally, GoogleBase is a system for storing and searching structured data contributed by external parties.
Wilson C. Hsieh, Jayant Madhavan, Rob Pike
SIGMOD Conference3
2002 Security in Plan 9
Russ Cox, Eric Grosse, Rob Pike, David L. Presotto, Sean Quinlan
USENIX Security Symposium3
2001 Protium, an Infrastructure for Partitioned Applications
abstract
Remote access feels different from local access. The major issues are consistency (machines vary in GUIs, applications, and devices) and responsiveness (the user must wait for network and server delays), Protium attacks these by partitioning programs into local viewers that connect to remote services using application-specific protocols. Partitioning allows viewers to be customized to adapt to local features and limitations. Services are responsible for maintaining long-term state. Viewers manage the user interface and use state to reduce communication between viewer and service, reducing latency whenever possible. System infrastructure sits between the viewer and service, supporting replication, consistency, session management, and multiple simultaneous viewers. The prototype system includes an editor, a draw program, a PDF viewer, a map database, a music jukebox, and windowing system support. It runs on servers, workstations, PCs, and PDAs under Plan 9, Linux, and Windows; services and viewers have been written in C, Java, and Concurrent ML.
Cliff Young, Yagati N. Lakshman, Tom Szymanski, John H. Reppy, David L. Presotto, Rob Pike, Girija J. Narlikar, Sape J. Mullender, Eric Grosse
HotOS6
2000 Lexical File Names in Plan 9, or, Getting Dot-Dot Right
Rob Pike
USENIX ATC, General Track1
2000 Plumbing and Other Utilities
Rob Pike
USENIX ATC, General Track1
1990 The Implementation of Newsqueak
abstract
Abstract The implementation of the concurrent applicative language Newsqueak has several unusual features. The interpreter, squint, uses a copy‐on‐write scheme to manage storage honouring Newsqueak's strictly applicative (by‐value) semantics for data. There is no explicit scheduler. Instead, the execution of processes is interleaved very finely, but randomly, by an efficient scheme that integrates process switching into the interpreter's main loop. The implementation of select, the non‐deterministic, multi‐way communications operator, exploits details in the implementation of processes. This paper describes much of the interpreter but explains only small aspects of the language. Further detail about the language may be found in the References.
Rob Pike
Softw. Pract. Exp.1
1987 The Text Editor sam
abstract
Abstract Sam is an interactive multi‐file text editor intended for bitmap displays. A textual command language supplements the mouse‐driven, cut‐and‐paste interface to make complex or repetitive editing tasks easy to specify. The language is characterized by the composition of regular expressions to describe the structure of the text being modified. The treatment of files as a database, with changes logged as atomic transactions, guides the implementation and makes a general ‘undo’ mechanism straightforward. Sam is implemented as two processes connected by a low‐bandwidth stream, one process handling the display and the other the editing algorithms. Therefore it can run with the display process in a bitmap terminal and the editor on a local host, with both processes on a bitmap‐equipped host, or with the display process in the terminal and the editor in a remote host. By suppressing the display process, it can even run without a bitmap terminal.
Rob Pike
Softw. Pract. Exp.1
1985 Squeak: a language for communicating with mice
abstract
Graphical user interfaces are difficult to implement because of the essential concurrency among multiple interaction devices, such as mice, buttons, and keyboards. Squeak is a user interface implementation language that exploits this concurrency rather than hiding it, helping the programmer to express interactions using multiple devices. We present the motivation, design and semantics of squeak. The language is based on concurrent programming constructs but can be compiled into a conventional sequential language; our implementation generates C code. We discuss how squeak programs can be integrated into a graphics system written in a conventional language to implement large but regular user interfaces, and close with a description of the formal semantics.
Luca Cardelli, Rob Pike
SIGGRAPH2
1985 Hardware/Software Trade-offs for Bitmap Graphics on the Blit
abstract
Abstract The Blit is an experimental bitmap graphics terminal built for research into interactive computer graphics on the UNIX time‐sharing system. The hardware is inexpensive and the graphics functions are implemented entirely in software. Nevertheless, the graphics performance of the Blit is comparable or superior to some displays with special‐purpose graphics hardware. This paper explains the paradox by referring to some principles of design: the hardware and software should be designed together to complement each other; carefully designed software can outperform infelicitous hardware; and simplicity of design leads to efficiency of execution. These principles are illustrated by examples from the Blit hardware and software and comparisons with other systems.
Rob Pike, Bart N. Locanthi, John Reiser
Softw. Pract. Exp.1
1983 Graphics in overlapping bitmap layers
abstract
One of the common uses of bitmap terminals is storing multiple programming contexts in multiple, possibly overlapping, areas of the screen called windows. Windows traditionally store the visible state of a programming environment, such as an editor or debugger, while the user works with some other program. This model of interaction is attractive for one-process systems, but to make full use of a multiprogramming environment, windows must be asynchronously updated, even when partially or wholly obscured by other windows. For example, a long compilation may run in one window, displaying messages as appropriate, while the user edits a file in another window.
Rob Pike
SIGGRAPH1
1983 Graphics in Overlapping Bitmap Layers
abstract
Bitmap LayersOne of the common uses of bitmap terminals is storing multiple programming contexts in multiple, possibly overlapping, areas of the screen called windows.Windows traditionally store the visible state of a programming environment, such as an editor or debugger, while the user works with some other program.This model of interaction is attractive for one-process systems, but to make full use of a multiprogramming environment, windows must be asynchronously updated, even when partially or wholly obscured by other windows.For example, a long compilation may run in one window, displaying messages as appropriate, while the user edits a file in another window.This paper describes a set of low-level graphics primitives to manipulate overlapping asynchronous windows, called layers, on a bitmap display terminal.Unlike previous window software, these primitives extend the domain of the general bitmap operator bitblt to include bitmaps that are partially or wholly obscured.
Rob Pike
ACM Trans. Graph.1