Development path Linux (or lets make a really great system)

All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
User avatar
stephenj
Member
Member
Posts: 140
Joined: Wed Jul 23, 2008 1:37 am
Location: Canada

Re: Development path Linux (or lets make a really great system)

Post by stephenj »

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!
User avatar
Love4Boobies
Member
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)

Post by Love4Boobies »

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!
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.

PS: eXeScope was the first resource editor I ever used :D
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.
Easy there, big guy [-X. You didn't oversimplify the history as you claim, you've over-oversimplified making it completely wrong (somehow) :lol:. Anyway, I just wanted to point out that CP/M was not based on UNIX.
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!
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.
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
User avatar
neon
Member
Member
Posts: 1567
Joined: Sun Feb 18, 2007 7:28 pm
Contact:

Re: Development path Linux (or lets make a really great system)

Post by neon »

Windows isn't badly designed on the inside
I would have to disagree. At least from observing its operation and its hardware requirements, it seems that
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.
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.

What kills the speed is, as JackScott said, is the GUI, along with alot of the other processes running (software bloat, ugh).
And unless Vista's design was very radically changed from XP, the GUI is implemented inside of the kernel
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?
OS Development Series | Wiki | os | ncc
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
User avatar
Troy Martin
Member
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)

Post by Troy Martin »

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.
Image
Image
Solar wrote:It keeps stunning me how friendly we - as a community - are towards people who start programming "their first OS" who don't even have a solid understanding of pointers, their compiler, or how a OS is structured.
I wish I could add more tex
User avatar
Love4Boobies
Member
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)

Post by Love4Boobies »

neon wrote:
And unless Vista's design was very radically changed from XP, the GUI is implemented inside of the kernel
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?
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.
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
JohnnyTheDon
Member
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)

Post by JohnnyTheDon »

Form the wikipedia on hybrid kernels:
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’.
Pretty much sums it up.
User avatar
stephenj
Member
Member
Posts: 140
Joined: Wed Jul 23, 2008 1:37 am
Location: Canada

Re: Development path Linux (or lets make a really great system)

Post by stephenj »

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. :lol:

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").
iammisc
Member
Member
Posts: 269
Joined: Thu Nov 09, 2006 6:23 pm

Re: Development path Linux (or lets make a really great system)

Post by iammisc »

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.
User avatar
inflater
Member
Member
Posts: 1309
Joined: Thu Sep 28, 2006 10:32 am
Location: Slovakia
Contact:

Re: Development path Linux (or lets make a really great system)

Post by inflater »

and changed important windows resources while it was running!
Ubuntu, rm -rf / Just look at the mayhem as everything crashes...
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English :P)
JohnnyTheDon
Member
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)

Post by JohnnyTheDon »

Removing every file in the system causes a crash! What a shocking problem. I'm sure windows runs just fine when you delete everything.
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re: Development path Linux (or lets make a really great system)

Post by Solar »

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.
Every good solution is obvious once you've found it.
User avatar
01000101
Member
Member
Posts: 1599
Joined: Fri Jun 22, 2007 12:47 pm
Contact:

Re: Development path Linux (or lets make a really great system)

Post by 01000101 »

most of the things currently being seen (post rm) are most likely just resident and thus unaffected by the non-resident file deletions.
User avatar
inflater
Member
Member
Posts: 1309
Joined: Thu Sep 28, 2006 10:32 am
Location: Slovakia
Contact:

Re: Development path Linux (or lets make a really great system)

Post by inflater »

I'm sure windows runs just fine when you delete everything.
No, I was just pointing to the fact that you can break Linux as easy as Windows, if under root/admin access.
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English :P)
User avatar
JamesM
Member
Member
Posts: 2935
Joined: Tue Jul 10, 2007 5:27 am
Location: York, United Kingdom
Contact:

Re: Development path Linux (or lets make a really great system)

Post by JamesM »

Solar 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.
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... :S
JohnnyTheDon
Member
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)

Post by JohnnyTheDon »

inflater wrote:
I'm sure windows runs just fine when you delete everything.
No, I was just pointing to the fact that you can break Linux as easy as Windows, if under root/admin access.
Yes, but until Vista most people were running administrator accounts all the time. This is rarely done in Linux.
Post Reply