top | item 4691680

UsesThis: Rob Pike

411 points| mace | 13 years ago |rob.pike.usesthis.com | reply

184 comments

order
[+] nnq|13 years ago|reply
The whole "everything in the cloud", "let someone else worry about storage" view, at least the way he promotes them, are more like VCS than let's say Git (or pick another DVCS)... you have a conceptual "central" point of failure, even if this "point" is a network of servers distributed around the world.

I want STORAGE ON EVERY DEVICE (not volatile!), and and automatic system to sync it with all my other devices, WITHOUT NEEDING THE CLOUD, just set up and ad-hoc mesh network and sync everyth (yeah, there's gonna be smth like "merges" for OS settings and music collection changes but I can do with that). The "cloud" should be just infrastructure, nothing else added, and I shouldn't be distrupted when my connection to it fails... "Always connected"? No, no, no, I'll always want to be able to work offline and be able to sync/merge/push/pull even my OS, its settings and software (and be able to "branch" my and keep multiple versions of software and all that).

DVCS should be the models for how to do everything in the cloud, with simpler interfaces for different level of user needs/competency.

Rob Pike's ideal of "homogeneity" in computing really misses the distinction between distributed and central syncing, the security and reliability implications etc. ...and large local storage capacity and "enough" computing power on all devices is needed for this. I'd rather be "part of the mesh" than "connected to the cloud mesh", because I think the distinctions are important and they require different things from "client devices" (all devices should be "clients"! no servers "in the cloud" for me please!)

[+] icebraining|13 years ago|reply
Frankly, I can't understand how can you criticize Pike for that. That's exactly what he wants:

  When I was on Plan 9, everything was connected and uniform. Now
  everything isn't connected, just connected to the cloud, which
  isn't the same thing.
By the way, try Joey Hess' git-annex, now with the assistant. It's just that: a sync and merge system for all your files, which can automatically sync up just about anything (computers, USB drives, cloud services, etc) and doesn't rely on central services (the Assistant will use XMPP to broadcast messages between clients, and then they connect directly to each other).

http://www.kickstarter.com/projects/joeyh/git-annex-assistan...

[+] ericmoritz|13 years ago|reply
This basically describes my use of Dropbox. Anything important to me that's not code is stored in Dropbox. Every computer I have dropbox on and which has 100GB free, has a copy of those files so if Dropbox vanished, I still have a replicated copy of my files on one of my machines.

I never have to backup those files because they're replicated to any running machine with Dropbox installed. One of those machines has my dropbox share on a Drobo, so I'd need a catastrophic failure of my Drobo disks, Dropbox and my laptop in order to lose those files.

[+] TazeTSchnitzel|13 years ago|reply
Well, I don't know about you, but many of my files are on my website, and my website is tracked by Git (on my PC, on my server, and on GitHub).
[+] justincormack|13 years ago|reply
That is the CouchDB model. It is very appealing...
[+] pkorzeniewski|13 years ago|reply
I agree, for me cloud is just another backup storage, as it surely isn't - and never will be - fully reliable. Sure, it's convenient that you can access your data from any device, anywhere, but the price of not having direct control over your data and relying on internet connection to access it disqualifies cloud as "one and only" storage for me.
[+] Shorel|13 years ago|reply
The hard thing about his vision, is safety.

Carrying the cellphone means two things: The state data is available with you (it's not in the cloud) and the actual hardware is your authentication token for the things that are in the cloud.

In his vision he talks about having state and everything in the cloud, login in from any terminal and doing his job.

He would go to a coffee/Internet shop and do all his personal banking there. It should be obvious at this point the problems that could arise from such setup.

The terminal could be compromised (key loggers, etc), and no authentication tokens have been defined. Even retina scanners are more troublesome than having a cellphone as the auth token.

So his vision is nice, in an ideal society where no one cheats, ever.

In the real world it is dangerously unsafe.

> DVCS should be the models for how to do everything in the cloud, with simpler interfaces for different level of user needs/competency.

I still dream about a Git GUI that works as a distributed Dropbox (for some specially enabled repos, not for all of them).

[+] epaga|13 years ago|reply
Slight critique here - I feel like he's using this to push an agenda rather than just telling us in detail what tools and software he uses to get his job done. He mentions a few things but in far less detail than anyone else I've read on usesthis. Instead he gives paragraph after paragraph of "world view" about moving things to the cloud...interesting, yes, but not what I'm after when I read usesthis posts... :-/
[+] andrewflnr|13 years ago|reply
I can't get behind the idea of every computer I interact with being a dumb terminal. I don't want to assume I'll always have a connection to the mother machine. Even in some ideal world where I always have a high speed connection that never fails, can you guarantee that the server itself won't go down? Not really.

I would like to see a nice balance: I basically work locally, and anything I do is synced ASAP to "the cloud" and thence to other devices (and other people). But if I'm in the hills or the server goes down, hey, I still have a perfectly good computer in my pocket.

[+] AngryParsley|13 years ago|reply
I agree. In addition to the concerns you brought up, I see other issues with Pike's proposal. If computers are infrastructure, I'm forced to deal with whatever computers others have. This is a problem, because most people don't use computers as much as me and aren't willing to spend as much on them. I'd rather carry a maxed-out 11" Air everywhere than put up with my friends' and relatives' computers. (In fact, I do this.)

Pike doesn't address security either. Would you log into Gmail on a public computer? Would you enter your credit card info or visit your bank's website? I sure wouldn't. Phones from 20 years ago didn't have any storage or computational abilities, so these security concerns didn't exist for them.

While I'm a huge fan of cloud-based storage and synchronization, there are just too many issues with using untrusted computers everywhere I go. Maybe it was due to the interview format, but I'm surprised such an intelligent, technical thinker managed to avoid discussing the downsides of his proposal.

[+] jff|13 years ago|reply
"...can you guarantee that the server itself won't go down?" No, but neither can I guarantee that the hard drive in that Macbook you've been abusing for the last 3 years won't suddenly fail and wipe out your work.

One nice compromise that I'm sure Pike has used is to have your "dumb terminal" be a laptop with Plan 9 installed. When you boot a Plan 9 terminal, you can tell it to get the root from the network or from the local disk. If you select one, though, it's quite easy to also make the other available, and sync your data back and forth.

[+] oconnore|13 years ago|reply
You missed the part where he qualifies almost every statement about getting rid of the local disk with, "except for caching". This implies that he's not talking about a dumb terminal.

If your device has frequent (not necessarily constant) internet access this is essentially the same thing as having many regular computers, since your cache can allow you to work offline just like normal. Like git, you would just work on the local "cache", and then sync with other devices when you need to switch or regain internet access.

[+] agwa|13 years ago|reply
AT&T did a very good job making the phone system widely available and phone equipment very, very reliable. I'm sure they would have done the same for the Internet, given the chance.

Obviously things didn't work out that way, and now it's actually more reliable to carry around expensive and rather-easily-breakable computers with you. It's kind of surprising if you think about just how fragile a laptop is.

[+] buro9|13 years ago|reply
> When I left work and went home, I could pick up where I left off, pretty much. My dream setup would drop the "pretty much" qualification from that.

For me, Dropbox has brought me that.

I still use Github and the like, but my computers now share such a similar setup (all Linux, install Go, install Dropbox, install Sublime Text 2, done) that I can walk out of the office without doing anything special to my machine, go home and pick up literally where I left off.

My git repositories are cloned into my Dropbox folders so that when I move from one place to another but am not ready to check in (local branch in state of flux) I still have that in multiple locations.

As Sublime Text 2 stores the project and file info in a plain text file, that state comes with me too.

My $GOROOT is also in my Dropbox folder, so if I've grabbed something via "go get" that also follows me around.

I view Dropbox as an ever present working cache, not as storage. Things like documents are in Google Drive and accessed via the browser.

On Friday I went to a meeting at 3pm that I thought would just be 20 minutes. It turned out that it took 3 hours, and I hadn't closed ST2 or anything I was working on... no problem, I went home instead of back to the office and my work was exactly where I left off with the same files open in ST2.

I think the only thing that doesn't follow with me are the undo buffers in ST2.

[+] jlouis|13 years ago|reply
There is an important difference though. You are sharing your data, but you are not sharing your programs and their current setup. That is, if you forget to save your file, it won't be on Dropbox. Plan9 is way more persistent here, as it has a lot of tools which can be brought back to the state you left them in on one machine.

It is awfully nice to have a persistent environment. Dropbox is definitely partway towards that goal, but it doesn't hammer in the nail fully.

[+] minikomi|13 years ago|reply
Woah. I'm plopping my vim, zsh, tmux & go stuff in there tonight & symlinking where appropriate. Thanks!
[+] gurkendoktor|13 years ago|reply
Dropbox with symlinks is indeed amazing. (It's a pity that symlinks are so hard to create on OS X - darn aliases...)

I love it even more with enc_fs on top of it. I don't even need to mount enc_fs (I don't automount it), and Dropbox will still sync my work like a charm.

[+] batgaijin|13 years ago|reply
I always wonder, how do people like this justify their level of trust for cloud providers and the government?

It's as if a majority of the hardcore hackers have gone "Fuck it, I'm being watched anyway, they might as well be backing up my stuff as well."

Are we past the point of it being a topic of debate except by people like me who have the illusion of choice?

[+] kaptain|13 years ago|reply
Rob Pike doesn't want a dumb terminal. He wants a powerful new infrastructure.

  My dream setup, then, is a computing world where I don't have to carry at least three computers - laptop, tablet, phone, not even counting cameras and iPod and other oddments - around with me in order to function in the modern world.
I can relate to what he wants: he cares about his data, not about what his data is on. Every time I upgrade machines or move to a different machine, I have to either reconstruct my environment or I have to tolerate an absence of some data that would be nice to have. How amazing would it be if I can could use any 'terminal' anywhere and have complete access to all of my personal data without having to tote around a physical piece of hardware that's 'mine'.

Any geek's 'bat-cave' is testament to this need: a Mac Plus sitting underneath a table next to Commodore 64. On top of the table lays a 486 DX/2 PC with Super VGA and a Soundblaster compatible card decaying inside. Everywhere strings of SCSI, RS-232, Ethernet spaghetti encircle cases of floppies (both 5.25 and 3.5). Where's the data? Anything precious has made it's way through different formats to whatever you're on now. Everything else is slowly rotting away.

Outsourcing the batcave to this ubiquitous seems much more appetizing to me. Plus it leaves me room for my 1st and 2nd gen Transformer collection.

[+] n8agrin|13 years ago|reply
I want no local storage anywhere near me other than maybe caches. No disks, no state, my world entirely in the network. Storage needs to be backed up and maintained, which should be someone else's problem, one I'm happy to pay to have them solve. Also, storage on one machine means that machine is different from another machine.

I'm always shocked that this hasn't happened faster. I've expected Dropbox, Amazon, Google and Apple to move into this space more aggressively, but at best they've all only just scraped the surface of what's possible.

[+] simonsarris|13 years ago|reply
But Google has moved into that space! The general populace just didn't care too much.[1]

Chromebooks do exactly what he's describing right off the bat.

Every Chromebook you own dies in a fire? Unbox a new one, boot up, everything is identical.

--------------------

[1] I think part of the reason for this is that just as nobody wants to think about things like death, NOBODY wants to think about data loss and prevention. It's like death, but harder to understand and to the common folk most people aren't even aware that there are options in this sphere.

Even though a lot of people just use Facebook, email, IM and word processing, its going to be hard to convince them that something like a chromebook is a really good idea because the reasons its technically sweet are lost on them.

[+] negativity|13 years ago|reply
First Order of Business: The thought police have to weed out the service providers that won't play ball. We can't have any rogue independent thought enablers like Kim Dotcom floating around.

So for now, while there are enough bit players and small-time shops floating around, people are still wary about losing their data to fly-by-night operations.

Unreliable SSD's and Stuxnet infected flash drives have shaken user confidence in personal storage, but not enough. And it still doesn't seem possible to create enough doubt in HDDs, while selling the con job of cloud storage. Also, there're enough data breaches floating around, but most people just shrug, and whether they understand what it means, or even care is hard to discern...

Anyway, once all the captains of industry are on board, with their poster children like Pike parroting the party line, and when the all the "OMG LYFETIEM DATA GUARANTEES" seem more reliable than the normal hard drive warranties available to the common prole, it'll finally be possible to memory-hole the fuck out of anyone that steps out of line. (I'm looking at you, Mr. Assange)

C'mon man. The name of the game is "Boiling Frogs". It has to be done slowly, and carefully. I shouldn't have to explain this.

[+] buster|13 years ago|reply
I suppose Dropbox is just a poor replacement for the completely "on the network" world that Rob Pike imagines. It's merely more then a convenient backup solution with some nifty tooling around.
[+] pjmlp|13 years ago|reply
Because there are sane people that prefer to take care of their precious data, instead of giving it to strangers.
[+] zvrba|13 years ago|reply
I haven't yet seen a product that emulates a disk over the network with acceptable latency over anything other than LAN. Until this happens, networked storage (except backup) is a no-go for me.
[+] mturmon|13 years ago|reply
He plants a couple of nice flags:

"This is 2012 and we're still stitching together little microcomputers with HTTPS and ssh and calling it revolutionary."

and

"In summary, it used to be that phones worked without you having to carry them around, but computers only worked if you did carry one around with you. The solution to this inconsistency was to break the way phones worked rather than fix the way computers work."

[+] ricardobeat|13 years ago|reply
"break the way phones worked"? oi?

You could only call, not get called unless you left precise descriptions of your whereabouts. Sometimes wait a lot until a phone was free. Having a phone on you all the time completely changed personal communication for the better. The idea that the way phones worked before mobile was better is so inane that I can't believe it's coming from a scientist.

[+] mmariani|13 years ago|reply
These are the points that most held my attention. I think too we're going in the wrong direction breaking up things and stitching them up again with technologies that weren't made for that.

Although I think this strategy fits well the planned obsolescence policies we have widely deployed in the tech industry nowadays.

[+] mbreese|13 years ago|reply
But, in defense of local storage, if you wanted to use someone else's phone, you had to remember the phone number of who you were calling. This may or may not have been a problem. My mom always carried around a address book with everyone's contact info. Sure, she could call anyone from any phone, but she still needed some local storage with her.
[+] Andrex|13 years ago|reply
I want no local storage anywhere near me other than maybe caches. No disks, no state, my world entirely in the network. Storage needs to be backed up and maintained, which should be someone else's problem, one I'm happy to pay to have them solve. Also, storage on one machine means that machine is different from another machine. At Bell Labs we worked in the Unix Room, which had a bunch of machines we called "terminals". Latterly these were mostly PCs, but the key point is that we didn't use their disks for anything except caching. The terminal was a computer but we didn't compute on it; computing was done in the computer center. The terminal, even though it had a nice color screen and mouse and network and all that, was just a portal to the real computers in the back. When I left work and went home, I could pick up where I left off, pretty much. My dream setup would drop the "pretty much" qualification from that.

Interesting that someone so steeped in the "old ways" of Unix dumb terminals is also, seemingly, such a good matchup for the "far future" vision of Chrome OS. What's old is new again?

[+] acuozzo|13 years ago|reply
Rob Pike was one of the earliest advocates __against__ the use of traditional "dumb" terminals (including the "smart" ones, e.g., DEC's VT-100+ line). Early on, he developed Blit and brought the mouse to Unix. Later, he helped develop Plan 9, an operating system that's far more advanced (in some respects) than what we have today.

He is not and has never been "steeped in the 'old ways'".

[+] n8agrin|13 years ago|reply
What's old is always new, especially on the Internet. I'm constantly reminded of the "Simpsons' did it" South Park episode whenever I'm reading press briefs about new startups.
[+] mdonahoe|13 years ago|reply
If you haven't seen acme in action, it is pretty crazy and interesting. Basically it makes heavy use of the mouse, and any typed word can be invoked like a command.

Here is a tutorial. https://www.youtube.com/watch?v=dP1xVpMPn8M

[+] wyclif|13 years ago|reply
The mousing is what lost me. I love vim because you don't have to deal with the mouse at all.
[+] damian2000|13 years ago|reply
His dream setup: "... carry a computer screen around, as long as it rolled up and fit inside something the size of a pen and had touch input when unrolled. As long as it had no local storage."

How last century. I thought he would have at least suggested a hologram projection screen combined with some bio implants. ;-)

[+] shadowmint|13 years ago|reply
I clicked the link seeing the high point count and thinking I might find some gems of productivity I could pull into my own daily routine, but instead I found some discussion of clouds and terminals and other things that are philosophically interesting but tangibly well argued and discussed ad nauseam.

Of course, the article is tiny and talks abstractly about something that everyone has an opinion on, so of course it has up lots of votes.

I am disappoint.

[+] mseepgood|13 years ago|reply
I like how his photo matches the colors of the blog design (pink & grey), obviously on purpose. This tells me that he pays attention to detail. Not every Unix hacker would change his clothes for some random interview on the web.
[+] sturadnidge|13 years ago|reply
I don't think his phone system analogy is correct. Yes, you can pick up any phone and make a call, but you can't receive a call to 'your' number from any phone. i.e. there is still state associated with the phone network, and landlines are not portable in the same sense that mobiles and laptops are.
[+] lazyjones|13 years ago|reply
Some of us do not like the cloud as much as Rob Pike because we are worried about censorship and corporate misconduct (what do you do if your stuff is suddenly gone one day?).

The "always accessible" and "continue where you left" paradigmata we can still relate to though: I've been using screen in ssh / putty windows for almost 20 years now, I used VNC for some time (even wrote a 16 bit client for DOS that ran off a floppy disk and with 2MB RAM...) for the same purpose.

Something like VNC but with a "responsive" UI that adapts to the device currently used (tablet, laptop, desktop) while still retaining all the state needed for the user to continue where he left, that'd be something novel and useful after all these years.

[+] prunebeads|13 years ago|reply
Personally, I switched to a tiled WM because I didn't want to go back and forth between keyboard and mouse all the time. I want an editor which I can handle using keyboard alone, and only use the mouse when I really have to (web, drawing, games - perhaps I should use a trackball). Acme relies too much on the mouse for me, but I like the idea a lot.

There's another couple of issues: syntax highlighting, large scale refactoring (which is not easy either with vi or emacs atm).

However, once you get accustomed to a certain workflow, it becomes difficult to accept something new. Maybe I should give it a shot.

[+] seacond|13 years ago|reply
Many of the things he says I agree with, others I don't. I think that's the thing with computing. Everyone's tastes are at least slightly different. We don't all want exactly the same things.

I think the big failure is programmers' inability to bring these desired advances, like what Plan 9 achieved, to a wider audience. I mean, he says he had this wondwerful environment at Bell Labs, but almost no one outside of Bell Labs gets to experience that pleasure. Why not? They open sourced it too late? I'm not sure I buy that. It's still better than UNIX, so what's changed? It's like there's some assumption that people just don't deserve anything better, and there's no point in working towards it. Except if you're at Bell Labs.

We're stuck with old UNIX, with all of its historical cruft. Like him, I've just learned to cope with it. (It's funny he's complaining about argv limits (see 2004 Slashdot interview). That seems to suggest he likes to compose super long argv's. No? Maybe he does not like xargs? I never did. But then I've seen similarly unexplainable limits in the Plan 9 port to UNIX. Why can't I have a Plan 9 sed command file with a very large number of commands?)

We could certainly have better. Perhaps it's simply a matter of getting behind the right projects, instead of just following the money and being lazy... working at Google and buying MacBook Pros. That's sort of like giving up. Complacency.

Honestly, "grep'ing the web" just doesn't sound all that "amazing" to me. I don't care how many servers they have running, Google is not Bell Labs.

[+] fra|13 years ago|reply
"The terminal was a computer but we didn't compute on it; computing was done in the computer center. The terminal, even though it had a nice color screen and mouse and network and all that, was just a portal to the real computers in the back. When I left work and went home, I could pick up where I left off, pretty much. My dream setup would drop the "pretty much" qualification from that."

It exists! It's called a sunray

http://en.wikipedia.org/wiki/Sun_Ray

[+] maxerickson|13 years ago|reply
Does Sun Ray make a phone?

Of course I'm not serious, but the Sunray is one stack of technology that offers stateful session management, not a system for using the same computing environment on whatever hardware you happen to have at hand.

[+] aperture|13 years ago|reply
I think it was a good post overall, but what got to me was his lack of doing anything about his issues. When Mr. Pike wanted a revolutionary OS, plan9 was created. When Mr. Pike wanted a language fixing problems dealt with in C, Go was created. When it comes to a machine that's roll-able without persistent local storage, he merely wishes for it to be a reality? I can understand if, through working with Google, the only research in that area is tied to the Chromebook, but still. He certainly has the capability to cause influence (First link on hn), but he's not getting into the core of the problem. I love this guy just as much as the rest of the community, but I find it puzzling steps aren't already being taken to make this next dream of his a reality. I also agree that cloud is not the answer for everything, so it would be enlightening for a new tablet-esque roll able device to be made that swims against the general Mac-inspired cloud tablet trend. But if Rob Pike isn't going to make it a reality, I doubt someone else will release it in his vision or to his liking. Perhaps he has a few ideas or tricks to make things "just work". And that's what I'd look forward to.
[+] pgbovine|13 years ago|reply
i will +1 his love for the 11" MacBook Air ... people are always skeptical that i can do pretty much all of my work on it (yes, even some coding), but after almost two years, i still haven't found its small size to be too limiting.
[+] activepeanut|13 years ago|reply
Has the small size affected your vision?

I've briefly tried working on a small screen with high DPI and it really hurt my eyes. Maybe I'm getting old-man's eyes. ;)

[+] untog|13 years ago|reply
I'm on 13", simply because I don't see the benefits of the 11" as that significant. General principle is very much the same, though.
[+] tesseractive|13 years ago|reply
I had a netbook that size. I liked everything about the form factor, it was just cripplingly slow.
[+] wooster|13 years ago|reply
I lasted almost two months on my 11" MacBook Air before hooking it up to a 27" Thunderbolt Display in a fit of desperation. As my traveling machine it's fantastic, but I prefer my iMac as a full time dev machine.

(I mostly do Cocoa dev in Xcode these days.)