9 ms·
What operating systems the Plan 9 Google guys are using
- fierarul 17y agoUnsurprisingly, OSX or Linux and the old Plan9 text editor.
- yarapavan 17y agoSummary: OSX, FreeBSD and Linux (in that order)
- htsh 17y agoThe correct order is Linux, OSX, FreeBSD: "Rob, Ken, Dave, and I use Macs as our desktop machines, but we're a bit of an exception. Most Google engineers use Linux machines, and I know of quite a few ex-Bell Labs people who are happy to be using sam or acme on those machines."
- aerique 17y agoThat depends on whether you order by quantity or quality :-)
- yummyfajitas 17y agoSummary, part 2: go check out plan9ports and 9vx. http://swtch.com/plan9port/ http://swtch.com/plan9port/ http://swtch.com/9vx/ http://swtch.com/9vx/ These give you some plan9 features on mainstream unix.
- deleted 17y ago[deleted]
- asolove 17y agoResearching the sam editor is strangely intriguing. See Rob Pike's description of the command language: http://doc.cat-v.org/bell_labs/sam_lang_tutorial/sam_tut.pdf http://doc.cat-v.org/bell_labs/sam_lang_tutorial/sam_tut.pdf
- j_baker 17y agoSpeaking of which, does anybody know how to get acme/sam working on Ubuntu? I'd really like to play with it a bit.
- tsuraan 17y agoIn gentoo, I think it's part of the plan9port package. Is there something like that for debian/ubuntu?
- vinutheraj 17y agoAs mentioned by yummyfajitas you can try plan9port http://swtch.com/plan9port http://swtch.com/plan9port or 9vx http://swtch.com/9vx http://swtch.com/9vx and try to get sam running on top of your linux box.
- rbanffy 17y agoThat's quite an overkill ;-) But cool, nevertheless. I am a bit ashamed the coolest operating systems on the market today are either Unix-derived/inspired or a lame rehash of VMS. There is something wrong with this.
- gvb 17y agoIt isn't wrong, it is the consequence of a simple principle: "Those who don't understand UNIX are condemned to reinvent it, poorly." – Henry Spencer http://en.wikipedia.org/wiki/Unix_philosophy#Quotes http://en.wikipedia.org/wiki/Unix_philosophy#Quotes
- borism 17y agoit would be more interesting to know what kind of systems these guys are developing nowadays
- huherto 17y agoSo these guys went from the dream company of the 70s to the dream company of the 2000s. Lucky bastards!
- pgbovine 17y agoluck probably didn't play that much of a role in Google hiring them, given that they already established major cred at Bell labs.
- nostrademons 17y agoThat's usually the way it works. Google also has a bunch of ex-Microsofties (dream company of the 1980s) and ex-Amazonites (dream company of the 90s). It pays to get into a dream company as soon as possible, and do cool things there, because other companies will see those cool things and give you your pick of jobs.
- marketer 17y agoThey're all working on Go : http://www.golang.org http://www.golang.org
- bmj 17y agoIt's worth looking at the entire thread. Both Cox and Pike point out that life is just easier at work running a well-maintained, supported system (OSX) that can play nicely with other machines.
- statictype 17y agoI can understand going with a Mac if you want better support for the latest hardware or you need to run some commercial software like Photoshop. But if you're running a text editor and a compiler and developing unix software, what advantage is there to using a Mac over a unix box like Linux?
- jimbokun 17y agoYou may want to run more than a text editor and a compiler, on occasion.
- rbanffy 17y agoI am quite sure not all packages available for download on my Ubuntu box are compilers or text-editors.
- robin_reala 17y agoA Mac is a Unix box. Actually, to be picky it’s more of a Unix box than a linux machine as of those two only OS X has Unix certification: http://www.opengroup.org/openbrand/certificates/1190p.pdf http://www.opengroup.org/openbrand/certificates/1190p.pdf
- jrockway 17y agoBut of course, OS X implements many Unix constructs wrong. Renaming a file is not atomic on OS X / HFS+, for example. (UNIX certification is "did they give us money", not "does it actually work".) Also, of course GNU/Linux is not Unix. GNU is Not Unix! (I like GNU a lot better than Unix, personally. Much more sugary. "rm foo -rf" actually works, for example.)
- prakash 17y agoWhat's sam?
- ax0n 17y agoIt's a text editor that I first used on plan9. I tried it out in the 90s, and I didn't "get it" back then, but I kind of liked Sam. http://en.wikipedia.org/wiki/Sam_%28text_editor%29 http://en.wikipedia.org/wiki/Sam_%28text_editor%29 I'm a self-described operating system junkie. At home, I've got WinXP, Win7, OpenBSD, OS X, Haiku (BeOS), FreeBSD, Solaris, AIX, and a few Linux flavors running. Yes, all at once. Maybe I should try plan9 again in a VM.
- acegopher 17y agoWhich do find yourself using the most often?
- ax0n 17y agoCurrently, my most powerful machine is my MacBook, which dual-boots OS X and Windows 7 natively. I probably use them about the same. I run a lot of things in VirtualBox, though. I almost always have an OpenBSD VM up and running, for example. My two lower-powered desktops are running Solaris 10 (Sparc) and Ubuntu Karmic for the time being, but Ubuntu is kind of in the dog house right now. I've had good luck with ArchLinux in a VM, so I may throw that on there soon.
- pmarin 17y agoIt is like ed(1) with a windowing system.
- proee 17y agoI'd like to see a survey of what OS people of HN are using. Has someone submitted this before?
- mlLK 17y agoI wonder how they (or are even required to) test for Windows machines...my guess is that Microsoft products aren't even in their requirements.
- pedalpete 17y agoWhat linux breed do most of these engineers use? any ideas? Ubuntu? red hat? any ideas? I've got a Win7 machine and the rc is about to runout. I'm going to get a new win laptop, but am thinking of setting up this old one as a linux box.
- jmtulloss 17y agoWord on the street is that Google has a custom Ubuntu distro for engineering. I heard this years ago, haven't asked anybody recently.
- SwellJoe 17y agoSeems to be mostly Ubuntu, but I've met quite a few Fedora, CentOS, RHEL, and other distro users from Google. There is no law about what OS engineers can use within Google, but they do have their own Ubuntu repository and such setup for distributing internally developed software and a custom Ubuntu install. Their server infrastructure, last I heard, was on an old bastardized Fedora version, but that was a couple of years ago; and it's probably not something they talk about with much specificity or frequency.
- qaexl 17y agoWow, reading about the wikipedia articles on the difference between sam and acme sounds like the same pattern of arguments of using vi vs. emacs.
- jff 17y agoThe difference is that we tend not to argue about sam vs. acme. For one, they both use the sam command language. Most of us (Plan 9 users) seem to use acme, but there are some long-time sam users around. There's no holy war :)
- projectileboy 17y agoForgive my ignorance - can anyone elaborate on what sorts of innovations came from Plan 9, and why it didn't overtake Unix? I'm intrigued, but I don't know anything about it.
- i80and 17y agoI'm personally not all that familiar with it either, but I have read that it's a much cleaner and more modern equivalent to Unix, applying the "everything is a file" paradigm to far more. In Unix, a lot of behavior got tied into ioctl and binary sockets as the need for additional features grew. Plan 9 is far more file-oriented and textual in its interfaces, and relies more on file servers (i.e. eschewing an ftp command for an ftpfs filesystem). ESR believes that it may have died just because Unix was "good enough", which sounds reasonably plausible to me. If someone else knows more, I would also be very interested.
- suraj 17y agoWikipedia (http://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs http://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs) article is a good start. Most notably the /proc filesystem which represents the state of kernel was lifted straight from Plan 9 into Linux. As for the success of Plan 9, this quote on wikipedia sums it up - Plan 9 failed simply because it fell short of being a compelling enough improvement on Unix to displace its ancestor. Compared to Plan 9, Unix creaks and clanks and has obvious rust spots, but it gets the job done well enough to hold its position. There is a lesson here for ambitious system architects: the most dangerous enemy of a better solution is an existing codebase that is just good enough.
- elblanco 17y ago>the most dangerous enemy of a better solution is an existing codebase that is just good enough. These are words of wisdom for anybody that doesn't understand how Windows came to be the dominant desktop OS.
- gchpaco 17y agoThat's a very large question, but I'll take a stab at a quick summary. - All resources in Plan 9 are accessed through the file system. Want to get a screenshot? Read from /dev/window. Want to get access a file on a machine halfway around the world? Mount it on your file system. Want to interrogate the kernel, or change things? /proc. (this last bit has been ported to Linux and other Unixes; only greybeards tend to remember the days when ps had to be setuid root) - (almost) all resources are textual. None of this business of sending obscure bits to ioctl; if you want your connection to be a certain baud, you open the appropriate "file" and tell it so. - Related: none of this connect, bind, nonsense. You want network sockets? Open stuff in /net. - There is no one single "file system", unlike in Unix. When you are running in a 9term, /dev/cons is the console. When you are typing in a different 9term, it's still reading from /dev/cons but it's a different /dev/cons. It's possible for every program on the system to have a completely different view of the filesystem (although I doubt it's really sensible). Accordingly there's no superuser; there's only "permission to access X". - Union mount points. There's no /bin, /usr/bin, $HOME/bin, etc; everything is always in /bin. The system automatically makes /bin contain the executables that are most appropriate fro your processor; rc is always /bin/rc but on one machine it's MIPS code and on another it's x86 code. - A resulting truly distributed system. Typical use had you logging in from a network terminal (like an X terminal) and running jobs on a CPU server mostly transparently, there's disk servers you can mount, etc. I'm not 100% sure how this part works, because I've never been able to run it in the wild. - Plan 9 was designed with the intent of GUI stuff from the get go. There's no curses stuff, no console libraries; if you want to do that stuff, you use a GUI. But these GUIs were designed by folks who were very comfortable with using a command line, and so one ends up with huge amounts of text on screen that you interact with (the history mechanism for rc actually looks at the window buffer for the terminal it is running in, looking for prompts). There's an input language for mice, that's most obvious in acme (where cut and paste are done by mouse button chords). - As a result of this most of userland has been worked over, probably because somebody was forced to think seriously of reimplementing the Bourne shell. rc is remarkably minimal for a login shell in this day of zsh, and seems useless in an xterm; but because in a 9term you can edit previous output and previous command lines and tell the terminal not to send input at the end of a line but instead wait for you to decide you're finished it ends up being surprisingly powerful and usable. It's hard to get this in Unix because a lot of the tricks they did with it involve accessing the textual representation of the contents of the 9term and e.g. grepping over it or the like. Plan 9 from User Space does manage it and it's a very strange experience. - Unicode throughout, which doesn't seem like such a big deal now but was pretty significant back in 1992. - A bunch of fascinating programs written as a general solution to specific frustrations. Modern terminal replacements sometimes highlight URLs or the like; the Plan 9 plumber would do this with anything, and was consistently implemented across the system (Button 3 in recent acmes, for example, runs the plumber and only does local search if that fails to match). Plan 9 can be very disturbing to work with at first; everything seems incredibly primitive, and it has a very minimalist feel to it, but when you get used to the idioms it can be incredibly powerful. It's a pity they never wrote a real web browser for it, I would love to see what it would look like. The whole experience is very strange, and yet there's a certain elegance to it.