NOTE: Apologies for the double posting, but I
forgot to wrap my sentences the first time, and
the lines were unreadably long. Also, apologies
for anyone I have offended with this screed. Both
disagreements and corrections are appreciated, so
long as they are civil.)
I just read this jeremiad at the Gemini Nucleus
site, and I'm not sure if to be depressed by its
implications, vindicated because it matches what
I've said for years, or outraged that it should
get to this point.
"Systems Software Research is Irrelevant" by Rob
Pike
(http://www.cs.bell-labs.com/cm/cs/who/rob/utah2000.ps)
What I *do* know is what this group should see it
as: a challenge. Pike has thrown down the
gauntlet, knowing full well that the academics
won't reply. What he hasn't counted on is is
*us*: the private fanatics, the grassroots
hackers who have nothing to lose except time and
pride if we take risks we can't meet. It is from
people like us that the next big thing will come
from, because *no one else is going to*.
This isn't a new problem; extreme though tey are,
the Futurist Programmers
(http://www.sgi.com/grafica/future/)
saw it coming ten years ago. All that has
happened is that things have gotten so frozen
stiff that people mistake marketing for
technology. The dot.com crash proved to everyone
that the technology didn't matter; all you needed
was a name and an IPO to shear the sheep. For all
it mattered, they could have been selling tulips,
instead of computers. The boom, and the bust, had
*nothing* to do with computers, at all, at all.
And neither do most of the things in the industry
today - .NET, Bluetooth, JINI, SOAP, all nonsense
names for marketeers to rattle off. If there's
any technology involved in them, I can't find it.
Think about it: if something doesn't come up,
then we could be locked into the MS/Linux/Mac
treadmill indefinitely, ever rushing to catch up
yet never getting anywhere. That alone is enough
reason to want to jump out of line.
They call the past ten years 'the computer
revolution'. **** that noise; I say we show them
what revolution is all about! Let's throw it
*all* away, and start fresh, with new ideas and
new systems that don't owe them anythinng. If we
don't, we'll be slaves forever.
(This has also posted to the Xanadu mailing
list.)
Puzzling Evidence, and a Call to Arms (take two)
RE:Puzzling Evidence, and a Call to Arms (take two)
> [ snip ]
>
>They call the past ten years 'the computer
>revolution'. **** that noise; I say we show them
>what revolution is all about! Let's throw it
>*all* away, and start fresh, with new ideas and
>new systems that don't owe them anythinng. If we
>don't, we'll be slaves forever.
I agree entirely. The world needs a complete new
operating sytem (programming language, desktop
metaphor, file system, etc, etc.) that is completely
NOT downward compatible. Something entire new that
isn't plagued with the faults in todays operating
systems, which, for the most part, are based on
PARCs research originally done decades ago.
The problem, of course, is getting it accepted
into todays world. Nevermind the fact that it's the
most revolutionary piece of software produced
to date... does it run my windoze applications?
Garaunteed that'll be the general public's responce.
Of course, the hackers will love it, and anybody
who knows anything about OS design and what-not...
but they aren't the general population. You'll
start out with a base of hackers and geeks, just like
Linux, and perhaps it'll slowly grow... like Linux.
But will it ever out do Windoze? In an idea world,
of course it would, but...
I think an OS like the one mentioned above would
probably have the best chance at destroying
M$... but it wont be easy. Somehow you have to
convince the general public (who are computer -
illiterate, or at the very least, uneducated about
low level computer topics) to use your "unsupported"
OS over Windows a "supported" (albiet poorly)
OS which supports all their devices and runs the
dreadfully slow M$ Office...
just my $0.02
Jeff
>
>They call the past ten years 'the computer
>revolution'. **** that noise; I say we show them
>what revolution is all about! Let's throw it
>*all* away, and start fresh, with new ideas and
>new systems that don't owe them anythinng. If we
>don't, we'll be slaves forever.
I agree entirely. The world needs a complete new
operating sytem (programming language, desktop
metaphor, file system, etc, etc.) that is completely
NOT downward compatible. Something entire new that
isn't plagued with the faults in todays operating
systems, which, for the most part, are based on
PARCs research originally done decades ago.
The problem, of course, is getting it accepted
into todays world. Nevermind the fact that it's the
most revolutionary piece of software produced
to date... does it run my windoze applications?
Garaunteed that'll be the general public's responce.
Of course, the hackers will love it, and anybody
who knows anything about OS design and what-not...
but they aren't the general population. You'll
start out with a base of hackers and geeks, just like
Linux, and perhaps it'll slowly grow... like Linux.
But will it ever out do Windoze? In an idea world,
of course it would, but...
I think an OS like the one mentioned above would
probably have the best chance at destroying
M$... but it wont be easy. Somehow you have to
convince the general public (who are computer -
illiterate, or at the very least, uneducated about
low level computer topics) to use your "unsupported"
OS over Windows a "supported" (albiet poorly)
OS which supports all their devices and runs the
dreadfully slow M$ Office...
just my $0.02
Jeff
RE:Puzzling Evidence, and a Call to Arms (take two)
>"Systems Software Research is Irrelevant" by Rob
>Pike
"It's not dead, it's...uh...resting."
>pride if we take risks we can't meet. It is from
>people like us that the next big thing will come
>from, because *no one else is going to*.
I'd love to help, but I'm afraid I don't have the
necessary creativity. I'm having a hard time just
getting a simple monolithic kernel up and running
versus something more exotic.
>Let's throw it
>*all* away, and start fresh, with new ideas and
>new systems that don't owe them anythinng. If we
>don't, we'll be slaves forever.
What is it about existing OSes that you don't
like? What itch needs to be scratched?
>Pike
"It's not dead, it's...uh...resting."
>pride if we take risks we can't meet. It is from
>people like us that the next big thing will come
>from, because *no one else is going to*.
I'd love to help, but I'm afraid I don't have the
necessary creativity. I'm having a hard time just
getting a simple monolithic kernel up and running
versus something more exotic.
>Let's throw it
>*all* away, and start fresh, with new ideas and
>new systems that don't owe them anythinng. If we
>don't, we'll be slaves forever.
What is it about existing OSes that you don't
like? What itch needs to be scratched?
RE:Puzzling Evidence, and a Call to Arms (take two)
>What is it about existing OSes that you don't
>like? What itch needs to be scratched?
Personally, I think mainstream OSs should be
othogonally persistant, for one. I also thing
they should be much more object oriented than they
currently are. I think programs should be compiled...
but not linked, until runtime. That way you have
the ability to over-ride objects with newer objects
but over-writting an object file... plus, you would
be able to re-use objects (especially easy if a
one file to one object relationship is enforced).
In general, I just follow the philosophy of, "If you
can do it, but it wont be compatible with current
OSs... DO IT!" Don't kludge up your OS to be
compatible with current OSs. If your developing an
operating system, you obviously don't like the current
choices... so why make one that's compatible with them?
Jeff
>like? What itch needs to be scratched?
Personally, I think mainstream OSs should be
othogonally persistant, for one. I also thing
they should be much more object oriented than they
currently are. I think programs should be compiled...
but not linked, until runtime. That way you have
the ability to over-ride objects with newer objects
but over-writting an object file... plus, you would
be able to re-use objects (especially easy if a
one file to one object relationship is enforced).
In general, I just follow the philosophy of, "If you
can do it, but it wont be compatible with current
OSs... DO IT!" Don't kludge up your OS to be
compatible with current OSs. If your developing an
operating system, you obviously don't like the current
choices... so why make one that's compatible with them?
Jeff
RE:Puzzling
>On 2002-01-10 21:46:19, Chris Giese wrote:
>What is it about existing OSes that you don't
>like? What itch needs to be scratched?
The answer's a bit long, and somewhat personal.
First off, a lot of it has to do with the simple fact that they haven't really changed much in the past twenty-five years. They still carry a lot of the assumptions that they had then, and were already known to be problematic, yet no one has offered anything that seriously solves the problems.
Take, for example, conventional file systems. The conventional notion is inherently hierarchical; it imposes a structure on everything, and forces everything to be categorized, whether it fits or not. It demands that both programmers and user keep track of file names and directory structures in order to find anything, and puts a wall up preventing the combining of data in multiple ways - the same information has to be copied over and over for each different application's format, or else has to mediated with complex and unreliabl tools like OLE. It also makes persistence problematic, because under most approaches it requires serialized objects to behave as files, which could get moved or mangled.
The limits of the current generation of uiser interfaces barely needs mentioning. If you can't see why the PARC User Interface as it exists today is a problem, then see Raskin's _The Humane Interface_ for some idea of what alternatives exist; he speaks far more eloquently tha I can, though he does tend to get bogged down in places with quantitative material.
As for the internals... well, I'm a bit of crank on these issues. I think that part of the problems of inefficincy and bloat come from programming at too *low* a level, and getting mired in details that the language processor would better handle. I actually intend to do the higher-level coding of my system(s) in languages that owe more to LISP and Smalltalk than to C. While there are inevitable performance hits to be taken from these, they are not as bad as one would expect; while naive compilers and interpreters for these languages tend to be inefficient, the higher-level code is actually easier to perform complex optimizations on. Also, since the source code will be both smaller and easier to understand (I hope), and easier to modify or extend. SInce the low-level, high-performance code will be mostly in assembly (or a lower-level language combining the traits of C with those of the primary system's language), the overall performance should be acceptable, especially given the powerful CPUs we have today.
Of course, not everyone here is working on OSes for the same reason. If yor goals are different than mine, no problem. The main thing any of use are doing here is learning, and that should be the first priority.
>What is it about existing OSes that you don't
>like? What itch needs to be scratched?
The answer's a bit long, and somewhat personal.
First off, a lot of it has to do with the simple fact that they haven't really changed much in the past twenty-five years. They still carry a lot of the assumptions that they had then, and were already known to be problematic, yet no one has offered anything that seriously solves the problems.
Take, for example, conventional file systems. The conventional notion is inherently hierarchical; it imposes a structure on everything, and forces everything to be categorized, whether it fits or not. It demands that both programmers and user keep track of file names and directory structures in order to find anything, and puts a wall up preventing the combining of data in multiple ways - the same information has to be copied over and over for each different application's format, or else has to mediated with complex and unreliabl tools like OLE. It also makes persistence problematic, because under most approaches it requires serialized objects to behave as files, which could get moved or mangled.
The limits of the current generation of uiser interfaces barely needs mentioning. If you can't see why the PARC User Interface as it exists today is a problem, then see Raskin's _The Humane Interface_ for some idea of what alternatives exist; he speaks far more eloquently tha I can, though he does tend to get bogged down in places with quantitative material.
As for the internals... well, I'm a bit of crank on these issues. I think that part of the problems of inefficincy and bloat come from programming at too *low* a level, and getting mired in details that the language processor would better handle. I actually intend to do the higher-level coding of my system(s) in languages that owe more to LISP and Smalltalk than to C. While there are inevitable performance hits to be taken from these, they are not as bad as one would expect; while naive compilers and interpreters for these languages tend to be inefficient, the higher-level code is actually easier to perform complex optimizations on. Also, since the source code will be both smaller and easier to understand (I hope), and easier to modify or extend. SInce the low-level, high-performance code will be mostly in assembly (or a lower-level language combining the traits of C with those of the primary system's language), the overall performance should be acceptable, especially given the powerful CPUs we have today.
Of course, not everyone here is working on OSes for the same reason. If yor goals are different than mine, no problem. The main thing any of use are doing here is learning, and that should be the first priority.
RE:Puzzling Evidence, and a Call to Arms
Did it again, dammit. That lack of word wrap is
is really annnoying; is it a misfeature of the
web site, or the browser I'm using (Opera 6 for
W98 - bear with me on that, as I'm having trouble
with connecting to my ISP under Linux; idiot that
I am, I can't get pppd working correctly)?
>On 2002-01-10 21:46:19, Chris Giese wrote:
>What is it about existing OSes that you don't
>like? What itch needs to be scratched?
The answer's a bit long, and somewhat personal.
First off, a lot of it has to do with the simple
fact that they haven't really changed much in the
past twenty-five years. They still carry a lot of
the assumptions that they had then, and were
already known to be problematic, yet no one has
offered anything that seriously solves the
problems.
Take, for example, conventional file systems. The
conventional notion is inherently hierarchical;
it imposes a structure on everything, and forces
everything to be categorized, whether it fits or
not. It demands that both programmers and user
keep track of file names and directory structures
in order to find anything, and puts a wall up
preventing the combining of data in multiple ways
- the same information has to be copied over and
over for each different application's format, or
else has to mediated with complex and unreliabl
tools like OLE. It also makes persistence
problematic, because under most approaches it
requires serialized objects to behave as files,
which could get moved or mangled.
For that matter, the idea of 'applications' is
one who's time has passed. Why should we be
forced to work on 'spreadsheets' seperately
from 'databases', seperately from 'word
processing', when in the end, they all are just
different viewpoints of the same things?
Especially when 90% of all activity in each is
the same sorts of things? Better to have a
general viewer/editor tool which can be
configured to provide different views or models
of material. EMACS and Web browsers show us
the potential ways, as in a way does the
'toolbox' apporoach of Unix shell scripts; but
they are too clumsy, limited and difficult to use. It is time to break free of the limits
that 'applications' and their 'files' impose on
us.
The limits of the current generation of uiser
interfaces barely needs mentioning. If you can't
see why the PARC User Interface as it exists
today is a problem, then see Raskin's _The Humane
Interface_ for some idea of what alternatives
exist; he speaks far more eloquently tha I can,
though he does tend to get bogged down in places
with quantitative material.
For more on the sort of things I mean, see the
Project Xanadu web page (http://www.xanadu.com/)
or consult your pineal gland.
As for the internals... well, I'm a bit of crank
on these issues. I think that part of the
problems of inefficincy and bloat come from
programming at too *low* a level, and getting
mired in details that the language processor
would better handle. I actually intend to do the
higher-level coding of my system(s) in languages
that owe more to LISP and Smalltalk than to C.
While there are inevitable performance hits to be
taken from these, they are not as bad as one
would expect; while naive compilers and
interpreters for these languages tend to be
inefficient, the higher-level code is actually
easier to perform complex optimizations on. Also,
since the source code will be both smaller and
easier to understand (I hope), and easier to
modify or extend. SInce the low-level, high-
performance code will be mostly in assembly (or a
lower-level language combining the traits of C
with those of the primary system's language), the
overall performance should be acceptable,
especially given the powerful CPUs we have today.
Of course, not everyone here is working on OSes
for the same reason. If yor goals are different
than mine, no problem. The main thing any of use
are doing here is learning, and that should be
the first priority.
is really annnoying; is it a misfeature of the
web site, or the browser I'm using (Opera 6 for
W98 - bear with me on that, as I'm having trouble
with connecting to my ISP under Linux; idiot that
I am, I can't get pppd working correctly)?
>On 2002-01-10 21:46:19, Chris Giese wrote:
>What is it about existing OSes that you don't
>like? What itch needs to be scratched?
The answer's a bit long, and somewhat personal.
First off, a lot of it has to do with the simple
fact that they haven't really changed much in the
past twenty-five years. They still carry a lot of
the assumptions that they had then, and were
already known to be problematic, yet no one has
offered anything that seriously solves the
problems.
Take, for example, conventional file systems. The
conventional notion is inherently hierarchical;
it imposes a structure on everything, and forces
everything to be categorized, whether it fits or
not. It demands that both programmers and user
keep track of file names and directory structures
in order to find anything, and puts a wall up
preventing the combining of data in multiple ways
- the same information has to be copied over and
over for each different application's format, or
else has to mediated with complex and unreliabl
tools like OLE. It also makes persistence
problematic, because under most approaches it
requires serialized objects to behave as files,
which could get moved or mangled.
For that matter, the idea of 'applications' is
one who's time has passed. Why should we be
forced to work on 'spreadsheets' seperately
from 'databases', seperately from 'word
processing', when in the end, they all are just
different viewpoints of the same things?
Especially when 90% of all activity in each is
the same sorts of things? Better to have a
general viewer/editor tool which can be
configured to provide different views or models
of material. EMACS and Web browsers show us
the potential ways, as in a way does the
'toolbox' apporoach of Unix shell scripts; but
they are too clumsy, limited and difficult to use. It is time to break free of the limits
that 'applications' and their 'files' impose on
us.
The limits of the current generation of uiser
interfaces barely needs mentioning. If you can't
see why the PARC User Interface as it exists
today is a problem, then see Raskin's _The Humane
Interface_ for some idea of what alternatives
exist; he speaks far more eloquently tha I can,
though he does tend to get bogged down in places
with quantitative material.
For more on the sort of things I mean, see the
Project Xanadu web page (http://www.xanadu.com/)
or consult your pineal gland.
As for the internals... well, I'm a bit of crank
on these issues. I think that part of the
problems of inefficincy and bloat come from
programming at too *low* a level, and getting
mired in details that the language processor
would better handle. I actually intend to do the
higher-level coding of my system(s) in languages
that owe more to LISP and Smalltalk than to C.
While there are inevitable performance hits to be
taken from these, they are not as bad as one
would expect; while naive compilers and
interpreters for these languages tend to be
inefficient, the higher-level code is actually
easier to perform complex optimizations on. Also,
since the source code will be both smaller and
easier to understand (I hope), and easier to
modify or extend. SInce the low-level, high-
performance code will be mostly in assembly (or a
lower-level language combining the traits of C
with those of the primary system's language), the
overall performance should be acceptable,
especially given the powerful CPUs we have today.
Of course, not everyone here is working on OSes
for the same reason. If yor goals are different
than mine, no problem. The main thing any of use
are doing here is learning, and that should be
the first priority.
RE:Puzzling Evidence, and a Call to Arms
Well i agree with everything that you said but i feel
that the OS's of today have done exactly what they
set out for and that was to please the general public
and as it was stated those general people are stuborn
and in most cases computer illiterate. They take what they
are handed and in this case MAC and WIN are the easiest to
get and use and see on the beutiful MS commercials.
But really i have looked through some FS's and i am
putting a manifesto together for some BoxOS fs perks
but then again they may get turned down if they are ill
let yall know. But what really pisses me off is
were are the kewl holographic computers and keyboards
i mean **** its 2002 and not one damn hologram? Or kewl
scifi type computer shesh gimme a break its the hardware
that is outdated sure intel and amd can make the chips faster
but the fact is the general setup of comptuers needs to adapt.
Also what current developers need to realize is there
target audience and what is comming around. The computer age is
fairly young and realize that most of these os's in
development are going to take some time to get estableshed
in this market from 3-8 years i'd think before it'll ever
be able to overtake a large linux or windows distribution.
This means that the audience u are looking at may not be the most
computer junkie people in the world but they surely have more
concepts and understanding that what is currently the audience (30+yrs)
so when developing you have to keep that concept in mind.
As for the execution and app protocall i really think your right
but i would go a step further and have the actual procedures or to
an extent ones that are used heavily available via the system internals.
Also with the advent of the internet and it's rapid growth why isnt the os
tied more closely into the internet not at high level (IE, Netscape, Opera)
but to the extent of even the kernal? Wouldnt it be nice if the first thing an
OS did was initialize TCPIP (or new protocal) and download the latest kernel builds
and execute all updates streamlessly and perform its own fast reboot and update the
os and everything and boot into the updated version? ERverything always up to date.
NO NOT WINDOWS UPDATE that's a bunch of fixes im talking real upgrading!
that the OS's of today have done exactly what they
set out for and that was to please the general public
and as it was stated those general people are stuborn
and in most cases computer illiterate. They take what they
are handed and in this case MAC and WIN are the easiest to
get and use and see on the beutiful MS commercials.
But really i have looked through some FS's and i am
putting a manifesto together for some BoxOS fs perks
but then again they may get turned down if they are ill
let yall know. But what really pisses me off is
were are the kewl holographic computers and keyboards
i mean **** its 2002 and not one damn hologram? Or kewl
scifi type computer shesh gimme a break its the hardware
that is outdated sure intel and amd can make the chips faster
but the fact is the general setup of comptuers needs to adapt.
Also what current developers need to realize is there
target audience and what is comming around. The computer age is
fairly young and realize that most of these os's in
development are going to take some time to get estableshed
in this market from 3-8 years i'd think before it'll ever
be able to overtake a large linux or windows distribution.
This means that the audience u are looking at may not be the most
computer junkie people in the world but they surely have more
concepts and understanding that what is currently the audience (30+yrs)
so when developing you have to keep that concept in mind.
As for the execution and app protocall i really think your right
but i would go a step further and have the actual procedures or to
an extent ones that are used heavily available via the system internals.
Also with the advent of the internet and it's rapid growth why isnt the os
tied more closely into the internet not at high level (IE, Netscape, Opera)
but to the extent of even the kernal? Wouldnt it be nice if the first thing an
OS did was initialize TCPIP (or new protocal) and download the latest kernel builds
and execute all updates streamlessly and perform its own fast reboot and update the
os and everything and boot into the updated version? ERverything always up to date.
NO NOT WINDOWS UPDATE that's a bunch of fixes im talking real upgrading!