What do you mean by saying the OS is "Object Oriented" anyway?
Well, it is. I haven't delved deeply into the code, but basically the Hurd operates by providing interfaces and allowing programs to implement these interfaces (similar to an abstract class/implementation relationship in C++) The reason this is a Good Thing[tm] is that it allows new filesystems to be easily developed and distributed independently of the Hurd itself.
Where the previous poster went wrong was in implying that this is a new thing -- even Unix files are polymorphic, and there's stuff in the Linux kernel that ressembles an object system. The real benefit in the Hurd is that it's all userland, so you can, for example, write, compile, and mount a new filesystem in your home directory without needing a single special privilege.
Point A: "Those government folks are lazy fools! They take our money and we don't see a single thing for it! Say they're spending it on "welfare" or "roads" or something! Paying for lazy bums who're too good to work for a living or use the toll roads! I'm not paying for any more of this, cut taxes!" Point B: "Look at this! Buildings falling apart, projects falling behind, waits for services piling up -- what kind of fools would allow this? I'm tired of hearing excuses about not having the funds, you're just trying to take my money and squander it with mismanagement! If you can't spend my money wisely, don't spend it at all! I'm voting to cut taxes. CNN told me to."
Would you mind doing me the favor of reading my post before replying to it? I never said that OpenBSD was not secure. What I said was that it is not secure because it is based on BSD. OpenBSD is secure because it is OpenBSD, not because it is BSD. Daniel
If we don't stop them here, a day will come when many web pages gray out your print button. Your web browser will read encrypted content, will refuse to save it to a file
Aside from the encrypted bit, I've actually seen Netscape do this. Of course, there's no way that this can be enforced (right now) for other browsers..
I'm always amused when someone claims that BSD is necessarily more secure than Linux, since most holes are in userland software, which is virtually identical between the two systems! The differences are in the particular versions of software different distributors provide and in the default configurations that are supplied; this is more "OpenBSD vs the World" than "BSD vs Linux".
Security. Linux boxes have software from everywhere and as such the security is only as good as the weakest link. Isn't this extremely dependant on the distribution and the administrator? Daniel
Actually, I seem to have installed a program on my (Debian) system that keeps spamming me about file permission problems and changes. Although I'm sure that OpenBSD is more tightly audited, etc..
Mass porting of games to Linux would mean that I would have to play each and every one that my hardware can handle. nethack and freeciv are bad enough already! Since I'm too lazy to develop real self-control, this would totally destroy my chances of ever getting anything productive done. Therefore, I would like to request that no more games be ported to Linux and that library APIs be changed to render existing games unplayable. Thanks for your time, Daniel
Uh, could you explain this to me, please? I think I'm too dense to understand it. In other words: why is it not possible to use GTK widgets to render inside forms? (there is one thing that occurs to me: is the problem related to the fact that you can't put widgets inside a canvas or drawing area?)
I haven't heard that, but I have heard of extremely similar experiments, where weak players and strong players were given a similar challenge, but with both positions from real games and randomly generated positions. The novices did equally well (or poorly) on both types of positions, while the strong players performed significantly better on the 'real' positions than on the random ones. I don't remember where this information comes from, it was probably some chess book or other:)
Actually, computers tend to be even better at speed chess than at regular chess. The reason is that computers analyze games by expanding the game tree as far as possible. Because the chess game tree grows exponentially, this leads to diminishing returns as the amount of time increases; if you watch the "ply searched" indicator on a chess program it'll generally jump to somewhere between 3-5 moves almost immediately and then appear to stall. However, even this shallow game tree is enough to catch an unsuspecting human in a tactical trap.
The reason humans can still beat computers is that they can apply long-range strategic planning -- "what are the best ideas to pursue in this position?" -- and rules of thumb or experience about what sorts of things are likely to happen in a certain type of position. Working from this, they then decide on a small set of moves to evaluate, usually in a narrow tree (because humans can generally discard moves which are irrelevant out of hand; I believe some better computer algorithms try to do this as well but I'm not sure) This approach doesn't really start to pay off until the human has had some time to think, but once it does it can allow the human to catch up to the computer, which is still examining every possible outcome of shuffling the rooks back and forth.
Disclaimer: all of the above is empirical guessing and may not bear any resemblence to reality. Daniel
It's a feature. The Mozilla people have evidently decided that they're too good to use native widgets and are opting instead for something that looks like a bad rendition of a TV set. *shrug* Daniel
I'm not particularly happy with the design choices (mail and news in a Web browser? Come on!) either, but in their defense: I suspect that the Mozilla browser team has been working more on what you could loosely term "backend" code (rendering, internal algorithms to handle navigation, etc) and hasn't put much effort into the interface; making the back button work right is irrelevant if the code to go back when it's pushed doesn't work. On the other hand, if the bug here is in the backend code, I retract my defense.:-) Daniel
The main implication that occurs to me is that verbs aren't conjugated, and you probably need helper verbs for different tenses (or are expected to just pick it up from context) Daniel
I doubt he's the original author -- no-one could say with a straight face that Microsoft invented preemption:-)
Anyway, Windows 95 and 98 do not feature pre-emptive multi tasking, but the shitty co-operative kind. Is this true? I thought (mainly from my own observations:) ) that the 9x series did have real preemption, but only between Win32 programs -- that 16-bit Windows programs and DOS shells (and maybe a few other things..) ran in real mode and were cooperative.
This would be a very good statement if it weren't dead wrong. Well, that's not quite true; it's probably the case today that even a non-free version of Linux would be used popularly. However, do you think Linus would have gotten the same number of people working on it if it were non-free? Especially considering that he didn't have money to hire people? If Linux hadn't been released as free software, I suspect it would have vanished into obscurity by now and we'd all be running GNU/BSD systems or something. (heck, maybe the Hurd would actually have been finished..)
Not true at all. See my posting earlier in this discussion for the true story of the GPL, as substantiated by Richard Stallman's own writings.
Brett, Why should anyone believe you on this subject any more than Stallman? You very obviously have a large chip on your shoulder about this, and careful quoting of someone can "prove" just about anything. I've read some of your posts, and even the selected quotes you used can be interpreted in multiple ways; you invariably choose the one that puts Stallman in the worst light. My guess is that you're both right about the reasons for the GPL's creation. People's motivations can be fairly complicated, and there's no reason that your explanation and Richard's are mutually exclusive.
Most of those whose software is licensed under the GPL have no choice as to the licensing, because they are contributing to a project whose code has been "infected" by the GPL.
I don't understand this claim at all. Most GPLed software I can think of off the top of my head was written more or less from scratch, so this wouldn't really apply. Except for stuff that uses GPLed libraries like readline and libapt, projects are under the GPL because someone thought it was a good idea.
Don't worry, i noticed aptitude is still in 0.0.x releases, so it's nowhere near finished!
No problem. Sorry if I gave the impression I was jumping on you, but you're the first person who's provided detailed feedback (aside from "looks cool"..:) )
My complaints were more directed towards capt, which is much more developed
Actually, depending on your point of view, I may be extremely close to having a superset of capt's features. OTOH, I haven't explored that program deeply; it looked like maybe it had more in it than met the eye immediately..
The "undo" i was referring to is how in dselect if you push +, then decide you don't want to install it after all, you can hit _ and it'll be in the state it was before the +. Hmm. You're referring, I believe, to being able to purge packages? I'd think console-apt could do that..aptitude can (in fact, the default binding is '_') -- you just won't be able to tell what you did till the next release (I just added an indicator for it a few minutes ago;) )
Just checked and you're right, console-apt doesn't have a purge mechanism. It's about two lines of code, so I have no idea why it's not there. (well, actually I do have one idea: purge facilities may not have been in libapt when console-apt was started)
i would've thought that to be as trivial to add as anything else.
What you're talking about is. If you look at the TODO for aptitude (don't take it too seriously, some of that stuff is just random ideas I came up with when I was planning the program), one of the top items is multilevel undo support. The main reason this is tricky is that selecting a single package can potentially cause a cascade of modifications to package states, so code to save the old state, track the new one, and find the differences is needed. Not too hard, but in the spirit of Aptitude I'm going to make it ridiculously general and solve several other annoyances in the same fell swoop. Unfortunately, this complicates the problem significantly and I've been too intimidated so far to do it:-) I'm running out of other features that I want to add, though, so this may go in sometime in the next few weeks..
What would be really nice would be to pick first sort by status/priority/availability/section/whatever/none , then second within those groupings sort by status/priority/availability/section/whatever/none , third yet again, and last by name/download size/installed size/whatever
I assume you mean 'group' here instead of 'sort' -- for me 'group' implies that the packages are placed in a separate, collapsable subtree, whereas 'sort' just implies that they get sorted within the subtree.
This is *definitely* on the Aptitude TODO. I estimate that it'll get into 0.0.6 but I'm trying to avoid promising anything about release schedules:)
The internal infrastructure to do most of that is actually already present; I just haven't written the configuration code yet (which is going to be hairy, since C++ doesn't make classes into first-class objects so to build association tables you need factory routines and..argh, my head is hurting already:) ) If you're willing to edit and recompile the code, line 372 of testscr.cc defines the grouping order. (be warned: it has more parentheses than you'll see anywhere else outside a Lisp program, partly because I was thinking in somewhat Lispy terms when I wrote that code..)
As for sorting..I was originally going to provide more of this, but grouping worked out so well that I may just stick with the alphabetical sorting I'm doing now.
All in all, it's good that so many package selection programs are available, so people who hate one can use another. Absolutely correct.
Arbitrary inserts and deletes may be O(N), but lookups and appends are O(1). I wouldn't consider this to exactly be a case of 'sacrificing power', although you might prefer real lists (actually, I would probably, and car and cdr and a real lambda, but anyway..)
Aside from that, did you read my post? I said that it would be a good idea to write the dependency-collection code in a C module. But I can definitely see the advantages for writing a large part of the code in Python.
You didn't read the first sentence of my assertion that it's not as much of a problem, did you? I said that it wasn't that much of a problem *if* (or iff if you want to be precise:) ) you aren't being charged for bandwidth or connection time.
What do you mean by saying the OS is "Object Oriented" anyway?
Well, it is. I haven't delved deeply into the code, but basically the Hurd operates by providing interfaces and allowing programs to implement these interfaces (similar to an abstract class/implementation relationship in C++) The reason this is a Good Thing[tm] is that it allows new filesystems to be easily developed and distributed independently of the Hurd itself.
Where the previous poster went wrong was in implying that this is a new thing -- even Unix files are polymorphic, and there's stuff in the Linux kernel that ressembles an object system. The real benefit in the Hurd is that it's all userland, so you can, for example, write, compile, and mount a new filesystem in your home directory without needing a single special privilege.
Daniel
Point A: "Those government folks are lazy fools! They take our money and we don't see a single thing for it! Say they're spending it on "welfare" or "roads" or something! Paying for lazy bums who're too good to work for a living or use the toll roads! I'm not paying for any more of this, cut taxes!"
Point B: "Look at this! Buildings falling apart, projects falling behind, waits for services piling up -- what kind of fools would allow this? I'm tired of hearing excuses about not having the funds, you're just trying to take my money and squander it with mismanagement! If you can't spend my money wisely, don't spend it at all! I'm voting to cut taxes. CNN told me to."
Daniel
Would you mind doing me the favor of reading my post before replying to it? I never said that OpenBSD was not secure. What I said was that it is not secure because it is based on BSD. OpenBSD is secure because it is OpenBSD, not because it is BSD.
Daniel
If we don't stop them here, a day will come when many web pages gray out your print button. Your web browser will read encrypted content, will refuse to save it to a file
Aside from the encrypted bit, I've actually seen Netscape do this. Of course, there's no way that this can be enforced (right now) for other browsers..
Daniel
I'm always amused when someone claims that BSD is necessarily more secure than Linux, since most holes are in userland software, which is virtually identical between the two systems! The differences are in the particular versions of software different distributors provide and in the default configurations that are supplied; this is more "OpenBSD vs the World" than "BSD vs Linux".
Daniel
Security. Linux boxes have software from everywhere and as such the security is only as good as the weakest link.
Isn't this extremely dependant on the distribution and the administrator?
Daniel
Actually, I seem to have installed a program on my (Debian) system that keeps spamming me about file permission problems and changes. Although I'm sure that OpenBSD is more tightly audited, etc..
Daniel
Mass porting of games to Linux would mean that I would have to play each and every one that my hardware can handle. nethack and freeciv are bad enough already! Since I'm too lazy to develop real self-control, this would totally destroy my chances of ever getting anything productive done. Therefore, I would like to request that no more games be ported to Linux and that library APIs be changed to render existing games unplayable.
Thanks for your time,
Daniel
Just out of curiosity, who needs that sort of thing? Are they the same mysterious people who require the BLINK tag? :)
Daniel
Uh, could you explain this to me, please? I think I'm too dense to understand it. In other words: why is it not possible to use GTK widgets to render inside forms?
(there is one thing that occurs to me: is the problem related to the fact that you can't put widgets inside a canvas or drawing area?)
Daniel
I haven't heard that, but I have heard of extremely similar experiments, where weak players and strong players were given a similar challenge, but with both positions from real games and randomly generated positions. The novices did equally well (or poorly) on both types of positions, while the strong players performed significantly better on the 'real' positions than on the random ones. :)
I don't remember where this information comes from, it was probably some chess book or other
Daniel
Actually, computers tend to be even better at speed chess than at regular chess. The reason is that computers analyze games by expanding the game tree as far as possible. Because the chess game tree grows exponentially, this leads to diminishing returns as the amount of time increases; if you watch the "ply searched" indicator on a chess program it'll generally jump to somewhere between 3-5 moves almost immediately and then appear to stall. However, even this shallow game tree is enough to catch an unsuspecting human in a tactical trap.
The reason humans can still beat computers is that they can apply long-range strategic planning -- "what are the best ideas to pursue in this position?" -- and rules of thumb or experience about what sorts of things are likely to happen in a certain type of position. Working from this, they then decide on a small set of moves to evaluate, usually in a narrow tree (because humans can generally discard moves which are irrelevant out of hand; I believe some better computer algorithms try to do this as well but I'm not sure) This approach doesn't really start to pay off until the human has had some time to think, but once it does it can allow the human to catch up to the computer, which is still examining every possible outcome of shuffling the rooks back and forth.
Disclaimer: all of the above is empirical guessing and may not bear any resemblence to reality.
Daniel
It's a feature. The Mozilla people have evidently decided that they're too good to use native widgets and are opting instead for something that looks like a bad rendition of a TV set. *shrug*
Daniel
I'm not particularly happy with the design choices (mail and news in a Web browser? Come on!) either, but in their defense: I suspect that the Mozilla browser team has been working more on what you could loosely term "backend" code (rendering, internal algorithms to handle navigation, etc) and hasn't put much effort into the interface; making the back button work right is irrelevant if the code to go back when it's pushed doesn't work. :-)
On the other hand, if the bug here is in the backend code, I retract my defense.
Daniel
My favorite quote on the topic (approximately):
"The question of whether computers can think is precisely as interesting as the question of whether submarines can swim." (Djikstra, I believe)
Daniel
The main implication that occurs to me is that verbs aren't conjugated, and you probably need helper verbs for different tenses (or are expected to just pick it up from context)
Daniel
...and the only problem I have with Linux is sendmail...
Daniel
"Look, Redhat's making money and giving away their software! So is Debian! Blah blah blah!"
Well, actually, as a volunteer organization, Debian isn't making money.
Daniel
I doubt he's the original author -- no-one could say with a straight face that Microsoft invented preemption :-)
:) ) that the 9x series did have real preemption, but only between Win32 programs -- that 16-bit Windows programs and DOS shells (and maybe a few other things..) ran in real mode and were cooperative.
Anyway,
Windows 95 and 98 do not feature pre-emptive multi tasking, but the shitty co-operative kind.
Is this true? I thought (mainly from my own observations
Daniel
Linux does not need open source to be used.
This would be a very good statement if it weren't dead wrong. Well, that's not quite true; it's probably the case today that even a non-free version of Linux would be used popularly. However, do you think Linus would have gotten the same number of people working on it if it were non-free? Especially considering that he didn't have money to hire people? If Linux hadn't been released as free software, I suspect it would have vanished into obscurity by now and we'd all be running GNU/BSD systems or something. (heck, maybe the Hurd would actually have been finished..)
Daniel
Not true at all. See my posting earlier in this discussion for the true story of the GPL, as substantiated by Richard Stallman's own writings.
Brett,
Why should anyone believe you on this subject any more than Stallman? You very obviously have a large chip on your shoulder about this, and careful quoting of someone can "prove" just about anything. I've read some of your posts, and even the selected quotes you used can be interpreted in multiple ways; you invariably choose the one that puts Stallman in the worst light.
My guess is that you're both right about the reasons for the GPL's creation. People's motivations can be fairly complicated, and there's no reason that your explanation and Richard's are mutually exclusive.
Most of those whose software is licensed under the GPL have no choice as to the licensing, because they are contributing to a project whose code has been "infected" by the GPL.
I don't understand this claim at all. Most GPLed software I can think of off the top of my head was written more or less from scratch, so this wouldn't really apply. Except for stuff that uses GPLed libraries like readline and libapt, projects are under the GPL because someone thought it was a good idea.
Daniel
Don't worry, i noticed aptitude is still in 0.0.x releases, so it's nowhere near finished!
:) )
;) )
:-) I'm running out of other features that I want to add, though, so this may go in sometime in the next few weeks..
e , then second within those groupings sort by status/priority/availability/section/whatever/none , third yet again, and last by name/download size/installed size/whatever
:)
:) ) If you're willing to edit and recompile the code, line 372 of testscr.cc defines the grouping order. (be warned: it has more parentheses than you'll see anywhere else outside a Lisp program, partly because I was thinking in somewhat Lispy terms when I wrote that code..)
No problem. Sorry if I gave the impression I was jumping on you, but you're the first person who's provided detailed feedback (aside from "looks cool"..
My complaints were more directed towards capt, which is much more developed
Actually, depending on your point of view, I may be extremely close to having a superset of capt's features. OTOH, I haven't explored that program deeply; it looked like maybe it had more in it than met the eye immediately..
The "undo" i was referring to is how in dselect if you push +, then decide you don't want to install it after all, you can hit _ and it'll be in the state it was before the +.
Hmm. You're referring, I believe, to being able to purge packages? I'd think console-apt could do that..aptitude can (in fact, the default binding is '_') -- you just won't be able to tell what you did till the next release (I just added an indicator for it a few minutes ago
Just checked and you're right, console-apt doesn't have a purge mechanism. It's about two lines of code, so I have no idea why it's not there. (well, actually I do have one idea: purge facilities may not have been in libapt when console-apt was started)
i would've thought that to be as trivial to add as anything else.
What you're talking about is. If you look at the TODO for aptitude (don't take it too seriously, some of that stuff is just random ideas I came up with when I was planning the program), one of the top items is multilevel undo support. The main reason this is tricky is that selecting a single package can potentially cause a cascade of modifications to package states, so code to save the old state, track the new one, and find the differences is needed. Not too hard, but in the spirit of Aptitude I'm going to make it ridiculously general and solve several other annoyances in the same fell swoop. Unfortunately, this complicates the problem significantly and I've been too intimidated so far to do it
What would be really nice would be to pick first sort by status/priority/availability/section/whatever/non
I assume you mean 'group' here instead of 'sort' -- for me 'group' implies that the packages are placed in a separate, collapsable subtree, whereas 'sort' just implies that they get sorted within the subtree.
This is *definitely* on the Aptitude TODO. I estimate that it'll get into 0.0.6 but I'm trying to avoid promising anything about release schedules
The internal infrastructure to do most of that is actually already present; I just haven't written the configuration code yet (which is going to be hairy, since C++ doesn't make classes into first-class objects so to build association tables you need factory routines and..argh, my head is hurting already
As for sorting..I was originally going to provide more of this, but grouping worked out so well that I may just stick with the alphabetical sorting I'm doing now.
All in all, it's good that so many package selection programs are available, so people who hate one can use another.
Absolutely correct.
Daniel
Arbitrary inserts and deletes may be O(N), but lookups and appends are O(1). I wouldn't consider this to exactly be a case of 'sacrificing power', although you might prefer real lists (actually, I would probably, and car and cdr and a real lambda, but anyway..)
Aside from that, did you read my post? I said that it would be a good idea to write the dependency-collection code in a C module. But I can definitely see the advantages for writing a large part of the code in Python.
Daniel
You didn't read the first sentence of my assertion that it's not as much of a problem, did you? I said that it wasn't that much of a problem *if* (or iff if you want to be precise :) ) you aren't being charged for bandwidth or connection time.
Obviously, you are.
Daniel
Potato will also come with several alternative package management frontends including gnome-apt, console-apt, and aptitude.
Daniel