Domain: bell-labs.com
Stories and comments across the archive that link to bell-labs.com.
Comments · 1,559
-
Re:Find a new job.
Yes, that is true. Find the new job before quitting the old. Personal and professional growth is absolutely a part of the decision criteria for selecting and staying with a job. The fact that it has taken the original poster years to figure this out does not say anything positive about his or her drive.
Read some books. Here are some recommendations.
- The Practice of Programming by Kernighan and Pike is an all time classic. This one is my strongest recommendation.
- Is object oriented programming the next step for you? Here is a classic by Grady Booch.
- I find Martin Fowler to be a great author on next step kinds of topics for software developers.
- Are design patterns the next step for you? The original GoF book is my recommendation.
- Are relational databases your next step? My favorite book on this subject is a LAN Times Guide to SQL.
- Is the next step to be a team lead? Then you should really read Code Complete by Steve McConnell.
-
Re:Cue standard slashdot responses:
Yes, there is. It's called Plan 9.
-
Re:Expand
Read Knuth's Art of Computer Programming.
The benefits of reading this is twofold: 1) you can say that you've actually read it, and 2) you can refer to it in any programming related argument: "Look it up in Knuth!"Seriously speaking, the books I've found useful (more so than Knuth, anyway) in improving my programming or software engineering skills (in no special order):
You'll notice that programming is not just about programming. Seeing beyond one programmer, one team, one language, one operating system, one tool, one method, one project, etc. gets you to another level.
-
Re:It is not a pain if you have FUSE
If you like remote filesystems as part of your namespace, have you looked at plan9?
We've had sshfs for 15 years -
Why that does not work, and can't work.
You can't count votes with software.
Decentralized vote counting reduces the damage that individual fraudsters can implement to the point where the inevitable human corruption will tend to cancel itself out. Centralized vote counting, which is made possible by the elimination of paper ballots, amplifies the ability of individuals to influence the vote, to the point where elections can literally be stolen at the national level.
Do you trust any single programming-for-profit team more than you trust the co-operative efforts of thousands of grass-roots volunteers located all over the country? -
deep sigh
-
deep sigh
-
deep sigh
-
deep sigh
-
You are not expected...My favorite: You are not expected to understand this
See here for an explanation (from the horse's mouth, as it were...)
-
Re:Then what for...?
Psst, Plan9 is the word. Pass around.. http://cm.bell-labs.com/plan9/
-
Re:Different markets
Not sure about NetBSD, but since TFA says that Los Alamos is buying a few thousand of these, it should be safe to say that it will run Plan 9 from Bell Labs http://cm.bell-labs.com/plan9/
-
Re:OK then, $100mill question
No. Ken Thompson invented the the hierarchy file system. What people don't know is he invented the hierarchy music player too! This was in the late 1980s. He even talks about it in his interview (PDF or HTML) "UNIX and beyond."
If Apple bothered to learn a bit about Plan 9's history they would of saved themselves 100 million USD. -
The Edward Tufte of graphs
If you're looking for something that is more specific for creating better graphs and charts take a look at William Cleveland http://stat.bell-labs.com/wsc/ his work should be required reading for all college statistics majors.
-
Early Unix history and evolutionThose interested in an authoritative treatment of the above subjects might like Dennis Richie's article "Early Unix history and evolution". He was there, of course.
-
Re:Back of the Envelope
In the article I referenced in Wikipedia attributes that (the bits of paper) to Fermi not Taylor. A quick googling would seem to confirm this.
According to the wikipedia article on the Buckingham Pi Theorem, Taylor is commended for his calculations on the energy from the atomic bomb based on the videos. This is a similar story to the Fermi one, but there appear to be two distinct stories here. -
Re:I don't like it
Is it possible for me to go anywhere or do anything without escaping some kind of little browser getting in my business?
Yes. -
Re:PoE, AoE, ... , EoE!
Sounds like Plan 9.
-
Re:Don't make assumptionsActually there are also still the bell labs of new, they even have a website: http://www.bell-labs.com/
I recently bumped into a more biology-related research paper of them, and that is (still) pretty far away from communications or information systems. Also look at the various IBM labs, who are doing more diverse things than you might think. All this can be pretty far away from 'standard' computing issues and really requires non-CS engineers.
-
Re:Comparision
Yeah you're right. I also forgot the Transistor. List of Bell Labs Nobel Prizes
-
Re:Zzzzzzz.....Make the socket interface a filesystem, and all you do is mount a fileserver over that, to create a socks proxy/http proxy/whatever. All apps get the capability of doing networking over a proxy, transparently - no need for using libs or prelinking hacks that usually don't work.
I used to work on the System V /proc filesystem. I was really ugly because everything useful all went through a massive ioctl switch. Check out what the Plan 9 folk themselves say:Nonetheless, it is possible to push the idea of file-based computing too far. Converting every resource in the system into a file system is a kind of metaphor, and metaphors can be abused. A good example of restraint is
/proc, which is only a view of a process, not a representation. To run processes, the usual fork and exec calls are still necessary, rather than doing something like
cp /bin/date /proc/clone/mem
The problem with such examples is that they require the server to do things not under its control. The ability to assign meaning to a command like this does not imply the meaning will fall naturally out of the structure of answering the 9P requests it generates. As a related example, Plan 9 does not put machine's network names in the file name space. The network interfaces provide a very different model of naming, because using open, create, read, and write on such files would not offer a suitable place to encode all the details of call setup for an arbitrary network. This does not mean that the network interface cannot be file-like, just that it must have a more tightly defined structure.
-
Re:Plan 9 is cool
The whole OS is mainly designed to run across multiple computers on a network. It abstracts everything into a file, way more than unix. It's designed for large scale environments and not single user stuff.
Also, there is a PDF detailing the Fossil archival server and Venti FS.
It's totally cool. -
Re:Plan 9's web browsers
Inferno can be hosted on other operating systems or run native on its bare hardware. You can install Inferno for Plan 9 and run fgb's script from
/n/sources/contrib/fgb/rc/charon (this file can be accessed in the Plan 9 name space after running 9fs sources). This script runs Inferno; binds Plan 9 name space to Inferno's /n/local; binds Plan 9's devices to Inferno's name space; and runs charon in Plan 9's window manager instead of Inferno's window manager. Basically it is like running a Mono application on Linux but a lot more sane. -
Re:/proc on steroids
Linux got the idea for
/proc from Plan 9. However, it a very dumbed down version of Plan 9's. One of the major differences is that Plan 9's /proc controls processes while Linux really does nothing but represent them to some degree. One example is that you either kill a process by writing 'kill' to its clt (control) file or delete its directory. Plan 9 requires less syscalls thanks to this design. Inferno also has this design to manage its processes. Imagine this with Plan 9's distributing ideas... -
Re:I'm a "Plan 9 from Bell Labs" user
> Theo wanted our compilers when he didn't want the license
> (as imposed by Lucent lawyers) but since they have been dual
> licensed we've not seen him around.
Is there any license for the compilers other than
http://cm.bell-labs.com/plan9/license.html ?
It sure looks it's written by lawyers, though earlier versions was worse ;-) -
Re:How does it compare with the SavaJe OS
There is APE for POSIX support. And linuxemu for emulating linux binaries.
I personally have not checked out Savaje OS. Inferno would be most comparable to such an OS. Inferno is based on many of Plan 9's ideas but with a new programming language, Limbo (famed for being the only other language than C Dennis Ritchie documented) and a virtual machine, Dis. Limbo can run on bare hardware without a host operating system with around 700KB of memory.
Rob Pike explains the advantages of the Dis virtual machine. Unlike the .Net and Java virtual machines which are stack based Dis is register based. This allows it to run on bare hardware and doesn't require a (according to some heavyweight) operation to translate it from stack to register. Dis provides virtually infinite registers like Parrot. For more information read Pike's paper, The design of the Inferno virtual machine. -
Re:How does it compare with the SavaJe OS
There is APE for POSIX support. And linuxemu for emulating linux binaries.
I personally have not checked out Savaje OS. Inferno would be most comparable to such an OS. Inferno is based on many of Plan 9's ideas but with a new programming language, Limbo (famed for being the only other language than C Dennis Ritchie documented) and a virtual machine, Dis. Limbo can run on bare hardware without a host operating system with around 700KB of memory.
Rob Pike explains the advantages of the Dis virtual machine. Unlike the .Net and Java virtual machines which are stack based Dis is register based. This allows it to run on bare hardware and doesn't require a (according to some heavyweight) operation to translate it from stack to register. Dis provides virtually infinite registers like Parrot. For more information read Pike's paper, The design of the Inferno virtual machine. -
Plan 9's web browsers
First of all there is Charon from Inferno. It supports html, EMCAScript (1.1 IIRC), CSS, DOM (level 1 IIRC) and https. (See screenshot however this one is a bit outdated)
Abaco is the most actively developed Plan 9 web browser. It supports most of html. DOM level 3 development has been started. Mozilla's Javascript engine has been ported to Plan 9 and can be used today for a Javascript shell. This will provide abaco with Javascript in the future. Work on CSS has started but I do not know what has been done or where it is heading. Abaco has been ported to Linux and friends via Plan 9 from Userspace. Package managers are encouraged to make packages of abaco for their systems. (See screenshot)
Then there are webpage, links, mothra, and htmlfmt.
Finally there are text web browsers for acme (htmlfmt for Plan 9 and see this for Inferno)
In other news, SDL now works on Plan 9. -
Here's the Plan 9 home page
-
I'm a "Plan 9 from Bell Labs" user
"Plan 9 from Bell Labs" is the proper name of the OS.
Plan 9 is now community driven, albiet from a small community, mostly the same people that have been there all along.
It has USB sound support and AC97 support is a new one on me.
I use it still because the user environment is the best one I have encountered for text editing and interecting with the shell. Most users use VNC to get to their X11/Windows desktops where their web browser lives.
Building a web browser from scratch is one of those never ending tasks that frankly, just isn't worth your while. That said there is Mothra - no tables, no css, no frames etc. that Tom Duff (yes that Tom Duff) wrote many moons ago and one of the community is beavering away at his project Abaco and has moderate success.
One of the main tenets to Plan 9 is "everything is a file" and the system is built around the notion of a distributed name space in the shape of a directory tree rather than being a reflection of the disk contents. The canonical example of this is ftps where the remote ftp site is presented as a directory tree at /n/ftp
Name spaces are process independent so you can build them per process which feels a bit like chrooting.
Exporting a name space is part of the deal, this presents many gifts that were not deliberately shoe-horned in such as remote step debugging across architectures, sending sound to a remote soundcard, importing a remote machine's network stack instead of using a gateway (including non-plan9 machines via ssh), importing remote filesystems (including non plan 9 machines). All this is facilitated by the 9p protocol.
As a micro/macro kernel hybrid all this is achieved in just 37 syscalls which is a source of amusement and a feeling of superiority when compared to Linux' 300+ (so many they are not even enumerated any more).
Linux is derided in the mailing list ("For amateurs, by amateurs") as well as the failings of the other braindead OSes we have to deal with ("If only they did it like us").
Linus has stopped by in 9fans to whine on about stuff and was seen off, Theo wanted our compilers when he didn't want the license (as imposed by Lucent lawyers) but since they have been dual licensed we've not seen him around.
Inferno isn't plan 9, it's another product built on similar principles that was sold off by Lucent.
Lucent's management of Plan 9 in hindsight could have prevented adoption when it was crucial - it was $300 per copy prior to v. 3 and once a free download had a "copies of all modifications must be sent to Lucent" clause and other annoying restrictions in it. These have been lifted now but they boat could already have sailed.
The notion of distributed computing has gained ground in recent times and Plan 9 could have been at the forefront with distributed computing being built in from the start.
All that said, Plan 9 was never intended as anything more than an experiment and some ideas have slowly crept into other products (or possibly independently invented) - notably Windows XP presenting their stuff as files/folders, ftpfs in Linux, single sign-on. -
The review is not so great
The review is not so great in terms of accuracy i.e. there is no emacs (check out acme, sam, ed, and smacme instead) and the 640x480 resolution is nonsense. 9fans certainly isn't so grateful about this review.
Check out the Plan 9 documentation if you are interested in understanding Plan 9. -
Re:Zzzzzzz.....
"We have persistent objects, they're called files." -- Ken Thompson
-
The notion of good research
man page != implementation
http://cm.bell-labs.com/magic/man2html/1/emacs
NAME
emacs - editor macros
SYNOPSIS
emacs [ options ]
DESCRIPTION
This page intentionally left blank.
SOURCE
MIT
SEE ALSO
sam(1), vi(1)
BUGS
Yes.
Copyright © 2006 Lucent Technologies. All rights reserved.
and vi(1) isn't what you might think either -
The notion of good research
man page != implementation
http://cm.bell-labs.com/magic/man2html/1/emacs
NAME
emacs - editor macros
SYNOPSIS
emacs [ options ]
DESCRIPTION
This page intentionally left blank.
SOURCE
MIT
SEE ALSO
sam(1), vi(1)
BUGS
Yes.
Copyright © 2006 Lucent Technologies. All rights reserved.
and vi(1) isn't what you might think either -
Plan 9 is cool
I've never used it, but Plan 9 offers a radically different archival storage system called Venti.
Basically it never deletes old blocks of data from the server. Blocks are write-once, identified by a really large hash (collisions are so improbable that the possibility can be totally ignored). This allows you to copy lots of redundant data to the server (such as periodic backups) without worrying about the storage space. If the blocks were ever copied there before and they have not changed, they won't take up any space! -
Plan 9 ISO Mirrors
Before y'all go pulling down the ISO to try it out, the mirrors are listed at http://netlib.bell-labs.com/wiki/plan9/Mirrors/in
d ex.html . -
Re:Where is the latest & greatest in OS develo
Linux does have a ton of research-level development on it. You can do amazing things that you can't do anywhere else. Unfortunately the history of UNIX weighs in very heavily in almost all OS development. The fact is that the problems with UNIX are obscured by how horrendous Windows is. Think how much we could really move forward if we were to take some fresh ideas like Plan9. Unfortunately the software economy is too mature for a cutting-edge research OS to be able to get a critical mass of developers. No one wants to write software for a new OS when there's already so much open source out there for Linux/UNIX. If you could get paid to do pure research it would be pretty fun though.
-
Re:Unfortunately
Don't forget Plan 9. We are...err...still alive.
-
Don't exist?
"Taking full advantage of the processing power that those multicore architectures potentially make available requires operating systems and development tools that don't exist largely today,"
ahem... a*hem* -
Re:WTFPlan 9/Inferno were talking about secure chat yesterday (before the 'attack' happened):
caerwyn> tmcm, i rewrote the cryptfile.b to work as a file fs instead of a file2chan.
(from #inferno on freenode; I have only removed join/part/disconnected/etc messages)
caerwyn> the only advantage is that the standard kfs can be used because it can read the file length, which is not available in a file2chan
caerwyn> is anyone interested in having a secure, encrypted, chat channel?
tmcm> yes, i am
tmcm> have you posted the new cryptfile.b yet?
tmcm> i'm interested in that
tmcm> comcast has really been fucking up in my area
tmcm> i've been offline for most of the past 24 hours
caerwyn> hi tmcm
caerwyn> i began looking at all the ways i was giving away private info in the last week.
caerwyn> what was easily trackable and logged etc. by outside companies and govt.
caerwyn> it's hopeless.
caerwyn> even my local public pool started requiring photo id with a barcode that they scan for everyone entering the pool.
caerwyn> and this applies to kids too!
caerwyn> it freaked me out.
caerwyn> time to quit using google/gmail etc. fire up tor. encrypt all network connections.
caerwyn> turn off the mobile phone
caerwyn> throw away the loyalty cards
caerwyn> i got a letter from wells fargo recently saying someone had stolen the computers storing my personal data.
caerwyn> who can you trust
tmcm> no one
caerwyn> bbl
caerwyn> back
caerwyn> bbl
tmcm> caerwyn: have you written or considered writing anything for osnews?
caerwyn> i considered it. and started writing something. but not much.
caerwyn> its hard to write that kind of thing. takes ages.
caerwyn> my conclusion of the day is that email is no way to have a private conversation
caerwyn> and neither is irc
tmcm> right
caerwyn> i spent over an hour today setting up gnupgp and thunderbird
caerwyn> and looking at webmail etc.
caerwyn> it's all hopeless.
tmcm> i thought the spree service you have/had set up was pretty good alternative
tmcm> you get user authentication and encryption if you mount it with -C
tmcm> that should read (user authentication) and (encryption if you mount it with -C)
caerwyn> yes. with /appl/demo/chat/chatsrv.b that'd be an encrypted private conversation
caerwyn> email reveals too much in the headers. the sender, receiver etc. with an inferno append only mailbox a user could mount the service and append an encrypted message.
caerwyn> and the connections could all go through tor.
caerwyn> and the userid's are anonymous
tmcm> you've heard of nym.alias.net, right?
caerwyn> no
tmcm> finger help@nym.alias.net
caerwyn> i was looking at some anonymous remailers todays
tmcm> nym servers allow you to have a two way exchange
tmcm> instead of just the sending feature of typical mixmaster setups
caerwyn> i'll look at it tomorrow
caerwyn> goodnight
And as we speak discusion in #acme/#plan9 is taking place about moving to a 9P chat service and having a relay to irc for newcomers. -
Re:Web Based != access everywhere
That would be the reason why 9P isn't web-based. Ken Thompson and Rob Pike had some good understanding of making a good design.
-
Inferno
They don't want their whole lives bound up in one piece of hardware. People want to get access wherever they are, from whatever device they're using.
Isn't that what Inferno and Plan 9 are all about? It seems Ken Thompson was looking about 20 years ahead of his time. -
Re:Let me be the first to say
-
Mod parent up
"Are you like in your 30's or 40's? The real classics are games like Space Travel for Unix."
Thanks for the laugh! Really interesting game, and how it led to the Unix being created first on the PDP-7.
http://www.cs.bell-labs.com/who/dmr/spacetravel.ht ml -
Learn to learn
If you're asking such a question, you first have to learn to learn. Seriously, I'm sure of all *nix users here on
/. (and elsewhere), 90% never asked "How to [...]". They just Googled it and learned by themselves, because it's simply interesting. I don't understand why people "Ask Slashdot" while they won't even read the previous ones; because, this has been asked 1000 times, may it be "learning UNIX" or "learning to program". That's the same, you can't *know* UNIX/*nix if you don't know how to program -- and the answer's always the same: learn to learn, do it, and RTFM.
RTFM isn't an insult, it's something that we all do; saying RTFM isn't rude, it's a service given to you; RTFM is our way to say: look by yourself, because once it becomes a reflex, you'll do whatever you want, a lot faster.
So now, what fine manual should you read to have some *nix skills? Well, TCPL seems to be a requisite, installing a GNU/Linux distro and using it (it means, ditching Windows completely, no dual boot), then some book on UNIX programming (because the POSIX/*nix system calls API shows you how UNIX is designed, and what IS actually UNIX), and then, if you're only interested in doing some techie stuff, just install and configure the most popular daemons (postfix, apache2, etc). If you start by this last step, you won't actually understand how it *works*, and it will be done in no time (since it's really easy), but you won't have learned much.
Once again, learn to learn by yourself. Don't rely on courses. The only CS interesting courses I have ever been to are software design or theorical CS (I'm a CS master student). The rest ("UNIX", programming, networking, etc) I already knew [because I had learned to learn ;)] or could have learned by myself (or it was just not interesting to me, like some lower level/electronics stuff). -
reinvention...
Actually, the people who really do understood Unix, reimplemented it well.
-
Re:defend his position that microkernels are crap?
Plan 9 solves all those problems in a sane way and its only got 28 syscalls.
-
Re:defend his position that microkernels are crap?
-
Re:Prior art if there ever was
Just another one: c2l - C to Limbo. The only two languages Dennis M. Ritchie has documented on.
-
Re:Prior art if there ever was
Just another one: c2l - C to Limbo. The only two languages Dennis M. Ritchie has documented on.