Development path Linux (or lets make a really great system)
Re: Development path Linux (or lets make a really great system)
On Linux's difficulty: The UI is on par with Windows, at least with everything important. Only people who are configuring the system should even notice a difference (unless they have a need for a non-existant program, then why the hell would they want to use Linux in the first place).
And installing programs on Linux is simple, if you know the program's name. I have more difficulty finding programs to install than using synaptic.
On the driver front, once you know you are building a Linux machine, it isn't that hard to get "out of the box" driver support. You just need to check model numbers (desktops, laptops, motherboards, soundcards, etc.) before you buy. A chicken and the egg problem evolves for first time users who didn't buy a machine easily capable of supporting Linux.
I've never had to hand compile a Linux driver, I just do it for fun!
Honestly, the biggest gripe I have with Windows is that it is closed source. I've written code that had to use that damned black box, and nothing is more infuriating than an error occuring within it, while the documentation fails to explain why (this is typically called an edge case).
On 80s programmers: They barely invented anything. What they tended to do is take ideas that were bouncing around since the 50s and 60s (implemented on big machines in the 50s, 60s, and 70s) and scrape them into the microcomputers of the 80s. Take DOS for example. DOS is based on CP/M, CP/M was based on UNIX, UNIX was based partly on Multics, which had a mixed heritage itself.
GUI's were demonstrated in the 1960s. Bill Atkinson (the Mac's graphics programmer) was influenced by his professor Jef Raskin (the initiator of the Mac project). Raskin, as well as XEROX PARC were influenced by Douglas Engelbart! (see demo above)
I've oversimplified history a bit. The main accomplishment of the programmers of the 80s was making computers "mere-mortals" could afford and use, on terrible pieces of hardware. Most of their software is now dead. With good reason. They had to take shortcuts, that were barely acceptable then, and not even close to acceptable now. If you don't believe me, read Andy Hertzfeld's own words (he does skirt around the issue).
Another thing has changed since the 80s. Machine time is a hell of a lot cheaper. Especially compared to programmer time. Don't get me wrong, programmers still have to care about machine time, but we can no longer think about what every byte in RAM is doing (unless you're participating in the 512 byte contest). It doesn't make sense to do so. Instead, we tend to craft simple rules, and try to get them execute well. But I suspect most on this board understand the balance, I know I've thrown out a lot of code because it didn't run fast enough to be a system program.
And besides we all know that Real Programmers can code an OS in octal, put it in with nothing but switches, and have it work perfectly the first time!
And installing programs on Linux is simple, if you know the program's name. I have more difficulty finding programs to install than using synaptic.
On the driver front, once you know you are building a Linux machine, it isn't that hard to get "out of the box" driver support. You just need to check model numbers (desktops, laptops, motherboards, soundcards, etc.) before you buy. A chicken and the egg problem evolves for first time users who didn't buy a machine easily capable of supporting Linux.
I've never had to hand compile a Linux driver, I just do it for fun!
Honestly, the biggest gripe I have with Windows is that it is closed source. I've written code that had to use that damned black box, and nothing is more infuriating than an error occuring within it, while the documentation fails to explain why (this is typically called an edge case).
On 80s programmers: They barely invented anything. What they tended to do is take ideas that were bouncing around since the 50s and 60s (implemented on big machines in the 50s, 60s, and 70s) and scrape them into the microcomputers of the 80s. Take DOS for example. DOS is based on CP/M, CP/M was based on UNIX, UNIX was based partly on Multics, which had a mixed heritage itself.
GUI's were demonstrated in the 1960s. Bill Atkinson (the Mac's graphics programmer) was influenced by his professor Jef Raskin (the initiator of the Mac project). Raskin, as well as XEROX PARC were influenced by Douglas Engelbart! (see demo above)
I've oversimplified history a bit. The main accomplishment of the programmers of the 80s was making computers "mere-mortals" could afford and use, on terrible pieces of hardware. Most of their software is now dead. With good reason. They had to take shortcuts, that were barely acceptable then, and not even close to acceptable now. If you don't believe me, read Andy Hertzfeld's own words (he does skirt around the issue).
Another thing has changed since the 80s. Machine time is a hell of a lot cheaper. Especially compared to programmer time. Don't get me wrong, programmers still have to care about machine time, but we can no longer think about what every byte in RAM is doing (unless you're participating in the 512 byte contest). It doesn't make sense to do so. Instead, we tend to craft simple rules, and try to get them execute well. But I suspect most on this board understand the balance, I know I've thrown out a lot of code because it didn't run fast enough to be a system program.
And besides we all know that Real Programmers can code an OS in octal, put it in with nothing but switches, and have it work perfectly the first time!
- Love4Boobies
- Member
- Posts: 2111
- Joined: Fri Mar 07, 2008 5:36 pm
- Location: Bucharest, Romania
Re: Development path Linux (or lets make a really great system)
I seriously doubt anyone here is refering to the 9x kernel when they talk about Windows. NTOSKRNL is quite well designed and is not inherently unsecure, it's just that some poor decisions have been made along the way but all that can be tweaked.Troy Martin wrote:/agree Shrek
Windows isn't badly designed on the inside, just.. easily hackable from both ends, inside and out. I put a copy of Windows 95, the HxD hex editor, and eXeScope (16 and 3-bit resource editor, can't register it anymore so you have to do everything on a file in one pass) on a virtual hard drive, booted the thing up, and changed important windows resources while it was running!
PS: eXeScope was the first resource editor I ever used
Easy there, big guy . You didn't oversimplify the history as you claim, you've over-oversimplified making it completely wrong (somehow) . Anyway, I just wanted to point out that CP/M was not based on UNIX.stephenj wrote:Take DOS for example. DOS is based on CP/M, CP/M was based on UNIX, UNIX was based partly on Multics, which had a mixed heritage itself.
Hmm... I have to disagree. A lot of people say that back then they really knew how to write good code but that's not entirely true. There were few people who knew how to write code anyway and they all knew how to do that because they were trained, whereas today a lot of people just pick it up and write crappy code. But progress (research) has been made since then and the ones who actually know what they're talking about have the proper material to learn from. Take a look at Knuth analyzing Von Neumann's first attempt to program the EDVAC.stephenj wrote:And besides we all know that Real Programmers can code an OS in octal, put it in with nothing but switches, and have it work perfectly the first time!
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
[ Project UDI ]
Re: Development path Linux (or lets make a really great system)
While I do agree to some respect of the software bloat, the core Windows components are very well designed from an OOP perspective. Keep in mind this is not me saying this: Its the developers that say it including myself. I just wish Microsoft kept with clean designs like the core components of Windows NT line of OSs.I would have to disagree. At least from observing its operation and its hardware requirements, it seems thatWindows isn't badly designed on the inside
Windows (at least XP and Vista) are full of bloat code. When I switched from Windows Vista Ultimate to Linux (Ubuntu) I noticed a visible speed increase. My average memory usage was also cut in half in many situations.
What kills the speed is, as JackScott said, is the GUI, along with alot of the other processes running (software bloat, ugh).
In all NT OSs, the kernel portion of the executive is only the scheduler. Thus the GUI has never been implemented inside of the kernel in any NT OS. Remember that the kernel itself is just a standard microkernel?And unless Vista's design was very radically changed from XP, the GUI is implemented inside of the kernel
OS Development Series | Wiki | os | ncc
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
- Troy Martin
- Member
- Posts: 1686
- Joined: Fri Apr 18, 2008 4:40 pm
- Location: Langley, Vancouver, BC, Canada
- Contact:
Re: Development path Linux (or lets make a really great system)
So unless you've managed to change all of history in the last 15 minutes, stephenj, what you've pumped out into a single post is your monthly allotment of bull$#!t.
- Love4Boobies
- Member
- Posts: 2111
- Joined: Fri Mar 07, 2008 5:36 pm
- Location: Bucharest, Romania
Re: Development path Linux (or lets make a really great system)
What he meant was that the GUI is running at ring 0 (which btw, is true). Microsoft decided that it was mature enough and there would be a performance benefit. Also, NT isn't a a standard microkernel. It's actually a hybrid kernel (meaning servers run in kernel space - which IMO is just as monolithic as monolithic kernels) or, as Microsoft themselves call it, a macrokernel. Anyway, it's fairly monolithic.neon wrote:In all NT OSs, the kernel portion of the executive is only the scheduler. Thus the GUI has never been implemented inside of the kernel in any NT OS. Remember that the kernel itself is just a standard microkernel?And unless Vista's design was very radically changed from XP, the GUI is implemented inside of the kernel
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
[ Project UDI ]
-
- Member
- Posts: 524
- Joined: Sun Nov 09, 2008 2:55 am
- Location: Pennsylvania, USA
Re: Development path Linux (or lets make a really great system)
Form the wikipedia on hybrid kernels:
Pretty much sums it up.Linus Torvalds said of this issue:
As to the whole ‘hybrid kernel’ thing — it’s just marketing. It’s ‘oh, those microkernels had good PR, how can we try to get good PR for our working kernel? Oh, I know, let’s use a cool name and try to imply that it has all the PR advantages that that other system has’.
Re: Development path Linux (or lets make a really great system)
My bad on CP/M... Turns out it was based off the OS of the PDP11 Killdal wrote CP/M on. Which I apparently assumed was UNIX (I spent a day reading about Gary Kildall a few months ago)...
And the last line was a bit of sarcasm... I suppose I should have put a smiley after it.
I suppose I should reference the statements I made (other than the opinions and anecdotes):
DOS is based on CP/M
UNIX was based on Multics
Multics has a mixed heritage
Of course, all of the above have roots in academic papers and such that would be nearly impossible to trace. I feel I should also point out that I am not referring to "genetic" heritage of code.
Douglas Engelbart
Xerox Parc employees left Engelbart (see ARC reference)
Atkinson's history with his Professor, Jef Raskin
Jef Raskin - I did make a mistake connecting him to XEROX... He visited PARC in the early 70s (which is what I recalled), but wrote a thesis on the topic in 1967. I found an ACM reference to Raskin's paper, but not the paper itself. And the closest hint I have is that he didn't have any "I was off on my own, and did not find like-minded computer scientists until I ran into them at PARC about six years later." I find this funny, considering how much effort Raskin spent trying to convince people to acknowledge the "true" inventors of things (his own work).
So I can find two points that I got wrong, not "all of history" (although I left out things like Tim Patterson's QDOS for the sake of simplicity). Honestly, the only reason I said anything is because I've always felt bad for Engelbart... The popular narrative of the history of the GUI/mouse seems to stop just before him. And if we're going to dredge up the past, we might as well remember all of the people that got us where we are today (not just put a stake in the ground and say "this is where history begins").
And the last line was a bit of sarcasm... I suppose I should have put a smiley after it.
I suppose I should reference the statements I made (other than the opinions and anecdotes):
DOS is based on CP/M
UNIX was based on Multics
Multics has a mixed heritage
Of course, all of the above have roots in academic papers and such that would be nearly impossible to trace. I feel I should also point out that I am not referring to "genetic" heritage of code.
Douglas Engelbart
Xerox Parc employees left Engelbart (see ARC reference)
Atkinson's history with his Professor, Jef Raskin
Jef Raskin - I did make a mistake connecting him to XEROX... He visited PARC in the early 70s (which is what I recalled), but wrote a thesis on the topic in 1967. I found an ACM reference to Raskin's paper, but not the paper itself. And the closest hint I have is that he didn't have any "I was off on my own, and did not find like-minded computer scientists until I ran into them at PARC about six years later." I find this funny, considering how much effort Raskin spent trying to convince people to acknowledge the "true" inventors of things (his own work).
So I can find two points that I got wrong, not "all of history" (although I left out things like Tim Patterson's QDOS for the sake of simplicity). Honestly, the only reason I said anything is because I've always felt bad for Engelbart... The popular narrative of the history of the GUI/mouse seems to stop just before him. And if we're going to dredge up the past, we might as well remember all of the people that got us where we are today (not just put a stake in the ground and say "this is where history begins").
Re: Development path Linux (or lets make a really great system)
I believe if we looked at a vanilla installation of all 3, they would be about the same.
Then comes software programs and hardware.
Software companies too often overlook linux and sometimes even mac. The only reason that companies even make things for mac is because it enjoys great use in some sectors and because the operating system and company are popular.
Hardware-wise, linux really isn't that bad. I used to have problems about pre-2005-ish but recently, almost everything I've bought worked out of the box with linux (even things that haven't worked on windows right off the bat).
Too often, I hear the complaint that linux requires patches, etc. to work properly. At first, I believed these (this was when I'd been using linux for about 2 years straight). Then my dad bought a windows machine (vista) and I had to help him set it up. It was a NIGHTMARE!!!!!!!!! Hardware wouldn't work (even though drivers were provided), a bluetooth dongle both of us bought worked out of the box on the linux machine. Took a LOT of tweaking on the windows machine.
In my opinion, windows software is too often basically ****. Each software company has their own way of doing things and they want you to follow it. I simply can't keep up with the 5 different update programs that are constantly reminding me to update java, adobe, hp stuff, etc. It gets very annoying.
I really like Mac's way of software installation and in fact, linux does have a system for doing this called klik (http://klik.atekon.de/).
Windows software installation is a nightmare (IMO). In gentoo, I run emerge something and it works. In windows, I have to download some software executable, deal with things asking me to install other things,etc. Then I have to deal with all the stupid icons it installs on my desktop. Then I have to deal with the numerous and disorganized all program entries. And then look at all the horrible little uninstall icons next to every single application.
Really, the windows way is as bad as the linux way. It's just people are more used to the windows way of tweaking stuff.
This is just my opinion. Maybe I've had really bad experience on Windows just like some have had bad experiences on linux distros.
Then comes software programs and hardware.
Software companies too often overlook linux and sometimes even mac. The only reason that companies even make things for mac is because it enjoys great use in some sectors and because the operating system and company are popular.
Hardware-wise, linux really isn't that bad. I used to have problems about pre-2005-ish but recently, almost everything I've bought worked out of the box with linux (even things that haven't worked on windows right off the bat).
Too often, I hear the complaint that linux requires patches, etc. to work properly. At first, I believed these (this was when I'd been using linux for about 2 years straight). Then my dad bought a windows machine (vista) and I had to help him set it up. It was a NIGHTMARE!!!!!!!!! Hardware wouldn't work (even though drivers were provided), a bluetooth dongle both of us bought worked out of the box on the linux machine. Took a LOT of tweaking on the windows machine.
In my opinion, windows software is too often basically ****. Each software company has their own way of doing things and they want you to follow it. I simply can't keep up with the 5 different update programs that are constantly reminding me to update java, adobe, hp stuff, etc. It gets very annoying.
I really like Mac's way of software installation and in fact, linux does have a system for doing this called klik (http://klik.atekon.de/).
Windows software installation is a nightmare (IMO). In gentoo, I run emerge something and it works. In windows, I have to download some software executable, deal with things asking me to install other things,etc. Then I have to deal with all the stupid icons it installs on my desktop. Then I have to deal with the numerous and disorganized all program entries. And then look at all the horrible little uninstall icons next to every single application.
Really, the windows way is as bad as the linux way. It's just people are more used to the windows way of tweaking stuff.
This is just my opinion. Maybe I've had really bad experience on Windows just like some have had bad experiences on linux distros.
Re: Development path Linux (or lets make a really great system)
Ubuntu, rm -rf / Just look at the mayhem as everything crashes...and changed important windows resources while it was running!
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English )
Derrick operating system: http://derrick.xf.cz (Slovak and English )
-
- Member
- Posts: 524
- Joined: Sun Nov 09, 2008 2:55 am
- Location: Pennsylvania, USA
Re: Development path Linux (or lets make a really great system)
Removing every file in the system causes a crash! What a shocking problem. I'm sure windows runs just fine when you delete everything.
Re: Development path Linux (or lets make a really great system)
Erm...
Actually, the rm -rf / you see in the video doesn't crash anything, it only results in one message box of garbage. System is still "up" (which somewhat surprises me, I'd have bet money on something really bad happening when it gets to deleting /dev).
The crash only happens when the user tries to do anything on a system that doesn't have any executables, libraries, or devices anymore. Which is to be expected.
Actually, the rm -rf / you see in the video doesn't crash anything, it only results in one message box of garbage. System is still "up" (which somewhat surprises me, I'd have bet money on something really bad happening when it gets to deleting /dev).
The crash only happens when the user tries to do anything on a system that doesn't have any executables, libraries, or devices anymore. Which is to be expected.
Every good solution is obvious once you've found it.
Re: Development path Linux (or lets make a really great system)
most of the things currently being seen (post rm) are most likely just resident and thus unaffected by the non-resident file deletions.
Website: https://joscor.com
Re: Development path Linux (or lets make a really great system)
No, I was just pointing to the fact that you can break Linux as easy as Windows, if under root/admin access.I'm sure windows runs just fine when you delete everything.
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English )
Derrick operating system: http://derrick.xf.cz (Slovak and English )
Re: Development path Linux (or lets make a really great system)
I'm not certain - I'd have expected a crash earlier given Linux's lazy page allocation system - whenever an application calls a piece of code that hasn't been loaded into memory yet, in fact... :SSolar wrote:Erm...
Actually, the rm -rf / you see in the video doesn't crash anything, it only results in one message box of garbage. System is still "up" (which somewhat surprises me, I'd have bet money on something really bad happening when it gets to deleting /dev).
The crash only happens when the user tries to do anything on a system that doesn't have any executables, libraries, or devices anymore. Which is to be expected.
-
- Member
- Posts: 524
- Joined: Sun Nov 09, 2008 2:55 am
- Location: Pennsylvania, USA
Re: Development path Linux (or lets make a really great system)
Yes, but until Vista most people were running administrator accounts all the time. This is rarely done in Linux.inflater wrote:No, I was just pointing to the fact that you can break Linux as easy as Windows, if under root/admin access.I'm sure windows runs just fine when you delete everything.