 |
 |
Ars Technica: KDE 3.2 Overview
|
 |
|
 |
|
Professional Poster
Join Date: Dec 2000
Location: Milan, Europe
Status:
Offline
|
|
|
|
The freedom of all is essential to my freedom. - Mikhail Bakunin
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Sep 2003
Status:
Offline
|
|
Originally posted by Sven G:
Excellent!
(... And also in the light of this OSNews article.)
what does this mean for a mac user? please translate. don't understand OS speak...
|
|
PBG4/12"/1GHz/1.25GB/60GB//SD/APX/10.3
|
| |
|
|
|
 |
|
 |
|
Forum Regular
Join Date: Oct 2002
Location: Left Coast
Status:
Offline
|
|
Originally posted by bkb:
what does this mean for a mac user? please translate. don't understand OS speak...
My reaction as a Mac user is this:
I think the whole Free/Open Source *nix movement has always been a great thing for hobbyists, geeks, engineers and students. But the work has always been so spread out, with dozens of different sub-environments, that it has had little concrete impact of the 'rest of us'. Most people just have no idea where to start with Linux. There are just too many options - I can't possibly know which distro, frameworks, window manager etc. to invest time on.
If the FOSS *nix community can get some kind of 'center of gravity', maybe through the momentum that seems to be building in the KDE community, with some kind of unifying and easily identifiable structure, then it becomes a true 'third option' in the market. That means that there will be fewer 'assumptions' by the mass market that the only 'real' choice is Windows, and helps to create a more diverse environment based on real needs instead of FUD. Anything that makes *nix more accessible to the masses gives more credibility and momentum to whole *nix world, and that easily brings OS X along with it all.
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Dec 2000
Location: Milan, Europe
Status:
Offline
|
|
Originally posted by bkb:
what does this mean for a mac user? please translate. don't understand OS speak...
Besides the reply above, I would also add that KDE in particular is rather interesting for an OS X user for the very rich feature set it has: for example, the "embedding applications" thing (if the rumors are true, of course) could indeed be seen as quite KDE-like.
Anyway, it was primarily the very well-made and detailed review (as usually are Ars Technica's: see John Siracusa, for example) that I liked to share with UNIX-interested MacNNers... 
|
The freedom of all is essential to my freedom. - Mikhail Bakunin
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Sep 2003
Status:
Offline
|
|
Originally posted by Sven G:
Besides the reply above, I would also add that KDE in particular is rather interesting for an OS X user for the very rich feature set it has: for example, the "embedding applications" thing (if the rumors are true, of course) could indeed be seen as quite KDE-like.
Anyway, it was primarily the very well-made and detailed review (as usually are Ars Technica's: see John Siracusa, for example) that I liked to share with UNIX-interested MacNNers...
Sven G, KDE,
After reading your replies, I've decided I need something of a primer in this stuff. It's still a bit over my head at this stage. Now I understand if you have better things to do, but it would be much appreciated.
Please could you discuss - in layman's terms - and more importantly, piece together the following: UNIX, BSD, System V, FreeBSD, KDE, Linux, Mach Kernel, Fink, X11, X Windows, Red Hat, Solaris, Java and GNU. I've been to all their websites, but seeing where they fit into the larger picture is a little difficult, as is seeing how they relate to Mac OS X.
I think it would be really useful to see the bigger picture. Apologies if it looks like Bill Gate's Christmas list, but if I never ask, I'll never know.
Thanks,
BKB.
|
|
PBG4/12"/1GHz/1.25GB/60GB//SD/APX/10.3
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Dec 2000
Location: Milan, Europe
Status:
Offline
|
|
Hey, that's a lot of requests!
You could start from here, and then (besides the main KDE site, etc., of course) go to the Fink web site, and so on...
It's important that you learn to experiment with all this yourself, as there are no pre-compiled receipts (except the actual software) to guide you: if you enjoy it, you'll find it interesting and worth of at least trying.
As you've already been to some of those sites, well... the bigger picture is maybe that all those technologies and programs are different ways of doing the same things (at least partially), and that OS X already includes some of them - and will include even more of them, directly, in the future.
Other people on these forums who are more directly competent on the various things that you pointed out maybe could give some better and more particularly oriented links...
(Last edited by Sven G; Feb 25, 2004 at 11:04 AM.
)
|
The freedom of all is essential to my freedom. - Mikhail Bakunin
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Oct 2000
Location: Midwest
Status:
Offline
|
|
Sorting out the lineage of all this takes some doing, but is a source of ongoing interest for me. Here is some stuff that may be useful.
Here is a timeline showing evolution from 9/1969 to 2/18/2004 of Unix. To help wade into this complex scene, 1BSD branched in 1978, Mach in 1984, and NextStep developed as a merge of Mach and BSD technologies in 1988. The Linux branch begins in 1991.
The development of a graphic user interface for unix can be explored at X.org. X11 and fink have their roots there.
Google GNU to find sites that explain the free software concept and evolution. It is a unique phenomenon and an inspiration to a lot of people.
Those references have been and continue to be helpful for me.
Craig
|
|
|
| |
|
|
|
 |
|
 |
|
Forum Regular
Join Date: Oct 2002
Location: Left Coast
Status:
Offline
|
|
Originally posted by bkb:
Sven G, KDE,
Please could you discuss - in layman's terms - and more importantly, piece together the following: UNIX, BSD, System V, FreeBSD, KDE, Linux, Mach Kernel, Fink, X11, X Windows, Red Hat, Solaris, Java and GNU. I've been to all their websites, but seeing where they fit into the larger picture is a little difficult, as is seeing how they relate to Mac OS X.
I think it would be really useful to see the bigger picture. Apologies if it looks like Bill Gate's Christmas list, but if I never ask, I'll never know.
Thanks,
BKB.
One general difficulty is defining 'what is an Operating System'. This is something that is debated quite a bit, and there is no 'absolute' answer. This has been part of the debate about what Microsoft has been doing with their 'system'. E.g. is a disk defragmenter, a web browser, an audio player 'part of the OS' or are these applications/utilities that are really peripheral to the OS? Even something as basic a filesystem may not be technically considered part of the OS. When you install Windows or even OS X, you technically get more than just an OS (at least from most 'purists' perspectives). When you try to build up a fully configured and useful computer system that enables you to do the tasks you expect, you really want more than just the basic OS, and that is why Apple and MS bundle a bunch of stuff all together.
Like Sven G said, there are general equivalencies in the core pieces. Ultimately all OSs need to do essentially the same things. In the Linux world you have a zillion options of how to assemble your system, and therefore you have to understand all the pieces in order to assemble an effective system. Again, that is why Apple and MS bundle so much - to make it easier for the lay person to get a desktop system that is useful.
It would be the equivalent of trying to build your own car. You might think that a car is just a chassis, an engine, transmission, wheels, and a steering wheel. But in reality, someone at GM or whatever has decided e.g. what carburetor to put on an engine, what set of gear ratios to put into the transmission, the size of the pistons, valves etc. Something like Linux allows you to make all those choices yourself. That is why I said that it is usually too much for most people to cope with, so having some parts already bundled by other experts is better for most. That is mostly what all the different Linux distros help with - someone has bundled a bunch of pieces to get you started. They are almost like getting an entire chassis + engine, but they still allow extensive customization. When you select certain bundles, they imply other bundles that often exclude yet other bundles. For instance, KDE is a 'desktop environment', which is really a whole bunch of pieces. By choosing KDE, it implies you must use Qt. You could assemble an OS in a more piecewise manner.
So describing the items you listed can be done, but many are pieces that play against other implied pieces, and others are more independent and really not part of an OS per. se. It's a very complicated thing to break down and explain it all. I'll try to describe the basics as far as I understand them:
BSD, System V, FreeBSD, Solaris - these are all *nix variant OSs. These are generally 'complete' OSs - a bundle of all the essential pieces that you would generally need to get started. Somewhat equivalent to the entire packages of Windows or OS X. There is a core part of BSD, referred to as the BSD subsystem, that can be used independent of the full BSD OS. This is what Apple does in OS X. BSD and System V are the main two branches of all *nix systems, and are somewhat incompatible with each other. You need to look at the history of *nix to see how and why these two branches split. Solaris is a System V variant owned by Sun.
Linux - technically this is just a kernel, but the term is commonly used to describe an OS built on top of the raw Linux kernel. Some call the 'full system' GNU/Linux, as The GNU utilities are really what takes the raw Linux kernel to becoming a fully functioning OS.
Mach Kernel - the kernel used in OS X. equivalent to just the raw kernel part of Linux, without the BSD or GNU pieces. Mach + the BSD subsystem + GNU utilities is basically what is considered Darwin.
Red Hat - this is a Linux distribution, one of many, like Yellow Dog, Mandrake etc. It is a bundle of the core stuff, but still has many options in assembling a full desktop system.
KDE - Desktop Environment. Along with Qt (which is required to sit underneath KDE) it is mostly equivalent to what would be done in OS X with the combination of Quartz (graphics subsystem) + Cocoa (application frameworks and runtime) + Aqua (window manager). KDE can be used with just about any *nix distro, including OS X. It can be used 'along side' other environments. That is one of the difficulties in trying to break all this down, as not all things are exclusive, whereas others are. KDE crosses a lot of lines - it is a bundle of stuff.
Fink - a tool that helps you install portable *nix tools on OS X. It is a porting and installation project.
X11, X Windows - X11 is version 11 of X Windows. Purists just call it X, but that gets confusing when you talk about OS X in the same context, so X11 is a bit clearer. Mostly equivalent to Quartz + Cocoa. (without Aqua). It is a portable graphics subsystem and application environment. This gets complicated, because X11 can be just the graphics part or include applications frameworks. It is the standard *nix graphics environment. Most *nix window managers sit on top of this (but not Aqua, which sits on top of Quartz)
Java - a cross platform application hosting environment. It is largely like Cocoa. Though it is really a combination of a language, a virtual CPU, application frameworks, and a runtime environment all bundled together. It is a kind of meta-application. It is referred to as a Virtual Operating System, as it is like an OS that runs within another OS, for the purposes of abstraction to enable cross platform environment.
GNU - GNU's Not Unix. It is a 'movement'. It is the socio-political structure for developing Free Software that can be used to build computing software systems.
Whew! Is that enough for now? 
|
|
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Sep 2003
Status:
Offline
|
|
JNI,
Thanks for your post, really enjoyed the read. As I'm sure you can imagine, a hundred and one questions now come to mind, but I'll take it easy for the moment. Just one thought: so all these layers of the OS sit on the top of the seven layers of the OSI model, correct? Wow, quite an interesting idea. And if you're going to tell me that in fact the OSI model intersects with the OS at various points - some of which might even overlap, etc... - then i'm simply going to forget about trying to get an overview altogether.
Anyway, point is I want to start learning more about these things. I imagine the best way to start is by experimenting on my 12" PowerBook. Clearly, some of the parts you describe just simply don't work with on a Mac, so we'll leave them out. I'm thinking about starting with X11.
Is it farily easy/safe for someone who doesn't know what they are doing to install X11 and begin fiddling around with it?
Thanks again,
BKB.
|
|
PBG4/12"/1GHz/1.25GB/60GB//SD/APX/10.3
|
| |
|
|
|
 |
|
 |
|
Forum Regular
Join Date: Oct 2002
Location: Left Coast
Status:
Offline
|
|
Originally posted by bkb:
Just one thought: so all these layers of the OS sit on the top of the seven layers of the OSI model, correct?
Not really. The OSI model is an abstraction description usually used to describe networking protocols, though the general concepts can be applied to other layered systems. It just means that various parts of a system can be described as being separated into distinct functional areas. Different vendors may supply different pieces, so it helps to have some agreements where to draw certain lines if they are to work together well. It's a nice thing to understand as a concept, but don't be surprised if you see systems that 'violate' the model. Practicality usually overrides academics. In networking, that usually means speed. So it is not uncommon to find nearly 'monolithic' networking stacks where say layers 1-2 are done entirely in hardware, and then maybe layers 3-5 are all done with one other piece, with layer 7 being the ultimate application that sits on top of the rest.
Is it farily easy/safe for someone who doesn't know what they are doing to install X11 and begin fiddling around with it?
What exactly are you trying to accomplish? Do you want to put together a Linux system? Do you want to do programming? Do you want to just explore operating systems/computer science? There are many different approaches to all of those. It's going to take time to tackle all of that. Are you taking any computer type classes in school? I've been working with computers for over 30 years, and I still have plenty to learn!
Installing the X11 runtime system is simple - it's part of the OS X installer (though it is an optional install in some versions.)
Installing X11 compliant applications is mostly just like installing any other app, though it can be a bit trickier than standard OS X apps. It depends on how the app is distributed. Some may use a GUI installer, some may require command line gymnastics. Each case will be different, and you will just have to follow whatever instructions you get, and fill in an missing info as needed through research.
Programming X11 applications is a whole other thing. You would then obviously need to know how to program, and have a development environment etc. If you're just starting out programming, I probably wouldn't start off with X11 development. There are lots of views on the best way to learn programming, but I would suggest either a basic C or Java book to get started. But some people might suggest whole other approaches, like Basic, or shell scripting, or one of the other hundreds of language/development environments out there. If you think you want to do this seriously, you eventually will likely need to learn C/C++ or Java. But that might a year or so down the line after you tackle some other things.
|
|
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Sep 2003
Status:
Offline
|
|
Originally posted by JNI:
What exactly are you trying to accomplish? Do you want to put together a Linux system? Do you want to do programming? Do you want to just explore operating systems/computer science?
JNI,
I want to do all three but in the reverse order. I am not a programmer, as I'm sure you can tell. I am not taking any lessons in school. It's a combination of morbid curiosity and some spare time. I just want to peel off the layers, one at time, just to see what I'll find - that's all. I hope that clarifies my objective.
As far as how to do this, I think it is a combination of trial & error, but also of speaking to people who are already ahead of me - in this case, 30 years ahead - to get a glimpse of what lies ahead.
Thanks,
BKB.
|
|
PBG4/12"/1GHz/1.25GB/60GB//SD/APX/10.3
|
| |
|
|
|
 |
|
 |
|
Forum Regular
Join Date: Oct 2002
Location: Left Coast
Status:
Offline
|
|
Originally posted by bkb:
JNI,
I want to do all three but in the reverse order. I am not a programmer, as I'm sure you can tell. I am not taking any lessons in school. It's a combination of morbid curiosity and some spare time. I just want to peel off the layers, one at time, just to see what I'll find - that's all. I hope that clarifies my objective.
As far as how to do this, I think it is a combination of trial & error, but also of speaking to people who are already ahead of me - in this case, 30 years ahead - to get a glimpse of what lies ahead.
Thanks,
BKB.
It sounds like you have set out a good path. I wouldn't necessarily wait to learn about programming. It's mostly just logical thinking applied to getting a machine to do what you want it to do. Obviously you need to know a bit about what a machine is capable of doing before you can start to command and control it, but learning something like shell scripting would be possible and very valuable right away, for nearly all users. If you 'get it', the basic principles (logic, flow control, data structures etc.) will migrate well to doing more sophisticated stuff like C programming. Tackling things like X programming, which can be very difficult even for very experienced programmers, will be much easier once you get all the basics under your belt.
Note that when I first started programming, I was working on a machine where I had to enter programs through punch cards (see http://ibm1130.org). A 500 line program was quite a chore. Machines were scarce and very expensive (millions of dollars) and had to be shared, and you had to go to a big air conditioned building during special hours and 'submit jobs' that would be run overnight by 'sysops', getting the result the next day. If you made one error in your program, you had to wait an entire day just to change that one bug. There was no internet, so everything had to be learned by reading very dry books (well, more like like typewritten pamphlets bound together by staples) and taking the limited classes that were available. Many people were protective about their hard earned knowledge (I guess it made them feel powerful to know more than others, and they didn't want to share that.).
Even up until just a decade ago, there was still no internet. Good books were coming out, but still limited, and expensive. Unix stations were only available in work or school environments, and were well over $10K (for a 30MHz processor if you were lucky), so no one had them at home.
So consider yourself very lucky! I think you could probably learn the basic materials in a just a few years time as opposed to decades. Of course there is no shortcut for experience, but that can be accelerated vastly with all the modern tools and information that is now readily available.
And who knows, you might even make a career out of it. It wasn't my original intention, but I found that I was good at it, and I enjoyed it. I still do...
Learn, enjoy, share! An always use The Force for good!
|
|
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Sep 2003
Status:
Offline
|
|
Originally posted by JNI:
but learning something like shell scripting would be possible and very valuable right away, for nearly all users
JNI,
Ok - I'll take your word for it. How do I start?
Thanks for your reply,
BKB.
|
|
PBG4/12"/1GHz/1.25GB/60GB//SD/APX/10.3
|
| |
|
|
|
 |
|
 |
|
Forum Regular
Join Date: Oct 2002
Location: Left Coast
Status:
Offline
|
|
Originally posted by bkb:
Ok - I'll take your word for it. How do I start?
Shell scripting is basically combining a bunch of command line actions in order to create a new tool, usually to do something that you want to do more than once. Putting the commands into a script allows you to easily save state between each individual command possibly manipulating the intermediate values, so that you can use the result of one step as input to the next step.
It helps to know what you might want to do. When I first learned programming, the courses I took were pretty dry. Mostly database management stuff, and very abstract. Kind of like learning math. Why would I want to know how to figure out the angle in a triangle? I saw that I could do it, but I didn't immediately see why I would want to. It wasn't until I had a grasp of what was possible, and then being exposed to a situation where I wanted to accomplish a specific task, that I saw how I could use the tools to do something important to me. Once it was important, I found a passion to learn more so that I could do something interesting. In my case, it was developing music applications.
Here are a few links to some shell programming tutorials and such. Again, they're kind of like learning how to use a screwdriver and a hammer. Unless you know what you want to build, they aren't very interesting on their own.
http://steve-parker.org/sh/sh.shtml
http://www.eng.hawaii.edu/Tutor/csh.html
http://www.metlin.org/linux/script.html
http://pegasus.rutgers.edu/~elflord/unix/bash-tute.html
http://supportweb.cs.bham.ac.uk/docu...xscripting.pdf
http://www.injunea.demon.co.uk/pages/page203.htm
http://www.osxfaq.com/Tutorials/Lear...ting1/index.ws
Here's an example of a simple script I wrote that opens your web browser to view a man page instead of viewing it in the raw text mode as in a terminal:
Code:
#!/bin/sh
# hman - open a web browser to the FreeBSD online man pages
theQuery=""
# concatenate all command line arguments with + delimiting
# as required by the search engine
for theArg in $@
do
theQuery ="${theQuery}${theArg}+"
done
url="http://www.freebsd.org/cgi/man.cgi?query=${theQuery}&apropos=0&sektion=0&manpath=FreeBSD+5.2-current&format=html"
open $url
I've written dozens of these kinds of mini-tools that just make certain common tasks a bit easier. If you can describe a paticular thing you might want to accomplish, I might be able to help you figure out how you might accomplish it.
|
|
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Sep 2003
Status:
Offline
|
|
Originally posted by JNI:
I've written dozens of these kinds of mini-tools that just make certain common tasks a bit easier. If you can describe a paticular thing you might want to accomplish, I might be able to help you figure out how you might accomplish it.
Hello again,
Please check your PM.
Thanks.
|
|
PBG4/12"/1GHz/1.25GB/60GB//SD/APX/10.3
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Oct 2000
Location: Midwest
Status:
Offline
|
|
JNI, thank you very much. Great resources.
Craig
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Jun 2003
Location: Hyrule
Status:
Offline
|
|
KDE and BSD are one of the world's best OS combinations... BUT...
You can't walk into best buy, walmart, etc and pick up a few games and expect them to work perfectly...
until this happens we're all screwed 
|
|
Aloha
|
| |
|
|
|
 |
 |
|
 |
|
|
|
|
|

|
|
 |
Forum Rules
|
 |
 |
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is Off
|
|
|
|
|
|
 |
 |
 |
 |
|
 |
|