> 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, g…
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…
UsesThis: Rob Pike
161–170 of 192 posts
Re: UsesThis: Rob Pike
#162Earlier quoted context omitted.
Batteries aren't static sensitive, and ROMs aren't available in gigabytes, but apart from that there is a certain appeal in a more secure OS environment. It's a shame that (for example) Windows doesn't make it easier to make the entire system partition read-only, but applications are traditionally so abysmally poor at handling "no you can't write THERE" errors (yes, Photoshop, I'm looking at you) that most people gav…
True ROM chips are by definition available in sizes slightly larger than similarly priced DRAM or SLC flash, it's probably cheapest memory to manufacture. And you would be surprised about how many megabytes of ROM are contained in Android/iOS devices (baseband code is often i mask ROM on chip, modern SoCs tend to have some kind of support core with code in mask ROM and also some ARM acessible mask ROM with things lik…
Re: UsesThis: Rob Pike
#163Earlier quoted context omitted.
What is better now with cellphones than before? Why is personal communication so much better now that we can be reached anywhere? I think it's a legitimate question. In most cases, people indeed want to be reachable, but is it really a good thing? In the long run, does it make the society a better place, and people better people? How can we measure the impact of the cellphone on society?
I remember waiting in line up to half an hour every day to call back home my parents while on vacation because otherwise I wouldn't know if something important had happened and they would assume I was dead. And, hey, did you remember buying a new card for payphones? Those things used to demagnetise at the speed of light. I also remember that one time I locked myself out of my home and had to walk for 2km to get a the…
Re: UsesThis: Rob Pike
#164Earlier quoted context omitted.
Same here. I currently have an older (mid 2009) 15" mbp. Wondering if I can get by on a 13" though...
If you get a new 13" Retina MBP, you'll have the best of all worlds. If you need a lower res, you got it. If you need a higher res, you got it. I hadn't anticipated this but since every resolution looks excellent on a retina display, I'm switching quite often for different tasks.
Re: UsesThis: Rob Pike
#165Personally, 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 re…
I'm not sure what you mean by large scale refactoring, but refactoring is much easier in acme compared to any editor I used before because of the powerful sam command language[1] and structural regular expressions[2]. [1] http://plan9.bell-labs.com/sys/doc/sam/sam.pdf [2] http://doc.cat-v.org/bell_labs/structural_regexps/se.pdf
There are other services that an IDE can provide:
- name completion
- list of variables in current scope
- list of visible types
- access to documentation
- code annotation
All these could be implemented in external tools, but how snappy would the interface be?
The filter paradigm of Unix is great for batch processing, but fails when used interactively, unless processi are lightened to the point of becoming almost like threads within the same process, and with the matching communication speed (inter process communication using pipes isn't really that fast compared to shared memory).
That said, maybe large scale programs are the problem to begin with. With simple, one task focused programs, source code becomes easy to maintain without resorting to the services I listed above. It's not easy to get rid of them though (consider compilers for instance).
Re: UsesThis: Rob Pike
#166I 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 c…
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 o…
If I misunderstood him, well, good, I'm glad we're not so far apart. But I don't think so.
Re: UsesThis: Rob Pike
#167I 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 c…
"...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 t…
"...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.
Of course not, that's why I want both. Having to choose which version of my files to use is annoying, manually syncing or having to write/install something to do it automatically is worse. You've definitely lost "the normals" at that point. No, just proactively sync my changes.Re: UsesThis: Rob Pike
#168Earlier quoted context omitted.
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…
If you forget to save your file, it won't be on your Plan 9 file server either. The only program which has the state persistence you describe is acme which can dump its state to a file and load it again later, but most every editor on every operating system can do that. And you have to run the Dump command manually, so if you forget, you lose your state the same as you would if you forgot to save before unplugging yo…
Re: UsesThis: Rob Pike
#169Earlier quoted context omitted.
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 o…
I didn't understand his use of the word caching to mean the same thing as a local git repository, but rather a simple latency optimization; SVN has a "cache" too. He also states that most if not all real computation takes place off the device, in the server. If that's not the definition of a dumb terminal, what is? If I misunderstood him, well, good, I'm glad we're not so far apart. But I don't think so.
Re: UsesThis: Rob Pike
#170The 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, WITH…
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…
But you really should have a separate actual backup of your data though. What would happen in the scenario that somehow your drop-box data is deleted ? Won't this deletion also be replicated to all your synced devices ?