Domain: bell-labs.com
Stories and comments across the archive that link to bell-labs.com.
Comments · 1,559
-
Re:CoolBell labs only changed their name. They're still around today operating as Lucent. http://www.bell-labs.com/
On the other hand, AT&T had a nifty lab of their own. http://public.research.att.com/
I don't see what the hubbub about all of this is, though. The forced split of AT&T was a success, in so much as creating competition and removing the public's reliance on a single firm. With this acquisition by one of the largest baby bells it brings the company back in line to compete. It's not like they'll suddenly be allowed to buy out Verizon and create another monopoly on that scale.
To top things off, even if they were to obtain a monopoly on the telephone system again it would never be as powerful as the one they once had. Today we have Cell Phones and VoIP. There's other means of efficiently communicating over long distances. They would basically have to buy control over most of the network comprising the US portion of the Internet to be able to come close to what they once had. I just don't see that happening any time soon.
-
Re:Furthur Compression
Yes, you could using hash-trees. I'm surprised the creator of TinyDisk didn't do it himself.
This whole thing reminds me a lot of Venti. -
Re:the irony of it all!
That's like saying the only reason UNIX was written was to test a file system.
Wasn't the reason UNIX was written was over a videogame? -
Re:Hardware
What meaning does this statement have at the end of the day ? Why do I care about an operating system's pedigree ? Either it does what I want, or it does not. In fact, it seems pretty silly to market something solely on the basis that it still has ten year old bits of code floating around in it.
Solaris could do anything and everything that Linux could do. Why would Sun switch from Solaris to Linux if Solaris can do everything that Linux can do?
"unique and different" are two words which describe Microsoft. I wonder why their way of doing things appeal to you ? It may have escaped you that people want things that are standard and interoperable. I want to choose between vendors or open source products that just work. I don't want to see the wheel re-invented each go-round.
You should read more about Plan 9. Plan 9 isn't a reinvention of the wheel; it is something completely different. And, yes, interoperatability is quite possible with Plan 9 (even though I must admit that Plan 9 is currently a research OS, so the applications are a bit lacking). I was just using Plan 9 as an example; if I were a corporation dropping my Unix product, I would rather go one step above the competition (Plan 9) rather than a sell a complete clone of something that I have already sold (Linux).
The term "better designed" means nothing. Will it allow me to do my job better, or not ? Sure, x86 is a heap of shit. But if it performs better, why should I care ?
Using a chip that is better designed for your purposes may get you more "miles per gallon" for your job. The SPARC may fit your needs if you want a very powerful workstation, the x86 may fit your needs if you want a PC. That's up to the customer to decide.
There is no such thing as too much competition. Sun's hardware is among the best there is.
You're right, there is no such thing as too much competition. However, I still believe that Sun is better off selling SPARC machines with Solaris than x86 machines with Linux. I have a feeling that Dell would just kill Sun if Sun made that move.
-
Re:Because of old and crappy software, and lazines
recent by geological time
UTF was invented and used as the *only* charset in an OS before Windows 95 was even in beta
http://plan9.bell-labs.com/sys/doc/utf.html -
YOU might be
my OS is where UTF8 [pdf] was invented.
-
YOU might be
my OS is where UTF8 [pdf] was invented.
-
Re:hats off to Bram, Bill Joy, and ATTAnd, did you read, and do you still have your copy of that BSD book...
Yes, I worked at Bell Labs in those days, and I still have lots of old UNIX docs. Sounds like you are talking about the 5-volume set of 4BSD manuals, which built on the Bell Labs UNIX v7 manuals. Dennis Ritchie has a page with links to them and to other interesting UNIX historical docs.
-
Re:hats off to Bram, Bill Joy, and ATTAnd, did you read, and do you still have your copy of that BSD book...
Yes, I worked at Bell Labs in those days, and I still have lots of old UNIX docs. Sounds like you are talking about the 5-volume set of 4BSD manuals, which built on the Bell Labs UNIX v7 manuals. Dennis Ritchie has a page with links to them and to other interesting UNIX historical docs.
-
Userspace Filesystems: try Plan 9 from Bell Labs
Plan 9 had userspace filesystems. Moreover, it encouraged services to export control interfaces as filesystems -- so you could mount a service and then configure it using open(), read() and write().
Have a look at the Plan 9 wiki. You can even run it inside vmware or Xen. -
Re:Grammer Checker- New idea
Been there, done that:
http://cm.bell-labs.com/cm/cs/tpop/Markov.java
Although this (short) program uses these state tables in order to spew out superficially good looking english text.
For example output, state table from:
http://www.nytimes.com/2005/10/02/magazine/02freak .html
Twenty-five hundred tons. That's how much manure was produced every day and tries to keep all three of you
from experiencing that telltale soft smush of a police captain, argued her dog-poop case. "While adults like
yourselves are appalled and disgusted by the sight of the Hoboken City Council, Lauren Mecka, the daughter of
a nuisance than horse manure ever was. But if you are, say, a parent who walks two kids to school every day
and tries to keep all three of you from experiencing that telltale soft smush of a nuisance nonetheless. With
horses, the solution was simply to eliminate guns has proved extremely difficult. A given gun lasts a very long
time, and as with dogs, guns are widely loved. But getting rid of the manure went uncollected, which posed a
terrible problem. (This is to say nothing of the uncollected dog poop in his sneaker tread linked him to the real
problem - their poop doesn't just lie there, of course. In 1978, New York were licensed. Even though a license
is legally required, costs a mere $8.50 a year and can be easily obtained by mail, most dog owners do obey the
law. That still leaves 10,000 dogs whose poop is found on the second floor so that homeowners might rise
above it. Like so many cells, poop is left in public spaces each day. Over the last year, only 68 summonses were
issued in New York enacted its famous (and widely imitated) "pooper scooper" law, and the offender's feelings
of guilt - are at least as powerful as financial and legal incentives. If social forces get us most of the animal dung
produced in today's New York enacted its famous (and widely imitated) "pooper scooper" law, and with them
went their dung. Most of the dogs? It might help for a moment to think of a misstep, it is a nuisance
nonetheless. With horses, the solution was simply to eliminate guns has proved extremely difficult. A given gun
lasts a very long time, and as with dogs, guns are widely loved. But getting rid of guns in crimes. Consequently,
the most recent year on record, only 102,004 dogs in New York neighborhood confirms that compliance with
the occasional miscreant who fails to scoop? After all, a walk through just about any New York City for
unlicensed dogs. So even if the DNA solution. During a meeting last year of the horse urine, the deafening
clatter of hooves or the carcasses left to rot in the late 19th century. Much of the dogs? It might cost about $30
million is a good guess.) All their poop doesn't just lie there, of course. In 1978, New York is not so much with
dogs per se. So perhaps attending to the real problem - their poop - will prompt a solution. Here's an idea:
DNA sampling. During the licensing procedure, every dog will have to provide a sample of saliva or blood to
establish a DNA sample for all the dogs of New York's dogs licensed? Instead of charging even a nominal fee,
the city may want to pay people to license their dogs. And then, instead of treating the licensing law as optional,
enforce it for real. Setting up random street checks for dog licenses may offend some New Yorkers, but it
certainly dovetails nicely with the law is hardly complete. The Parks Department, meanwhile, which conducts
regular cleanliness checks of parks and sidewalks," she said, "it is children like myself and younger who run the
greater risk of contact and exposure. We're the ones who have our picnics, stage our adventures and carry out
our dragon-slaying fantasies on our parks' grassy lawns. The council, Mecka says today, didn't seem to be
vigorously enforced. Let's pre -
Hopefully in twenty years
Another operating system will have supplanted it.
Perhaps something open like Linux, but not necessarily Linux. I think Plan 9 has some potential:
http://www.cs.bell-labs.com/plan9dist/
I like Plan 9's idea of having one protocol, P9, for communicating in the network. Very simple.
Or better yet, most of us won't have to worry about operating systems at all (for the desktop), because many things become more standarized, drivers contain metadata detailing the device's operation rather needing to deal with every operating system's quirks and specific interface, and applications work seamlessly across platforms - perhaps by having a minimal universal API, perhaps by taking the JAVA idea on step further and making the OS the VM.
Please remember, my ideas are more to reach a goal than for being realistic or pragmatic, I'm not an expert in all these areas.... -
James West
No quite in the IT/OSS/Web/CS category, but still technology, I've always been very impressed with the work of Bell Labs' James West, best known for his work with microphones.
-
Re:i suggested this in the previous discussion
I refer you to any of a number of histories of c:
http://www.engin.umd.umich.edu/CIS/course.des/cis4 00/c/c.html
http://cm.bell-labs.com/cm/cs/who/dmr/chist.html
c is clearly an american invention. -
Based off of Plan9 Venti filesystem
This filesystem most likely stems from the ideas in Venti which is a filesystem that came out a few years ago. Link is included at the bottom. The (quite compelling) argument made originally is if you graph unique data growth (unique is important here) and compare it to the growth of commidity storage, as long as the storage growth is greater than unique data growth, there's no reason to ever delete anything since you essentially have infinite storage.
This is actually compelling for a large number of use cases. Many types of servers (think any sort of application server that's not a file server or something) fit this model. The disaster recover story is just fantastic, you can rollback to virtually any instance of the previous state of the filesystem.
FWIW, most new distributed SCMs are based on this same idea (like git or mercurial) so this is a pretty well-understood paradigm.
http://www.cs.bell-labs.com/sys/doc/venti/venti.ht ml -
Re:Bloat?
for some of us, our whole file system is append only :
http://cm.bell-labs.com/sys/doc/venti/venti.html
http://cm.bell-labs.com/magic/man2html/8/venti
Sean Quinlan now works at Google, I'm not sure if Sean Dorward does, but it seems most of the other people who built plan9 at Bell Labs do. -
Re:Bloat?
for some of us, our whole file system is append only :
http://cm.bell-labs.com/sys/doc/venti/venti.html
http://cm.bell-labs.com/magic/man2html/8/venti
Sean Quinlan now works at Google, I'm not sure if Sean Dorward does, but it seems most of the other people who built plan9 at Bell Labs do. -
Re:Bloat?
for some of us, our whole file system is append only :
http://cm.bell-labs.com/sys/doc/venti/venti.html
http://cm.bell-labs.com/magic/man2html/8/venti
Sean Quinlan now works at Google, I'm not sure if Sean Dorward does, but it seems most of the other people who built plan9 at Bell Labs do. -
Re:It's only fully open if...
Will the voter notice? I don't think so. If I were hacking the election machine, I would make the paper ballot match whatever the voter put it.
As for the paper tally, I don't think there will be one. If there were any in the previous elections, I am not at all aware of them. The reason people want to do electronic voting, is so that they don't have to perform a paper tally.
Is it far fetched? "As if someone is going to be able to insert code into the GCC compiler?" No, I'm afraid it is not far fetched. Just think about the amount of money that goes into election campaigns. A mere $1,000,000 is way more than enough to subvert the electronic system.
You asked me, if I think it's worth it to people to rig the vote by hacking a compiler and making sure that it is the compiler that is used (not hard!): How does it compare to the ease of replacing paper ballots? Or just throwing them away?
And here's where we get to the solution that I propose: Video tape all handling of ballots, and the counting of ballots. It is now easy to record all ballot access, and place those records on the Internet. People should always access ballots in full view of both cameras, and members of parties, and whoever else wants to be an observer. The observers can then verify the video records. ("Yes, that is really what happened. This is not a false video.") Etc., etc., etc.,. This is much harder to fake out.
No, it's not true that "no matter how you look at it, this system is better than paper."
Electronic voting is not as trustworthy, because we've seen demonstrations of just how easy it is to subvert these guys. You have not presented any reasons why the hack I linked to is not reasonable. This is a remarkably simple hack, and Ken Thompson described the basics of how to write it. It is not expensive, it is very easy to perform. All you need to know is how the compiler will be aquired. Somebody will have the authority to choose the compiler. All you need to do is to be that person, or to find out what that person will do, or to intercept the request to retrieve the compiler; There are many ways to put the bugged compiler in the right place.
You could even subvert the commands "mv," "cp", or have the operating system of the machine it's compiled on perform a well timed switch, when nobody's looking. There's a million ways to do this.
Do not mistake my criticism for luddite conservatism. You are speaking with a hardcore transhumanist programmer. I've been programming since I was 7, and I look forward to the day when I can detach my brain from my body, and load it into an electronic cube. That is until we have the technology to siliconize the brain. You can confirm that I think this way because I'm Internet bonded. I am totally into tech.
It just happens that, in this case, the best technology is called paper & pencil & video recorders broadcasting and archiving onto the Internet. -
Re:Secure Lines> When will I see the first voip provider which sends a Java client applet to my phone (not a PC) with the call?
Why, as soon as the VOIP provider embeds CALEA support in the client applet that it sends to your phone, sir!
> It's not architecturally necessary, but I'd like that kind of encapsulated/authenticated voip client. End-to-end encryption of every call.
What you propose isn't architecturally necessary. But neither is it architecturally sufficient.
Unless you're proposing to...
a) write your own Java client or use an open-source client from a source you trust,
b) install such a trustworthy client in read-only media on your phone (so that your phone's firmware won't ignore it and use a default built-in untrustworthy client),
c) block that exploit by writing/downloading/compiling your phone's firmware from a source you trust,
d) using a compiler you trust, compiled from source you trust, itself compiled on a system you trust, so that you don't get pwn3d by people who think like Ken Thompson
, as per "Reflections on Trusting Trust", Communications of the ACM, August 1984
e) install your compiled firmware on a phone in read-only fashion (oops, no flash ROM allowed!), so that the network can't tell your phone (either by exploit or by a design in the protocol) to "auto-upgrade" its firmware, overwriting your custom firmware with firmware from a source you don't trust,
e) find a VOIP provider that will transmit packets from a phone meeting requirements (a-d) inclusive, while not
f) having its doors bashed in on the rather sensible grounds that any provider that'll let you make a call from a device meeting (a-e) into the PSTN is by definition not in compliance with CALEA.If your adversary is merely the who owns the phone system (for a dose of irony, they're the third cousin five-takeovers removed from the people who brought us "Bell Labs"), you're just being paranoid.
And if your adversary is the one who pwns the phone system (for a double dose of irony, they're the third cousin five-administrations removed from the people who brought us "1984"), you're not being paranoid enough.
Serve the Computer. The Computer is your Friend.
-
Re:Ask the UNIX folk...
The Unix folk - Ritchie, Pike et al ditched Unix and root years ago and made a new system plan9 (though Ritchie was, by his own admission, more a famous name than an architect in plan9 - though he did do the compiler)
Spending years being not-free as in beer, plan9 languished during the Linux FOSS years until belatedly being opened up for version 3
Then Lucent lost loads of $$ in the dot-com crash and wound down Bell Labs (such as taking out every other light bulb) and the staff retired or left (mostly to Google)
as Rob Pike said "Not only is UNIX dead, it's starting to smell really bad." - circa 1991 -
Re:All your Internet are belong to us
Not only that, you are in that position every time you use a computer.
-
Kudos for one thing
At least the home page project does have an answer to "what is Columba", if not why.
<rant>
So many projects forget to explain what they are about. Go to the Plan 9 website, for example, and there is no "blurb". Instead only a link to a paper, which starts out with a section on OS history.
Or you can read the release notes, which say "The fourth release of the Plan 9 operating system from Bell Labs packages a major overhaul of the system at every level." Like we are supposed to already know what "the system" is. Yes, it's Plan 9, but what IS Plan 9? There is no overview.
At least Columba gave us an overview. Now if Columba had only had a "why" section as well, we might have seen a higher level of discourse in these slashdot comments. But instead the discussion is dominated by that one question, which could have been easily addressed on the website.
</rant> -
Re:Interface to metadata?
The "unit bastardization" is the A:, B:, C: thing
It breaks the filesystem namespace, it's ugly, there's a nice paper from Rob Pike and Peter J Weinberg where they compare and explain different namespace choices for several operative systems (unix, plan9, dos, VMS): The Hideous Name -
Re:What OS?
Since it has to go to outer space, Plan 9 seems like the obvious choice.
-
Kernighan on the unemployment line
Does this mean Mr. Kernighan is out of job?
-
Re:What did they do that B[erkeley]SD guys didn't
But when it comes to the stuff that gets used, I have a hard time remembering anything that came out of AT&T that I use.
Just because you don't hear about it (AT&T UNIX), doesn't mean it's not being used. AT&T UNIX ---> (Lucent) is still powering every Lucent 5ESS uses it to process your telephone calls. It is still being constantly developed to add more features to their switching products
-
Re:What is Salus talking about?
an extra '1' got prepended to the namespace at some point. So what you remember as Center 127 was 1127 by the time I was there (in 1995), and Dept 1271 was 11271.
You're right. This Bell Labs webpage confirms that the Computing Sciences Research Center was also known as Center 1127.
So, I think Salus should have written Center 1127, not Department 1127, but the gist of the article is correct. -
Re:What is Salus talking about?
an extra '1' got prepended to the namespace at some point. So what you remember as Center 127 was 1127 by the time I was there (in 1995), and Dept 1271 was 11271.
You're right. This Bell Labs webpage confirms that the Computing Sciences Research Center was also known as Center 1127.
So, I think Salus should have written Center 1127, not Department 1127, but the gist of the article is correct. -
Re:we've still got Google, for now
An important thread to note here is that none other than Carly Fiorina is the one of the principals in spinning off Lucent and Bell Labs from AT&T. She looked like a superstar for it though in fact Lucent was mostly just a beneficiary of being a telecom/networking company during the bubble when none could fail. Their stock history is interesting from a peak around $80 in 2000 to $2.88 today. Carly's time in the sun at Lucent was from the spinoff in 1996 until she jumped to HP in 1999. Here is a glowing Businessweek article on her when she took the helm at HP then. One interesting quote:
"she helped to turbocharge product development by the long-coddled Bell Labs engineers."
A guy told me once on an airplane beware any company or person who makes the cover of Businessweek because it usually means they've peaked and are starting down. He said it in context of SGI and its a rule that worked just as well for Carly.
Hindsight being 20/20 you have to wonder if Carly didn't get lucky at Lucent thanks to the bubble and she was made to look like a superstar when in fact she was a one women wrecking ball for research and development at both Lucent/Bell Labs and HP and its labs.
Another Carly theme at Bell Labs, if you go to their web site today they are a case study in out sourcing with their greatest achievement today looking to be the fact that they have labs in China, India and Ireland. -
Re:we've still got Google, for now
Anyway, in my arguments to encourage research into trying new ways of doing things, I always used Bell Labs as my favorite example/reason why we should.
That's okay, you just need to change what Bell Labs is an example of. I mean really, what has Bell Labs produced recently? Some very impressive stuff if you actually look at some of what has managed to trickle it's way out. Things like Plan9 and Inferno are actually very impressive indeed in terms of the core ideas (that is, the part the research division is responsible for). Had a little more money been thrown into really building something out of those they could have been huge. So really Bell Labs is an example of what happens when management stops paying attention to, and having faith in, their research department.
Want another example. How about Microsoft research? They have some very good people there, Tony Hoare and Leslie Lamport to name just two off the top of my head. If you dig around through some of the stuff they are working on there's some amazing ideas there. How much of that is actually seeing the light of day and making it into product? Very very little.
The reason Google seems so good is not because they have more good people doing research - in practice they probably don't. It's because management spends more time listening to and working with the research teams to see that those ideas actually get used.
The death of Bell Labs is just another example of what happens when the research department gets ignored. And yes, I am a bit bitter, having worked in a research department that regularly got ignored.
Jedidiah. -
Re:we've still got Google, for nowFirst of all, Linux is just an Unix clone, and it never had many fans at Bell Labs.
And Bell Labs gave up Unix _long_ ago:
Not only is UNIX dead, it's starting to smell really bad. -- Rob Pike circa 1991
Bell Labs moved from Unix to Plan 9 in the late 80' and then went on to work on Inferno.
Both Plan 9 and Inferno are Open Source now and live on outside Bell Labs, but their developers like to be very quiet, they rather code than talk or maintain websites.
But here are a couple of links:- Why Plan 9 is not dead yet And What we can learn from it by Ron Minnich from the Advanced Computing Lab, Los Alamos National Lab.
- The Ubiquitous File Server in Plan 9 by Dr. C. H. Forsyth of Vitanuova
And also many of the ideas of Plan 9 and Inferno live on as part of other projects like v9fs(9P distributed file system protocol support for Linux), Plan 9 from User Space(a port of many Plan 9 components to Unix), and wmii(a window manager partially inspired by Acme.) - Why Plan 9 is not dead yet And What we can learn from it by Ron Minnich from the Advanced Computing Lab, Los Alamos National Lab.
-
Re:we've still got Google, for nowFirst of all, Linux is just an Unix clone, and it never had many fans at Bell Labs.
And Bell Labs gave up Unix _long_ ago:
Not only is UNIX dead, it's starting to smell really bad. -- Rob Pike circa 1991
Bell Labs moved from Unix to Plan 9 in the late 80' and then went on to work on Inferno.
Both Plan 9 and Inferno are Open Source now and live on outside Bell Labs, but their developers like to be very quiet, they rather code than talk or maintain websites.
But here are a couple of links:- Why Plan 9 is not dead yet And What we can learn from it by Ron Minnich from the Advanced Computing Lab, Los Alamos National Lab.
- The Ubiquitous File Server in Plan 9 by Dr. C. H. Forsyth of Vitanuova
And also many of the ideas of Plan 9 and Inferno live on as part of other projects like v9fs(9P distributed file system protocol support for Linux), Plan 9 from User Space(a port of many Plan 9 components to Unix), and wmii(a window manager partially inspired by Acme.) - Why Plan 9 is not dead yet And What we can learn from it by Ron Minnich from the Advanced Computing Lab, Los Alamos National Lab.
-
Re:Great contributions made
The wiki at the Plan 9 website has activity as recently as August 14 of this year, so I'd say that it still has a pulse.
-
Re:Lock-free and Wait-free programming.
-
Blah Blah Blah
This is the same sensationalist troll who coined "Open Sores" back in June 1999 to mock FLOSS, and called Stallman a communist, and Torvalds Lenin.
Mr. Metcalfe, if we wanted to read intelligent rants on how Everything is Wrong, I think we can pick from several better sources than you, and might learn something from it instead of suffering through your screeds...
- JWZ http://www.jwz.org/doc/java.html
- Richard Gabriel http://www.jwz.org/doc/worse-is-better.html
- Rob Pike (pdf) http://www.cs.bell-labs.com/who/rob/utah2000.pdf
- Jef Raskin http://jef.raskincenter.org/humane_interface/summ
a ry_of_thi.html - ... (others?)
I would like to contribute this link to your history, that one day search engines might pick it up: Pompous Windbag
-
Where?
-
Re:Command line apps are easy to use
- You can link them together.
you like the pipes uh?. take a look at plan 9 then -
Re:How did you get a mod of 5?
> What can you program in Unix that you can't in Windows.
Right, effectively nothing. At the same time, you could also ask what can you program in Unix that you can't in a UTM? Well, nothing. Now what the original poster was refering to was the _philosophy_ behind the 2 programming environment offered by Unix & Windows. Unix follows the "do 1 thing and 1 thing well" then pipe-it up, shell-it up, awk-it up and 40 lines later you have what would have taken months of C, Java, C++ ; or $1000s.
You could be really surprised by the power behind this.
You can read about it more in this seminal paper by Unix gurus Rob Pike and Brian Kernighan: "Cat -v considered harmful"
It's mostly about "managing complexity" aka keeping things simple so they can fit in our brains :)
http://cm.bell-labs.com/cm/cs/doc/84/kp.ps.gz
Another example I like to use is Editors. For example, most unix editor allow you to run a command on a selection of text. The text editor do not have to implement anything about sorting, indenting, this, that and grow and grow and grow ... there is a Elegance in this approach (see the latest editor sam for example). -
Re:Oops
-
Re:Now...
Lucent Public License 1.0
Lucent Public License 1.02
Turns out it used to be a different license - and anyone who obtained it under the original license can redistribute it under that. Assuming that license suits you better, perhaps you could see if you can find anyone who can put it up under that, if you care enough? -
Re:Now...
I had a scan through http://www.cs.bell-labs.com/plan9dist/license.htm
l
What's the clause you object to? Doesn't it have to be redistributable to be classified as Open by OSI? -
Re:Another EXCELLENT reason to use open source..
Obviously you have not read Ken Thompson's excellent essay, Reflections on Trusting Trust.
-
Re:How can this be done?
> It is much much harder to write a compiler that generated good and fast code (now you need hundreds of experienced engineers working for years)
This assumption is wrong
see here and here
if it wasn't for licensing hiccups the plan9 c compiler would be OpenBSD's default by now :
"I am sorry for the strong minded way in which I am approaching this,
but I am very dissapointed [sic] that after years of requesting that the
plan9 c compiler become free so that we can start extending it and
working with it... that we could be rebuffed in such a way because the
lawyers have not been properly reined in." Theo de Raadt -
Re:How can this be done?
> It is much much harder to write a compiler that generated good and fast code (now you need hundreds of experienced engineers working for years)
This assumption is wrong
see here and here
if it wasn't for licensing hiccups the plan9 c compiler would be OpenBSD's default by now :
"I am sorry for the strong minded way in which I am approaching this,
but I am very dissapointed [sic] that after years of requesting that the
plan9 c compiler become free so that we can start extending it and
working with it... that we could be rebuffed in such a way because the
lawyers have not been properly reined in." Theo de Raadt -
Re:Perspective of non-C Programmers
We're pretty badly off-topic here, but what the hey...
C was first designed and implemented in the time period from 1969-1973. It is hardly a critique of its original designers and implementors that we have learned a lot about programming language design and implementation in the succeeding 30+ years, and that many of the constraints of the computing environment have been weakened or removed during that time. Indeed, some of the original designers of C and UNIX spent a lot of time 10+ years ago developing an alternative language and runtime for writing operating system and application code that fixes the problems with C that I described.
"In fact, when you are coding things like process and memory mangement routines and libraries, it is very handy to be able to do arithmetic with and compare to variables that are not "exactly" the same type, if the comparison or operation otherwise makes sense. Hence, things like the boolean FALSE and integer 0 being equal (which Java will complain about) are handy."
If by "handy", parent meant "tempting" but "error-prone" and "potentially insecure", I think there's about 30 years' experience to back up this claim. Things as fundamental or important as my operating system's process or memory management routines are occasionally broken in particularly dangerous ways because their programmer did something that seemed to "make sense" at the time, even though a "safe" programming language wouldn't allow it. Go look at the changelogs of a recent UNIX kernel for plenty of examples.
"The lack of dynamic type checking, operand checking and bounds checking allows the programmer to write low level or system code that gets out of the way of higher level code." I'm sorry, but I don't know what this means.
"Imagine the performance degradation at the kernel if every comparison was dynamically checked for type, operand and bounds." One would prefer that operations be checked statically whenever possible. This is not so much for performance as because failed runtime checks in low-level code are difficult to handle gracefully. That said, as I mentioned in my previous post on this topic, we have known for a long time how to build programming languages so that a combination of static and runtime type and operand checking will provide some correctness guarantees without signficantly impacting execution performance. IMHO, it's way past time to start using that knowledge.
-
Re:The future's here baby !!!
There are a set of device nodes #d #s #A, they are the physical devices on the host machine.
The login process mounts these in the namespace (starting at /) for each user that logs in.
One depends on the authors of these drivers to have revealed the full capabilities of the device. Sometimes this happens, sometimes not (and for good reason)
For instance, the ISA PnP device :
http://plan9.bell-labs.com/magic/man2html/3/pnp
bind -a '#$' /dev ... the driver serves two files for each function. These are a control file (/dev/pci/bus.dev.fnctl) which may be read for a textual summary of the device function, and a `raw' file (/dev/pci/bus.dev.fnraw) which may be used to read or write the raw contents of PCI configuration space.
BUGS
Access to the I/O and memory regions of a PCI device is not provided.
But if you look at something more likely to get used a lot, such as the VGA subsystem, then you will find a much richer set of possibilities :
http://plan9.bell-labs.com/magic/man2html/3/vga
bind #v /dev /dev/vgactl /dev/vgaovlctl /dev/vgaovl
e.g. :
echo blank > /dev/vgactl # blanks the screen until the mouse is moved
-
Re:The future's here baby !!!
There are a set of device nodes #d #s #A, they are the physical devices on the host machine.
The login process mounts these in the namespace (starting at /) for each user that logs in.
One depends on the authors of these drivers to have revealed the full capabilities of the device. Sometimes this happens, sometimes not (and for good reason)
For instance, the ISA PnP device :
http://plan9.bell-labs.com/magic/man2html/3/pnp
bind -a '#$' /dev ... the driver serves two files for each function. These are a control file (/dev/pci/bus.dev.fnctl) which may be read for a textual summary of the device function, and a `raw' file (/dev/pci/bus.dev.fnraw) which may be used to read or write the raw contents of PCI configuration space.
BUGS
Access to the I/O and memory regions of a PCI device is not provided.
But if you look at something more likely to get used a lot, such as the VGA subsystem, then you will find a much richer set of possibilities :
http://plan9.bell-labs.com/magic/man2html/3/vga
bind #v /dev /dev/vgactl /dev/vgaovlctl /dev/vgaovl
e.g. :
echo blank > /dev/vgactl # blanks the screen until the mouse is moved
-
ok, I'll advocate mine
-
ok, I'll advocate mine