Domain: bell-labs.com
Stories and comments across the archive that link to bell-labs.com.
Comments · 1,559
-
Re:Pretty cool
APE -- The ANSI/POSIX Environment
http://plan9.bell-labs.com/sys/doc/ape.html
Plan9 has the Abaco web browser, it's still in development but you can use Gmail with it apparently.
http://plan9.bell-labs.com/sources/contrib/fgb/aba co.pdf
So put your 2c back in your pocket. -
Re:Their website says it allThat is, if you look at the source. Man, for such a simple page they sure use an enormous amount of tage. I was wondering what happened to all the tage. My spice cupboard was practically cleaned out with all their tage use.
-
Re:Puzzled
And you can run it using Xen, so everyone can try it out and see what's it about.
-
Re:Check out those cutting edge GUI graphics...You should read this: http://plan9.bell-labs.com/wiki/plan9/Overview/in
d ex.htmlPlan 9 presents a consistent and easy to use interface. Once you've settled in, there are very few surprises here. After I switched to Linux from Windows 3.1, I noticed all manner of inconsistent behavior in Windows 3.1 that Linux did not have. Switching to Plan 9 from Linux highlighted just as much in Linux.
-
Re:Check out those cutting edge GUI graphics...
"Has it broken any new ground with any new operating paradigms? (Thats a genuine question , I don't know). I do wonder why thety bother and don't just try and integrate any new ways of thinking they've come up with into pre-existing systems such as Linux or BSD."
Well, yes. Read the overview
Slowly, ideas from Plan 9 are being adopted by other systems. Plan 9 was the first operating system with complete support for the UTF-8 Unicode character set encoding. The dump file system has been mimicked in Athena's OldFiles directories or Network Appliance's
.snapshot directories. The flexible rfork(2) system call, the basis of lightweight threads, was adopted as is by the various BSD derivatives and reincarnated on Linux as clone(2). The simple file protocol 9P has been implemented on early versions of FreeBSD and current versions of Linux. -
Re:Puzzled
http://plan9.bell-labs.com/plan9/download.html
It's been released, and is on the Fourth Edition. -
Their website says it all
That is, if you look at the source. Man, for such a simple page they sure use an enormous amount of tage. If this is what the future looks like, I want the past back !
-
Puzzled
Plan 9 looks to me like the perennial contender for something which is never to be released; much like the HURD (although I think the HURD is more like a search in the wrong direction altogether; I mean, if you're going to do it all afresh - why use UNIX ?). I imagine a bunch of Wozniaks tinkering about all day without any impatient Jobses looking over their shoulder scheming to make a buck. Then I read their website again, and I knew for sure they must be out of their minds at bit: THEY BROUGHT ALONG 'ED' !!
-
I'm unimpressedMicrosoft's new algorithms correctly guessed the gender of a Web surfer 80% of the time, and his or her age 60% of the time.
Link to paper. I don't claim to be knowledgeable about this stuff but that success rate doesn't look too remarkable to me. China's sex ratio is hardly so skewed (yet, anyway) that this could remotely identify someone from a pool of a billion users, or even out of a single Internet cafe.
I'd wonder more about the quality of research Microsoft is getting out of their Beijing site if they think this worth bragging about.
-
Re:Minimalist OS
-
Re:1986 software at least felt deterministic
Menus are bloat. You don't even need them.
-
Pike's "The Hideous Name" paper from Plan 9Rob Pike and Peter Weinberger wrote a paper in 1985 called "The Hideous Name", arguing against DNS's naming order in favor of Plan 9's Unix-like order. Plan 9 very aggressively uses the file system naming structure for everything, and they argue that consistent naming systems are much better than the alternatives, including the relatively new Arpanet naming system that some people were starting to use for email. I haven't read it in a decade or more, but one issue besides the one you mention is that if you do high-level-first names, it gives you a lot more flexibility for localized namespace management, and gets around some of the semantic and political issues with rootedness.
The original paper is available in Postscript at bell-labs.com or Google has an HTML translation.
-
Re:Been there, done that
http://plan9.bell-labs.com/plan9/Plan 9 It's
.com not .org. But thanks for pointing that out anyways. -
Re:So
-
Re:So
-
Re:Microsoft embracing and extending standards agaI am going to be nice and assume that fundamental ignorance has led to this laughably absurd conclusion
I have already answered to the poster above who had some trouble in understanding that doubling the number of bits doubles the amount of information.
However, since you are so honest in confessing your fundamental ignorance, I will give you a link to a paper published by Claude Shannon in 1948 which can make it clearer for you.
Shannon argues that the true measure of information should be done in logarithms, because "It is practically more useful. Parameters of engineering importance such as time, bandwidth, number of relays, etc., tend to vary linearly with the logarithm of the number of possibilities. For example, adding one relay to a group doubles the number of possible states of the relays. It adds 1 to the base 2 logarithm of this number. Doubling the time roughly squares the number of possible messages, or doubles the logarithm, etc."
And you can be thankful that engineers use logarithms. If your phone company used "combinatorics" they would charge you four times as much for having two phones installed at your home than what they charge for a single phone. -
Re:Only thing to understand...
Exactly. If you really want everything to be a file, you need to use Plan 9 instead.
-
Re:Most applications will never become multi-threa
-
Re:Unfair comparison
There are no "modern advanced OSs" out there that make today's Mac OS X/Windows look like yesterday's Mac OS/DOS.
Don't be so certain of that. There are some pretty cool research projects going. There are things like Bell Lab's Plan 9, there is AST's Amoeba project. And those are from the old-school people. There are certainly other radically cool OSes out there in the wings.
'Doze and the Mac stuff and Unix are legacy designs, no matter what sort of greasepaint is slapped on their faces. -
Re:potential privacy concern?
Instead of relying on common, generic data-format such as XML
XML was not designed as a "generic data-format"; it was designed as a "better SGML", that is, a document format. In fact, it is not a good data format, as can be seen by the contortions involved in adding a type system (essential to a general purpose data format). Which still doesn't work, by the way.Besides which, designing your own data format, while requiring some care, is not exactly a Herculean labor. If they would just add product and union types, I could see using this.
-
Re:OpenBSD PF
Someone on the GSoc is hoping to do an OpenBSD 9p kernel extension. If they get it going then I'll be giving it a go (read only OpenBSD that is).
9p abstracts loads of things away for you so you could, for instance, use postgresql as your "file system" and boot from that, I have the code to do that bit already, although it's not listed here yet. -
Re:Simply
It's funny in the author of the forward who is apparently an apple fellow say's he gave up on unix and now uses a Mac. Anyway I wonder how the author feels about Plan9 http://plan9.bell-labs.com/plan9/.
-
Not a new idea, really, is it?
Rob Pike said it rather more elgantly, as usual, in his Systems Software Research is Irrelevant paper. Seven years agi, too!
See Slashot for a discussion... -
Stop pissing about
Get yourselves a system, with a proper debugger
-
Other software by D. Tshumperlé
(I'm not him although I know his work and his ex-supervisor)
Also consider CImage, by the same author. CImage is a C++ image processing template library (cue to how much C++ sucks compared to the language du jour and/or LISP/Python/Haskell/OCaml, etc ;-)
Concerning the inpainting algorithms that many here find impressive, there has been lots of work in this area. One of the seminal works is the paper at ICCV'99 by Efros and Leung. Many CS people will love that one since it is a fairly straightforward extention of the 1948 Markov model proposed by Shannon himself for the automated production of pseudo-english text (i.e. texts that look and sound english but really aren't). The Practice of Programming book by Kernighan and Pike makes use of that algorithm to compare various languages in a fun way.
The Tschumperlé algorithm works on different principles and is much faster, but their particular Markov model shows the impainting problem is not that difficult in practice. -
Re:OpenOffice Draw
I think you have absolutely no idea of what is possible with LaTeX and friends.
http://www.tug.org/applications/Xy-pic/Xy-pic.html
http://cm.bell-labs.com/who/hobby/mppubs.html#man -
Why don't you ask...
... Thompson or Ritchie? Their mail addresses are freely available.
Maybe one of the two guys would answer the question.
http://www.cs.bell-labs.com/who/dmr/
http://www.cs.bell-labs.com/who/ken/ -
Why don't you ask...
... Thompson or Ritchie? Their mail addresses are freely available.
Maybe one of the two guys would answer the question.
http://www.cs.bell-labs.com/who/dmr/
http://www.cs.bell-labs.com/who/ken/ -
Re:/usr/binI remember reading, a loooooooong time ago, that frequently accessed binaries and binaries needed at boot time were stored in
/bin. Other binaries were in /usr/bin. Dennis Ritchie's Unix Notes from 1972 (http://cm.bell-labs.com/cm/cs/who/dmr/notes.html) somewhat supports this memory by stating, "there is a directory '/usr' which contains all user's directories, and which is stored on a relatively large, but slow moving head disk, while the othe files are on the fast but small fixed-head disk." i don't know why your post is modded 0, it's got good content.
binaries needed at boot time are generally in /bin, most things like shells that is. /usr is generally on another partition so mount is probably going to be required in order to mount it, from a startup script. -
/usr/binI remember reading, a loooooooong time ago, that frequently accessed binaries and binaries needed at boot time were stored in
/bin. Other binaries were in /usr/bin. Dennis Ritchie's Unix Notes from 1972 (http://cm.bell-labs.com/cm/cs/who/dmr/notes.html) somewhat supports this memory by stating, "there is a directory '/usr' which contains all user's directories, and which is stored on a relatively large, but slow moving head disk, while the othe files are on the fast but small fixed-head disk."
Folks interested in the history of C and Unix will find many interesting documents at Dennis's web page (http://plan9.bell-labs.com/who/dmr/index.html).
Also interesting are a number of old articles:- "The Evolution of the Unix Time-sharing System*", AT&T Bell Laboratories Technical Journal 63 No. 6 Part 2, October 1984, pp. 1577-93., http://web.archive.org/web/19991013115731/cm.bell
- labs.com/cm/cs/who/dmr/hist.html by Dennis M. Ritchie - "UNIX Implementation", The Bell System Technical Journal, 1978, http://www.hughes-fl.com/books/pdf/UNIX_Implement
a tion.pdf by K. Thompson - "The UNIX time-sharing system", Communications of the ACM archive
Volume 17 , Issue 7, http://www.cs.columbia.edu/~nieh/teaching/e6118_s0 0/papers/ritchie_unix74.pdf by D. M. Ritchie and K. Thompson
But I couldn't find anything on the meaning of /etc ;-) - "The Evolution of the Unix Time-sharing System*", AT&T Bell Laboratories Technical Journal 63 No. 6 Part 2, October 1984, pp. 1577-93., http://web.archive.org/web/19991013115731/cm.bell
-
/usr/binI remember reading, a loooooooong time ago, that frequently accessed binaries and binaries needed at boot time were stored in
/bin. Other binaries were in /usr/bin. Dennis Ritchie's Unix Notes from 1972 (http://cm.bell-labs.com/cm/cs/who/dmr/notes.html) somewhat supports this memory by stating, "there is a directory '/usr' which contains all user's directories, and which is stored on a relatively large, but slow moving head disk, while the othe files are on the fast but small fixed-head disk."
Folks interested in the history of C and Unix will find many interesting documents at Dennis's web page (http://plan9.bell-labs.com/who/dmr/index.html).
Also interesting are a number of old articles:- "The Evolution of the Unix Time-sharing System*", AT&T Bell Laboratories Technical Journal 63 No. 6 Part 2, October 1984, pp. 1577-93., http://web.archive.org/web/19991013115731/cm.bell
- labs.com/cm/cs/who/dmr/hist.html by Dennis M. Ritchie - "UNIX Implementation", The Bell System Technical Journal, 1978, http://www.hughes-fl.com/books/pdf/UNIX_Implement
a tion.pdf by K. Thompson - "The UNIX time-sharing system", Communications of the ACM archive
Volume 17 , Issue 7, http://www.cs.columbia.edu/~nieh/teaching/e6118_s0 0/papers/ritchie_unix74.pdf by D. M. Ritchie and K. Thompson
But I couldn't find anything on the meaning of /etc ;-) - "The Evolution of the Unix Time-sharing System*", AT&T Bell Laboratories Technical Journal 63 No. 6 Part 2, October 1984, pp. 1577-93., http://web.archive.org/web/19991013115731/cm.bell
-
Re:Wow, I feel old
The manual from 1971 on http://cm.bell-labs.com/cm/cs/who/dmr/1stEdman.ht
m l shows that several programs, among them assembler (The B Assembler), compilator and libraries etc. (pun not intended) were in /etc.
Interesting comment about boot:
NAME boot -- reboot system
SYNOPSIS /etc/boot
DESCRIPTION boot logically a command, and is kept in /etc only to lessen
the probability of its being invoked by accident or from
curiosity. It reboots the system by jumping to the read--only
memory, which contains a disk boot program. ...and similar for mkfs:
This program is kept in /etc to avoid inadvertant use and
consequent destruction of information. -
Plan 9's Factotum
Plan 9 has such a central key repository. It's called Factotum, and the best description is the USENIX paper. It has been ported to other UNIX-likes by the plan9port project.
-
Re:There goes that idea...
-
jail is a hack
http://plan9.bell-labs.com/magic/man2html/2/fork
RFCNAMEG If set, the new process starts with a clean name space. A new name space must be built from a mount of an open file descriptor. -
Re:Too many ad-hoc hacks# Don't allocate resources sanely. One program (even worse when it has many threads) that is wanting more memory and more CPU will get the entire User Interface to a halt, even though guaranteeing the required resources for a smooth UI is so cheap. (i.e: Instead of guaranteeing 0.5% of the memory/cpu to the UI so its always smooth, even this 0.5% goes as an extra 0.5% boost to the program that's already got 99.4%) Real-time scheduling. Lottery scheduling. Raising the priority of the UI process, even under a normal Priority Round Robin scheduler. Offer an unnecessarily(historically) complicated model to programs, where there are multiple spaces of memory (malloc'able/sbrk memory, and file system space), even though these memory types are actually interchangable and when you malloc, your RAM is moved to disk, and when you use a file, it often allocated RAM. Instead, operating systems should just expose one type of memory, that is always non-volatile and persistent, so that programs don't have to worry about converting/serializing back and forth between these memory types.
This would also get rid of the unnecessary bootup/shutdown sequence all programs are currently dealing with. You're talking about "orthogonal persistence". EROS, KeyKOS and Unununium all pursue it. Does not offer a high-level world of network-transparent primitives, that allows all method calls to transparently run over a network. If this existed, we would not see the abomination that is web-forms+AJAX and the rest of this ultra-complicated world that still does not work nearly as well as local GUI's. Instead of extending the web to support GUI functionality (poorly), we should have seen GUI's be extended to transparently reach over the network. The X protocol is similar, but not good enough as it transmits too low-level primitives (pixel data and mouse movements) and is also an alternative and not a standard GUI API that the operating system offers. Sun's NeWS did a little better than X Windows. So did Amoeba (and every other distributed operating system). The security model, using users, groups and assigning those to objects is of very rough granulity, requires a system administrator to modify the model (users/groups) and does not allow fine-grained control over the access of entities (processes) to objects (i.e: As a non-administrator, I cannot prevent my mp3 player from accessing the network or deleting the files it can read).
Instead, a capability-security model should be used (not POSIX capabilities, but EROS/KeyKos type ones), which is much simpler to use, verify and much more powerful and fine-grained. This would also facilitate secure movement of components between computers - which could be done automatically by the OS to improve performance. More on that on a later post. You said it yourself: Capability security systems. Real Access Control Lists would help, too.
Most of the solutions in the operating system world are already there, but nobody uses them in commodity systems. Why? Backwards compatibility. I'm serious. Too many new operating systems aim for backwards compatibility with POSIX, Windows, Amiga, BeOS, RISC OS, the Lisp Machines, or some other old OS architecture. I'll give you a quote: "A new operating system project should address a real problem that is no currently being addressed; constructing yet another general-purpose POSIX- or Windows32-compliant system that runs standard applications is not a worthwhile goal in and of itself." That's from The Pebble Component-Based Operating System , written in 1999.
And then, of course, we can go and search for "Systems Software Research is Irrelevant". Everyone in the commercial seems to ignore the great strides forward operating-system research has made.
Yes, I am an operating-systems geek. How'd you know? -
Pfft GUIs - you can keep 'em
cp file.iso
/mnt/cd/wd # burn to cd
rm /mnt/cd/wd # fixate
echo eject > /mnt/cd/ctl # eject
http://plan9.bell-labs.com/magic/man2html/4/cdfs -
Won't somebody think of the children?Actually, things weren't better before. The same technology that makes it possible for an assistant manager to take a receipe filing program and mung it into a contact management system has made it possible for developers to do in a couple of weeks what it would have taken a small team six months to do. We all benefit. But to say that experience gained before 1994 doesn't count because things are easier *now* disrespects the fact that it was because of the work programmers did twenty years ago that made things so easy to do today.
Seriously, when was object-oriented progarmming invented? Distributed systems? Multi-processor programming? The Internet? Scripting languages? All this stuff was invented decades ago, it just took Moore's Law this long to make most of it practical. If we'd all had bit-mapped windowing environments back then (instead of just those folks over at Bell Labs), we'd have been spared the horrors of Hungarian notation — if you don't remember a variable's type, just hover your mouse over it and the editor will tell you! Hell, CSS just celebrated its tenth birthday, the web itself is even older (not twenty-five years, probably closer to fifteen). Ruby's been around longer than that...
Hell, in my case, things are better now than they were just a couple of years ago. I remember spending days writing Perl scripts because the only thing worse than writing EJB deployment descriptors was getting XDocletto do it. Now, I just annotate my class with "@WebService", and it's all taken care of behind the scenes (as it should be).
Of course, some things are becoming too easy — it bothers me how many developers are writing code that automatically generates database tables. The problem is, they generally don't specify foreign keys, or constraints, or a lot of the other features that a good data model brings to the table... I sure hope I get to be as cranky as you when I get older. Don't make me call your mother! -
Re:Isn't it a little bit naiveI was thinking that 'meh, Telvin is probably right'
... Yeah, you're probably right that he's right. But here's an explanation from Ken Thompson covering the same topic. I'd count Ken Thompson as an authority myself. -
Take a look at Venti
The guys over at Bell Labs developed Venti as a part of their Plan9 Operating System. If you are not adventurous enough to install Plan9, they have a great set of ports called Plan9 Port that has most of the exciting bits of Plan9 for other *nix like Operating Systems including Linux and Max OS X. Venti is an archival storage server, utilities and filesystem. It works with both magnetic and optical media.
-
Take a look at Venti
The guys over at Bell Labs developed Venti as a part of their Plan9 Operating System. If you are not adventurous enough to install Plan9, they have a great set of ports called Plan9 Port that has most of the exciting bits of Plan9 for other *nix like Operating Systems including Linux and Max OS X. Venti is an archival storage server, utilities and filesystem. It works with both magnetic and optical media.
-
Plan 9 has some answers, even for Linux boxes
-
Plan 9 has some answers, even for Linux boxes
-
Re:Passwords suck
Really, the thing to do to address this is some trivial googling. Use a secure password store and a decent protocol: http://plan9.bell-labs.com/sys/doc/auth.pdf
-
This comes up pretty often
Step 1: Whatever hardware you get, be sure to make sure that it is compatible. The easiest way to do this is to buy a centrino system, because that means all the major hardware will work properly
:)Step 2: Use Ubuntu. It's the easiest, bar none. It gives you access to gigantic repositories (debian.) It has by far the most support today, meaning that you're more likely to find an install package for software on Ubuntu.
Step 3: Get lots of RAM. This is the most important hardware-related advice I can give any user of any computer
:)As for reading, I suggest The Unix Programming Environment by Kernighan and Pike. It will help you understand Unix, which will help you whether you're using Linux or Slowlaris.
-
Re:Some good, some badTalking about Timemachine, though: that really IS a true innovation, even if I wonder how big a HD it would take me to be able to timetravel all my apps back to, let's say one week? That isn't an innovation! Plan 9 had that.
-
Plan9
The Plan 9 livecd boots in ~5 seconds in VMware...
-
Re:Free Systems
He was talking about usable operating system.
Plan 9, and even moreso its derivative Inferno, is a "usable operating system" under most reasonable definitions. As are numerous of the others suggested.How many people browse the web under Syllabe, Haiku, ReactOS, FreeDOS ???
Browsing the web is not the only important application of a computer. Saying there are two basically free operating systems, GNU/Linux and BSD is inaccurate in the same way as saying that there are three computer operating systems, Windows, MacOS, and Linux. -
Re:Computers are at their hearts....
Whenever someone goes on about `trust` and computers, show them this:
http://cm.bell-labs.com/who/ken/trust.html
(Some people attempt to continue babbling, talking of new detection techniques, and expensive hardware, but you'll have done your bit.) -
a decade of ...
vague semantics, confusing specifications, unwarranted complexity, standards proliferation, poor tools, and wildly inappropriate application. Not to mention rampant disregard for existing work in nearly every arena it entered. So the essence of XML is this: the problem it solves is not hard, and it does not solve the problem well.