Cover photo
Rob Pike


Rob Pike

Shared publicly  - 
(Public post)

I probably shouldn't worry about this as much as I do. +Rob Pike
Sondre Naustdal's profile photoTom Limoncelli's profile photo

Rob Pike

Shared publicly  - 
While searching my archives for a very very old document, I found a very old document, a "Research Statement" from 2002, written as part of the hellish requirements of searching for a job.

Here's an excerpt that seems as relevant today as it was a decade ago when I wrote it:

"Through my research since the early 1980s I have become a firm believer in the power of concurrent programming for the writing of system software. Modern systems run in a world that includes networks, multiple input and output streams, graphical devices, and user interfaces, and that world is well modeled as a set of independently executing, communicating processes. The best way to connect to that model is by expressing the control software the same way. Hoare's CSP was a good starting point for this way of thinking; I have worked (along with many others) at applying Hoare's ideas to systems programming. But too much of the public discussion of concurrency focuses on the precise definition of processes and threads, when the critical aspect is how those processes communicate. Get the communication model right and problems of synchronization, deadlock, and even overall design become not only tractable but easy. Approached properly, concurrency is not a problem to be overcome, but rather a clean and productive approach to the writing of software."
Linus Sphinx's profile photoAaron Wood's profile photoDave Taht's profile photoGregg Wonderly's profile photo
+Jesús Gómez
+Rob Pike Right. Maybe he can write one. :)
Add a comment...

Rob Pike

Shared publicly  - 
Comments on the original.
How to make user-level profiling work on a Mac. Comments here appear on the blog post.
Marwan Burelle's profile photoCraig Lennox's profile photo

Rob Pike

Shared publicly  - 
Comments on the original.
The internals of Google's pprof CPU Profiler (for C++ and Go). Comments here appear on the blog post.
Janarthanam Ramalingam's profile photoMarwan Burelle's profile photo

Rob Pike

Shared publicly  - 
Prepping for the Google I/O sessions about Go this afternoon. +Andrew Gerrand 
Nigel Tao's profile photoWiniex Nie's profile photoGabriel Pozo's profile photocaasi Huang's profile photo
Is GO sort of like plan9 is to UNIX except it actually has a chance of achieving its missions statement?
Add a comment...

Rob Pike

Shared publicly  - 
"Thanks for the security system!"

"This is my new roommate Cleo with her nemesis the gopher, aka the most useful thing anyone has ever given me. Cleo likes to chew everything, especially shoes and the contents of my nightstand, but for some reason she's terrified of the gopher.  So now the gopher lives in the nightstand, standing guard."
Jeff Aigner's profile photoYuheng Kuang's profile photo

Rob Pike

Shared publicly  - 
Stumbled on this Go code I wrote ages ago. It's an interesting use of the String method. (To see it in action, visit

// tab indents itself when printed.
type tab int

func (t tab) String() string {
  n := int(t)
  if n > len(tabs) {
    n = len(tabs)
  return tabs[0:n]
Ralph Corderoy's profile photoHenry Heikkinen's profile photoKishore Balakrishnan's profile photoRamon Hernandez's profile photo
That's pretty clever. Maybe a little too clever.
Add a comment...

Rob Pike

Shared publicly  - 
10th anniversary today:

A few years ago I was asked by the Discovery Channel show, "Dr. G: Medical Examiner", if they could use the X-rays on their show. The internet is for sharing.
Rob Pike's profile photoAndrew Page's profile photoBill Thiede's profile photoRamon Hernandez's profile photo
Thanks for sharing. I use a Road ID as well since getting my bike in 2011. I hope you are doing well.
Add a comment...

Rob Pike

Shared publicly  - 
Today at #io13  join the #golang  gophers at office hours at the Coud Sandbox at 1pm and 3:30pm.

There are four Go sessions:

High Performance Apps with Go on App Engine

Advanced Go Concurrency Patterns

A Fireside Chat with the Go team, that will be streamed live!
(You can ask us questions via Google Moderator:

And there's some Go content in "All the Ships in the World":

See you there!
Yasutaka Kawamoto's profile photo
Add a comment...
Basic Information