And Here is the collaborative EGLUG WikiWikiWeb.
looking for help on WikiSyntax
please do not edit this page, create a new book page and attach it to an appropriate parent node instead.
here we put things that don't fit in any other place.
About the SSTE conference i don't know if they will ask us to talk about the unemployment and development in communication and information technology or not but I just prepared some points to talk about in case they asked us to talk about this issue ... and I need cooperation from all of u if u found something not good to tell me and to add some points too..
-The Philosophy behind open source.
open source and what is open source and why it is important... and why people choose to use open source instead of closed source... and why when making the source published in public that will offer much more opportunities for sharing and cooperation between all those who are interested in the field.. and will reduce monopolism and increase healthy competition between developers and contributors.. and also it will not be againest business development. it will be just a little introduction as all of them already knew about open source from the last conference.
-Open source and development cooperation.
how it will be great to make open source cooperate in development of countries in its many ways especially open source software.. and the advantage of open source software applications.
-Open source as a development path.
how using open source will make a right path to development as it has a less cost completely free license that will save money and help in economic development that will lead in development to the whole country.. and the economic development will be explained in the next points.
-Why developing countries must use open source.
i think this point will be important As Egypt is considered one of the developing country.. how the open source is suitable for the developing countries.. as it has no cost so it will save the money that is paid in licenses to be used in another fields..also open source needs many developers and contributors so many people will be able to work in this field and develop in it as it will be easy to learn for many people because of its GPLd tutorials and documentations .. so using open source in developing countries will be a good solution for the lake of money as many millions will be saved to be used in other fields .
-how reduction of unemployment will be one of the results of economic development that was caused by using open source.
and at last it will be so clear that due to economic development that was caused by the use of open source that will reduce unemployment.. and also many people can work in developing and contribution of the open source ..
I really appreciate ur cooperation very much..
<?php // -*-php-*-
/*
* Original module by Alaa Abd El Fatah.
* Mohammed Sameer: My Modifications Copyright (c) 2004 Mohammed Sameer,
* under the GNU GPL v2 or later.
* Mohammed Sameer: 2004 10 30
* * Ported to drupal 4.5 API.
*/
setlocale(LC_ALL, "ar_EG.UTF-8");
function bidi_help($section) {
$output = "";
switch ($section) {
case 'admin/modules#description':
$output = t("Automaticaly sets line direction");
break;
}
return $output;
}
function bidi_filter($op, $delta = 0, $format = -1, $text = "") {
switch ($op) {
case 'list':
return array(0 => t('BiDi'));
// case "name":
// return t("Bidi filter");
case 'description':
return t("Bidi filter");
case "process":
return _bidi_filter_process($text);
case "settings":
return _bidi_filter_settings($text);
default:
return $text;
}
}
//get dir needs to be split into a single include file so it can be used on theme and other places
function _get_dir($text) {
$text = strtolower($text);
$len = strlen($text);
$arabic = 0;
$english = 0;
//constants
$a = ord('a');
$z = ord('z');
//arabic UTF-8 letters have one of these values in the 1st byte
$ar1 = 0xd8;
$ar2 = 0xd9;
// this calculates the dominant language in the text, most bidi implementations just use the first letter (which may be more efficient)
for ($i = 0; $i < $len; ++$i) {
$bin = ord($text[$i]);
if ($bin == $ar1 || $bin == $ar2) {
++$arabic;
++$i;
} else if ($bin >= $a && $bin <= $z) {
++$english;
}
}
//should this return a bool instead?
if ($english || $arabic) {
if ($english > $arabic)
return ' class="left2right"';
else
return ' class="right2left"';
} else {
return "";
}
}
function _bidi_filter_process($text) {
$output = "";
$len = strlen($text);
$i = 0;
while ($i < $len) {
//find next tag
$e = strpos(substr($text, $i), "<");
if ($e === FALSE) break;
$output.=substr($text, $i, $e);
$i += $e;
//find end of next tag
$e = strcspn(substr($text, $i), "/> ");
$tag = substr($text, $i+1, $e-1);
$output.=substr($text, $i, $e);
$i += $e;
switch ($tag) {
//single tag entity
case "img":
case "br":
case "hr":
continue;
break;
//nested cases
case "ul":
case "ol":
case "dl":
case "div":
$e = 0;
$j = 1; //stack counter
// if $j = 0 then stack is empty
while ($j > 0) {
$e += strpos(substr($text, $i+$e) , $tag);
//yeah I know I'm assuming certain sizes for tags, sue me
if ($text[$i+$e-1] == '<') { //new nested block
++$j;
} else if ($text[$i+$e-1] == '/') { //end of block
--$j;
}
$e += 2; //skip current tag
}
$content = substr($text, $i+1, $e);
$output.=_get_dir(strip_tags($content));
$e += strlen($tag);
$output.= substr($text, $i, $e);
$i += $e;
break;
//block elements these get out attention
case "p":
case "blockquote":
case "pre":
case "h1":
case "h2":
case "h3":
case "h4":
case "h5":
case "h6":
//nested lists are proken better think of a fix
case "li":
$close_tag = "</".$tag.">";
//breaks on extra whitespaces, maybe I should use regexps instead
$e = strpos(substr($text, $i), $close_tag);
$content = substr($text, $i+1, $e-1);
//calculate directions
$output.= _get_dir(strip_tags($content));
$e += strlen($close_tag);
$output.= substr($text, $i, $e);
$i += $e;
break;
//non block tags we are not handeling
default:
$close_tag = "</".$tag.">";
$e = strpos(substr($text, $i), $close_tag) + strlen($close_tag);
$output.= substr($text, $i, $e);
$i += $e;
}
}
//any missing content
$output .= substr($text, $i);
return $output;
}
function _bidi_filter_settings() {
return form_group(t("Bidi filter"), t("automatic bidi"));
}
function bidi_filter_tips() {
if ($long)
{
}
else {
return t("You may write mixed Arabic and English freely, line direction will be computed automaticaly");
}
}
?>
ALT x (written as M-x) opens the emacs command.
CTRL x (written as C-x) for commands related to the editor.
CTRL h (written as C-h) for help commands, also u can access it through F1
This is the first issue of the magazine
it contain few lessons about some basic command line, and an article about migrate from other environments to GNU/Linux and short review for some GNU/Linux applications.
it is all in Arabic
<?php // -*-php-*-
/*
* Original module by Alaa Abd El Fatah.
* Modifications to enclude the admin configuration by Mohammed Sameer.
* Copyright (c) 2004 Mohammed Sameer, All rights reserved.
* Mohammed Sameer: My Modifications are under the GNU GPL v2 or later.
* Mohammed Sameer: 2004 09 10:
* * Output is themed by drupal.
* * Don't modify the variables if you can't open the file.
* * The "more..." link should include the country ISO code.
* * s/||/|/ between the 2 links at the bottom per alaa's request.
* 2004 10 29L
* * Ported to drupal 4.5 API.
*/
function lincount_help($section) {
switch ($section) {
case 'admin/modules#description':
$output = "<p>displays a block with the current Egypt statistics from Linux Counter Project</p>";
break;
}
return $output;
}
function lincount_cron() {
$file = 'http://counter.li.org/reports/short.txt';
$data = file_get_contents($file);
if ($data == FALSE)
{
return;
}
$country = variable_get("lincount_country", "EG");
$matches = array();
preg_match("|([0-9]+)\s*$country\s*([0-9a-zA-Z]+)\s*([0-9]+)\s*([0-9]+)\s*([0-9]+)\s*([0-9]+\.[0-9]+)\s*([0-9]+.[0-9]+)|", $data, $matches);
$rank = $matches[1];
$country = $matches[2];
$users = $matches[3] + $matches[4];
$machines = $matches[5];
$userdensity = $matches[6];
variable_set("lincount_rank", $rank);
variable_set("lincount_users", $users);
variable_set("lincount_machines", $machines);
variable_set("lincount_userdensity", $userdensity);
variable_set("lincount_country_long", $country);
}
function lincount_block($op = "list", $delta = 0) {
if ($op == "list") {
$blocks[0]["info"] = t("Linux Counter Statistics");
return $blocks;
}
else {
$country = variable_get("lincount_country_long", "Egypt");
$block["subject"] = t("Linux Counter %s Statistics",array("%s" => $country));
$block["content"] = lincount_display_block();
return $block;
}
}
function lincount_display_block() {
$rank = variable_get("lincount_rank",0);
$users = variable_get("lincount_users",0);
$machines = variable_get("lincount_machines",0);
$userdensity = variable_get("lincount_userdensity",0);
$country = variable_get("lincount_country","EGY");
$lincount_array[] = "Country Rank: $rank";
$lincount_array[] = "Number Of Users: $users";
$lincount_array[] = "Number Of Machines: $machines";
$lincount_array[] = "User Density: $userdensity";
$output = theme_node_list($lincount_array);
$output .= "<br />";
$output_array[] = l("Get Counted","http://counter.li.org/enter-person.php");
$output_array[] = l("more...","http://counter.li.org/reports/arearank.php?area=$country");
$output .= "<div class=\"more-link\">";
$output .= theme_links($output_array, ' | ');
$output .= "</div>";
return $output;
}
function lincount_settings()
{
$country = variable_get("lincount_country", "EG");
$output .= form_textfield(t("Enter the ISO code for the country:"), "lincount_country", $country, 55, 100);
return $output;
}
?>
this is the famous flamewar between Linus & Tanenbaum , i've posted it before on linux-egypt but i think here it will look much better ;-)
Linus vs. Tanenbaum Linux is obsolete Andy Tanenbaum Microkernel vs Monolithic System Portability Linus Benedict Torvalds Andy Tanenbaum Linus Benedict Torvalds Linus Benedict Torvalds Unhappy campers Andy Tanenbaum Fred Fish Andy Tanenbaum Linus Benedict Torvalds This is an extract of the discussion between Andy Tanenbaum and Linus Benedict Torvalds about kernel design, free software, and more. Only contributions from the main actors are included. The complete archive is also available, but only in BABYL format. You can use Emacs RMAIL to read it conveniently.
Per Abrahamsen Linux is obsolete Andy Tanenbaum From: ast@cs.vu.nl (Andy Tanenbaum) Newsgroups: comp.os.minix Subject: LINUX is obsolete Date: 29 Jan 92 12:12:50 GMT Organization: Fac. Wiskunde &h Informatica, Vrije Universiteit, Amsterdam
I was in the U.S. for a couple of weeks, so I haven't commented much on LINUX (not that I would have said much had I been around), but for what it is worth, I have a couple of comments now.
As most of you know, for me MINIX is a hobby, something that I do in the evening when I get bored writing books and there are no major wars, revolutions, or senate hearings being televised live on CNN. My real job is a professor and researcher in the area of operating systems.
As a result of my occupation, I think I know a bit about where operating are going in the next decade or so. Two aspects stand out:
Microkernel vs Monolithic System Most older operating systems are monolithic, that is, the whole operating system is a single a.out file that runs in 'kernel mode.' This binary contains the process management, memory management, file system and the rest. Examples of such systems are UNIX, MS-DOS, VMS, MVS, OS/360, MULTICS, and many more. The alternative is a microkernel-based system, in which most of the OS runs as separate processes, mostly outside the kernel. They communicate by message passing. The kernel's job is to handle the message passing, interrupt handling, low-level process management, and possibly the I/O. Examples of this design are the RC4000, Amoeba, Chorus, Mach, and the not-yet-released Windows/NT.
While I could go into a long story here about the relative merits of the two designs, suffice it to say that among the people who actually design operating systems, the debate is essentially over. Microkernels have won. The only real argument for monolithic systems was performance, and there is now enough evidence showing that microkernel systems can be just as fast as monolithic systems (e.g., Rick Rashid has published papers comparing Mach 3.0 to monolithic systems) that it is now all over but the shoutin`.
MINIX is a microkernel-based system. The file system and memory management are separate processes, running outside the kernel. The I/O drivers are also separate processes (in the kernel, but only because the brain-dead nature of the Intel CPUs makes that difficult to do otherwise). LINUX is a monolithic style system. This is a giant step back into the 1970s. That is like taking an existing, working C program and rewriting it in BASIC. To me, writing a monolithic system in 1991 is a truly poor idea.
Portability Once upon a time there was the 4004 CPU. When it grew up it became an 8008. Then it underwent plastic surgery and became the 8080. It begat the 8086, which begat the 8088, which begat the 80286, which begat the 80386, which begat the 80486, and so on unto the N-th generation. In the meantime, RISC chips happened, and some of them are running at over 100 MIPS. Speeds of 200 MIPS and more are likely in the coming years. These things are not going to suddenly vanish. What is going to happen is that they will gradually take over from the 80x86 line. They will run old MS-DOS programs by interpreting the 80386 in software. (I even wrote my own IBM PC simulator in C, which you can get by FTP from ftp.cs.vu.nl = 192.31.231.42 in dir minix/simulator.) I think it is a gross error to design an OS for any specific architecture, since that is not going to be around all that long. MINIX was designed to be reasonably portable, and has been ported from the Intel line to the 680x0 (Atari, Amiga, Macintosh), SPARC, and NS32016. LINUX is tied fairly closely to the 80x86. Not the way to go.
Don`t get me wrong, I am not unhappy with LINUX. It will get all the people who want to turn MINIX in BSD UNIX off my back. But in all honesty, I would suggest that people who want a **MODERN** "free" OS look around for a microkernel-based, portable OS, like maybe GNU or something like that.
Andy Tanenbaum (ast@cs.vu.nl) P.S. Just as a random aside, Amoeba has a UNIX emulator (running in user space), but it is far from complete. If there are any people who would like to work on that, please let me know. To run Amoeba you need a few 386s, one of which needs 16M, and all of which need the WD Ethernet card.
Linus Benedict Torvalds From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: Re: LINUX is obsolete Date: 29 Jan 92 23:14:26 GMT Organization: University of Helsinki
Well, with a subject like this, I'm afraid I'll have to reply. Apologies to minix-users who have heard enough about linux anyway. I'd like to be able to just "ignore the bait", but ... Time for some serious flamefesting!
In article ast@cs.vu.nl (Andy Tanenbaum) writes:
I was in the U.S. for a couple of weeks, so I haven't commented much on LINUX (not that I would have said much had I been around), but for what it is worth, I have a couple of comments now. As most of you know, for me MINIX is a hobby, something that I do in the evening when I get bored writing books and there are no major wars, revolutions, or senate hearings being televised live on CNN. My real job is a professor and researcher in the area of operating systems.
You use this as an excuse for the limitations of minix? Sorry, but you loose: I've got more excuses than you have, and linux still beats the pants of minix in almost all areas. Not to mention the fact that most of the good code for PC minix seems to have been written by Bruce Evans.
Re 1: you doing minix as a hobby - look at who makes money off minix, and who gives linux out for free. Then talk about hobbies. Make minix freely available, and one of my biggest gripes with it will disappear. Linux has very much been a hobby (but a serious one: the best type) for me: I get no money for it, and it's not even part of any of my studies in the university. I've done it all on my own time, and on my own machine.
Re 2: your job is being a professor and researcher: That's one hell of a good excuse for some of the brain-damages of minix. I can only hope (and assume) that Amoeba doesn't suck like minix does.
1. MICROKERNEL VS MONOLITHIC SYSTEM True, linux is monolithic, and I agree that microkernels are nicer. With a less argumentative subject, I'd probably have agreed with most of what you said. From a theoretical (and aesthetical) standpoint linux looses. If the GNU kernel had been ready last spring, I'd not have bothered to even start my project: the fact is that it wasn't and still isn't. Linux wins heavily on points of being available now.
MINIX is a microkernel-based system. deleted, but not so that you miss the point? LINUX is a monolithic style system. If this was the only criterion for the "goodness" of a kernel, you'd be right. What you don't mention is that minix doesn't do the micro-kernel thing very well, and has problems with real multitasking (in the kernel). If I had made an OS that had problems with a multithreading filesystem, I wouldn't be so fast to condemn others: in fact, I'd do my damndest to make others forget about the fiasco.
yes, I know there are multithreading hacks for minix, but they are hacks, and bruce evans tells me there are lots of race conditions?
2. PORTABILITY
"Portability is for people who cannot write new programs" -me, right now (with tongue in cheek)
The fact is that linux is more portable than minix. What? I hear you say. It's true - but not in the sense that ast means: I made linux as conformant to standards as I knew how (without having any POSIX standard in front of me). Porting things to linux is generally /much/ easier than porting them to minix.
I agree that portability is a good thing: but only where it actually has some meaning. There is no idea in trying to make an operating system overly portable: adhering to a portable API is good enough. The very /idea/ of an operating system is to use the hardware features, and hide them behind a layer of high-level calls. That is exactly what linux does: it just uses a bigger subset of the 386 features than other kernels seem to do. Of course this makes the kernel proper unportable, but it also makes for a /much/ simpler design. An acceptable trade-off, and one that made linux possible in the first place.
I also agree that linux takes the non-portability to an extreme: I got my 386 last January, and linux was partly a project to teach me about it. Many things should have been done more portably if it would have been a real project. I'm not making overly many excuses about it though: it was a design decision, and last april when I started the thing, I didn't think anybody would actually want to use it. I'm happy to report I was wrong, and as my source is freely available, anybody is free to try to port it, even though it won't be easy.
Linus PS. I apologise for sometimes sounding too harsh: minix is nice enough if you have nothing else. Amoeba might be nice if you have 5-10 spare 386's lying around, but I certainly don't. I don't usually get into flames, but I'm touchy when it comes to linux :)
Andy Tanenbaum From: ast@cs.vu.nl (Andy Tanenbaum) Newsgroups: comp.os.minix Subject: Re: LINUX is obsolete Date: 30 Jan 92 13:44:34 GMT Organization: Fac. Wiskunde &h Informatica, Vrije Universiteit, Amsterdam
In article torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) writes:
You use this being a professor? as an excuse for the limitations of minix? The limitations of MINIX relate at least partly to my being a professor: An explicit design goal was to make it run on cheap hardware so students could afford it. In particular, for years it ran on a regular 4.77 MHZ PC with no hard disk. You could do everything here including modify and recompile the system. Just for the record, as of about 1 year ago, there were two versions, one for the PC (360K diskettes) and one for the 286/386 (1.2M). The PC version was outselling the 286/386 version by 2 to 1. I don't have figures, but my guess is that the fraction of the 60 million existing PCs that are 386/486 machines as opposed to 8088/286/680x0 etc is small. Among students it is even smaller. Making software free, but only for folks with enough money to buy first class hardware is an interesting concept. Of course 5 years from now that will be different, but 5 years from now everyone will be running free GNU on their 200 MIPS, 64M SPARCstation-5.
Re 2: your job is being a professor and researcher: That's one hell of a good excuse for some of the brain-damages of minix. I can only hope (and assume) that Amoeba doesn't suck like minix does. Amoeba was not designed to run on an 8088 with no hard disk.
If this was the only criterion for the "goodness" of a kernel, you'd be right. What you don't mention is that minix doesn't do the micro-kernel thing very well, and has problems with real multitasking (in the kernel). If I had made an OS that had problems with a multithreading filesystem, I wouldn't be so fast to condemn others: in fact, I'd do my damndest to make others forget about the fiasco. A multithreaded file system is only a performance hack. When there is only one job active, the normal case on a small PC, it buys you nothing and adds complexity to the code. On machines fast enough to support multiple users, you probably have enough buffer cache to insure a hit cache hit rate, in which case multithreading also buys you nothing. It is only a win when there are multiple processes actually doing real disk I/O. Whether it is worth making the system more complicated for this case is at least debatable.
I still maintain the point that designing a monolithic kernel in 1991 is a fundamental error. Be thankful you are not my student. You would not get a high grade for such a design :-)
The fact is that linux is more portable than minix. What? I hear you say. It's true - but not in the sense that ast means: I made linux as conformant to standards as I knew how (without having any POSIX standard in front of me). Porting things to linux is generally /much/ easier than porting them to minix. MINIX was designed before POSIX, and is now being (slowly) POSIXized as everyone who follows this newsgroup knows. Everyone agrees that user-level standards are a good idea. As an aside, I congratulate you for being able to write a POSIX-conformant system without having the POSIX standard in front of you. I find it difficult enough after studying the standard at great length.
My point is that writing a new operating system that is closely tied to any particular piece of hardware, especially a weird one like the Intel line, is basically wrong. An OS itself should be easily portable to new hardware platforms. When OS/360 was written in assembler for the IBM 360 25 years ago, they probably could be excused. When MS-DOS was written specifically for the 8088 ten years ago, this was less than brilliant, as IBM and Microsoft now only too painfully realize. Writing a new OS only for the 386 in 1991 gets you your second 'F' for this term. But if you do real well on the final exam, you can still pass the course.
Prof. Andrew S. Tanenbaum (ast@cs.vu.nl) Linus Benedict Torvalds From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: Re: LINUX is obsolete Date: 31 Jan 92 10:33:23 GMT Organization: University of Helsinki
In article ast@cs.vu.nl (Andy Tanenbaum) writes:
The limitations of MINIX relate at least partly to my being a professor: An explicit design goal was to make it run on cheap hardware so students could afford it. All right: a real technical point, and one that made some of my comments inexcusable. But at the same time you shoot yourself in the foot a bit: now you admit that some of the errors of minix were that it was too portable: including machines that weren't really designed to run unix. That assumption lead to the fact that minix now cannot easily be extended to have things like paging, even for machines that would support it. Yes, minix is portable, but you can rewrite that as "doesn't use any features", and still be right.
A multithreaded file system is only a performance hack. Not true. It's a performance hack /on a microkernel/, but it's an automatic feature when you write a monolithic kernel - one area where microkernels don't work too well (as I pointed out in my personal mail to ast). When writing a unix the "obsolete" way, you automatically get a multithreaded kernel: every process does it's own job, and you don't have to make ugly things like message queues to make it work efficiently.
Besides, there are people who would consider "only a performance hack" vital: unless you have a cray-3, I'd guess everybody gets tired of waiting on the computer all the time. I know I did with minix (and yes, I do with linux too, but it's /much/ better).
I still maintain the point that designing a monolithic kernel in 1991 is a fundamental error. Be thankful you are not my student. You would not get a high grade for such a design :-) Well, I probably won't get too good grades even without you: I had an argument (completely unrelated - not even pertaining to OS's) with the person here at the university that teaches OS design. I wonder when I'll learn :)
My point is that writing a new operating system that is closely tied to any particular piece of hardware, especially a weird one like the Intel line, is basically wrong. But /my/ point is that the operating system /isn't/ tied to any processor line: UNIX runs on most real processors in existence. Yes, the /implementation/ is hardware-specific, but there's a HUGE difference. You mention OS/360 and MS-DOG as examples of bad designs as they were hardware-dependent, and I agree. But there's a big difference between these and linux: linux API is portable (not due to my clever design, but due to the fact that I decided to go for a fairly- well-thought-out and tested OS: unix.)
If you write programs for linux today, you shouldn't have too many surprises when you just recompile them for Hurd in the 21st century. As has been noted (not only by me), the linux kernel is a miniscule part of a complete system: Full sources for linux currently runs to about 200kB compressed - full sources to a somewhat complete developement system is at least 10MB compressed (and easily much, much more). And all of that source is portable, except for this tiny kernel that you can (provably: I did it) re-write totally from scratch in less than a year without having /any/ prior knowledge.
In fact the /whole/ linux kernel is much smaller than the 386-dependent things in mach: i386.tar.Z for the current version of mach is well over 800kB compressed (823391 bytes according to nic.funet.fi). Admittedly, mach is "somewhat" bigger and has more features, but that should still tell you something.
Linus Linus Benedict Torvalds From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: Apologies (was Re: LINUX is obsolete) Date: 30 Jan 92 15:38:16 GMT Organization: University of Helsinki
In article I wrote:
Well, with a subject like this, I'm afraid I'll have to reply. And reply I did, with complete abandon, and no thought for good taste and netiquette. Apologies to ast, and thanks to John Nall for a friendy "that's not how it's done"-letter. I over-reacted, and am now composing a (much less acerbic) personal letter to ast. Hope nobody was turned away from linux due to it being (a) possibly obsolete (I still think that's not the case, although some of the criticisms are valid) and (b) written by a hothead :-)
Linus "my first, and hopefully last flamefest" Torvalds Unhappy campers Andy Tanenbaum From: ast@cs.vu.nl (Andy Tanenbaum) Newsgroups: comp.os.minix Subject: Unhappy campers Date: 3 Feb 92 22:46:40 GMT Organization: Fac. Wiskunde &h Informatica, Vrije Universiteit, Amsterdam
I've been getting a bit of mail lately from unhappy campers. (Actually 10 messages from the 43,000 readers may seem like a lot, but it is not really.) There seem to be three sticking points:
Monolithic kernels are just as good as microkernels Portability isn't so important Software ought to be free If people want to have a serious discussion of microkernels vs. monolithic kernels, fine. We can do that in comp.os.research. But please don't sound off if you have no idea of what you are talking about. I have helped design and implement 3 operating systems, one monolithic and two micro, and have studied many others in detail. Many of the arguments offered are nonstarters (e.g., microkernels are no good because you can't do paging in user space-- except that Mach DOES do paging in user space). If you don't know much about microkernels vs. monolithic kernels, there is some useful information in a paper I coauthored with Fred Douglis, Frans Kaashoek and John Ousterhout in the Dec. 1991 issue of COMPUTING SYSTEMS, the USENIX journal). If you don't have that journal, you can FTP the paper from ftp.cs.vu.nl (192.31.231.42) in directory amoeba/papers as comp_sys.tex.Z (compressed TeX source) or comp_sys.ps.Z (compressed PostScript). The paper gives actual performance measurements and supports Rick Rashid's conclusion that microkernel based systems are just as efficient as monolithic kernels.
As to portability, there is hardly any serious discussion possible any more. UNIX has been ported to everything from PCs to Crays. Writing a portable OS is not much harder than a nonportable one, and all systems should be written with portability in mind these days. Surely Linus' OS professor pointed this out. Making OS code portable is not something I invented in 1987.
While most people can talk rationally about kernel design and portability, the issue of free-ness is 100% emotional. You wouldn't believe how much expletive deleted? I have gotten lately about MINIX not being free. MINIX costs $169, but the license allows making two backup copies, so the effective price can be under $60. Furthermore, professors may make UNLIMITED copies for their students. Coherent is $99. FSF charges >$100 for the tape its "free" software comes on if you don't have Internet access, and I have never heard anyone complain. 4.4 BSD is $800. I don't really believe money is the issue. Besides, probably most of the people reading this group already have it.
A point which I don't think everyone appreciates is that making something available by FTP is not necessarily the way to provide the widest distribution. The Internet is still a highly elite group. Most computer users are NOT on it. It is my understanding from PH that the country where MINIX is most widely used is Germany, not the U.S., mostly because one of the (commercial) German computer magazines has been actively pushing it. MINIX is also widely used in Eastern Europe, Japan, Israel, South America, etc. Most of these people would never have gotten it if there hadn't been a company selling it.
Getting back to what "free" means, what about free source code? Coherent is binary only, but MINIX has source code, just as LINUX does. You can change it any way you want, and post the changes here. People have been doing that for 5 years without problems. I have been giving free updates for years, too.
I think the real issue is something else. I've been repeatedly offered virtual memory, paging, symbolic links, window systems, and all manner of features. I have usually declined because I am still trying to keep the system simple enough for students to understand. You can put all this stuff in your version, but I won't put it in mine. I think it is this point which irks the people who say "MINIX is not free," not the $60.
An interesting question is whether Linus is willing to let LINUX become "free" of his control. May people modify it (ruin it?) and sell it? Remember the hundreds of messages with subject "Re: Your software sold for money" when it was discovered the MINIX Centre in England was selling diskettes with news postings, more or less at cost?
Suppose Fred van Kempen returns from the dead and wants to take over, creating Fred's LINUX and Linus' LINUX, both useful but different. Is that ok? The test comes when a sizable group of people want to evolve LINUX in a way Linus does not want. Until that actually happens the point is moot, however.
If you like Linus' philosophy rather than mine, by all means, follow him, but please don't claim that you're doing this because LINUX is "free." Just say that you want a system with lots of bells and whistles. Fine. Your choice. I have no argument with that. Just tell the truth.
As an aside, for those folks who don't read news headers, Linus is in Finland and I am in The Netherlands. Are we reaching a situation where another critical industry, free software, that had been totally dominated by the U.S. is being taken over by the foreign competition? Will we soon see President Bush coming to Europe with Richard Stallman and Rick Rashid in tow, demanding that Europe import more American free software?
Andy Tanenbaum (ast@cs.vu.nl) Fred Fish From: fnf@fishpond.uucp (Fred Fish) Newsgroups: comp.os.minix Subject: Re: Unhappy campers Date: 4 Feb 92 20:57:40 GMT Organization: Amiga Library Distribution Services
In article ast@cs.vu.nl (Andy Tanenbaum) writes:
While most people can talk rationally about kernel design and portability, the issue of free-ness is 100% emotional. You wouldn't believe how much expletive deleted? I have gotten lately about MINIX not being free. MINIX costs $169, but the license allows making two backup copies, so the effective price can be under $60. Furthermore, professors may make UNLIMITED copies for their students. Coherent is $99. FSF charges >$100 for the tape its "free" software comes on if you don't have Internet access, and I have never heard anyone complain. 4.4 BSD is $800. I don't really believe money is the issue. Besides, probably most of the people reading this group already have it. The distribution cost is not the problem. As you've noted, nobody complains about the FSF's distribution fee being too high. The problem, as I see it, is that there is only one legal source for for the software for people that simply want a working release. And from watching the minix group since minix first became available, my impression is that nobody enjoys dealing with PH for a whole host of reasons.
I think the real issue is something else. I've been repeatedly offered virtual memory, paging, symbolic links, window systems, and all manner of features. I have usually declined because I am still trying to keep the system simple enough for students to understand. You can put all this stuff in your version, but I won't put it in mine. I think it is this point which irks the people who say "MINIX is not free," not the $60. If PH was not granted a monopoly on distribution, it would have been possible for all of the interested minix hackers to organize and set up a group that was dedicated to producing enhanced-minix. This aim of this group could have been to produce a single, supported version of minix with all of the commonly requested enhancements. This would have allowed minix to evolve in much the same way that gcc has evolved over the last few years. Sure there are variant versions of gcc, but most of the really good enhancements, bug fixes, etc are eventually folded back into a master source base that future distributions derive from. Thus you would have been left in peace to continue your tight control over the educational version of minix, and everyone else that wanted more than an educational tool could put their energies into enhanced-minx.
The primary reason I've never gotten into using minix, after the initial excitement of hearing about it's availability way back when, is that I have no interest in trying to apply random patches from all over the place, sort out the problems, and eventually end up with a system that does what I want it to, but which I can't pass on to anyone else.
The test comes when a sizable group of people want to evolve LINUX in a way Linus does not want. Until that actually happens the point is moot, however. Where is the sizeable group of people that want to evolve gcc in a way that rms/FSF does not approve of?
Where is the sizeable group of people that want to evolve emacs in a way that rms/FSF doesn't approve of?
I'd say that if the primary maintainers of a large piece of useful, freely redistributable, software are at all responsive to incorporating useful enhancements and acting as the central repository and clearing house for the software, then these splinter groups simply do not have sufficient motivation to form. Having a single source for the software, and having the primary maintainer(s) be unresponsive to the desires of a large group of users, is the catalyst that causes these sorts of pressures; not the freedom of the software.
-Fred -- |\/ o\ Fred Fish, 1835 E. Belmont Drive, Tempe, AZ 85284, USA |/\__/ 1-602-491-0048 {asuvax,mcdphx,cygint,amix}!fishpond!fnf
Andy Tanenbaum From: ast@cs.vu.nl (Andy Tanenbaum) Newsgroups: comp.os.minix Subject: Re: Unhappy campers Date: 5 Feb 92 23:23:26 GMT Organization: Fac. Wiskunde &h Informatica, Vrije Universiteit, Amsterdam
In article fnf@fishpond.uucp (Fred Fish) writes:
If PH was not granted a monopoly on distribution, it would have been possible for all of the interested minix hackers to organize and set up a group that was dedicated to producing enhanced-minix. This aim of this group could have been to produce a single, supported version of minix with all of the commonly requested enhancements. This would have allowed minix to evolve in much the same way that gcc has evolved over the last few years. This IS possible. If a group of people wants to do this, that is fine. I think co-ordinating 1000 prima donnas living all over the world will be as easy as herding cats, but there is no legal problem. When a new release is ready, just make a diff listing against 1.5 and post it or make it FTPable. While this will require some work on the part of the users to install it, it isn't that much work. Besides, I have shell scripts to make the diffs and install them. This is what Fred van Kempen was doing. What he did wrong was insist on the right to publish the new version, rather than diffs against the PH baseline. That cuts PH out of the loop, which, not surprisingly, they weren't wild about. If people still want to do this, go ahead.
Of course, I am not necessarily going to put any of these changes in my version, so there is some work keeping the official and enhanced ones in sync, but I am willing to co-operate to minimize work. I did this for a long time with Bruce Evans and Frans Meulenbroeks.
If Linus wants to keep control of the official version, and a group of eager beavers want to go off in a different direction, the same problem arises. I don't think the copyright issue is really the problem. The problem is co-ordinating things. Projects like GNU, MINIX, or LINUX only hold together if one person is in charge. During the 1970s, when structured programming was introduced, Harlan Mills pointed out that the programming team should be organized like a surgical team--one surgeon and his or her assistants, not like a hog butchering team--give everybody an axe and let them chop away.
Anyone who says you can have a lot of widely dispersed people hack away on a complicated piece of code and avoid total anarchy has never managed a software project.
Where is the sizeable group of people that want to evolve gcc in a way that rms/FSF does not approve of? A compiler is not something people have much emotional attachment to. If the language to be compiled is a given (e.g., an ANSI standard), there isn't much room for people to invent new features. An operating system has unlimited opportunity for people to implement their own favorite features.
Andy Tanenbaum (ast@cs.vu.nl) Linus Benedict Torvalds From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: Re: Unhappy campers Date: 6 Feb 92 10:33:31 GMT Organization: University of Helsinki
In article ast@cs.vu.nl (Andy Tanenbaum) writes:
If Linus wants to keep control of the official version, and a group of eager beavers want to go off in a different direction, the same problem arises. This is the second time I've seen this "accusation" from ast, who feels pretty good about commenting on a kernel he probably haven't even seen. Or at least he hasn't asked me, or even read alt.os.linux about this. Just so that nobody takes his guess for the full thruth, here's my standing on "keeping control", in 2 words (three?):
I won't.
The only control I've effectively been keeping on linux is that I know it better than anybody else, and I've made my changes available to ftp-sites etc. Those have become effectively official releases, and I don't expect this to change for some time: not because I feel I have some moral right to it, but because I haven't heard too many complaints, and it will be a couple of months before I expect to find people who have the same "feel" for what happens in the kernel. (Well, maybe people are getting there: tytso certainly made some heavy changes even to 0.10, and others have hacked it as well)
In fact I have sent out feelers about some "linux-kernel" mailing list which would make the decisions about releases, as I expect I cannot fully support all the features that will /have/ to be added: SCSI etc, that I don't have the hardware for. The response has been non-existant: people don't seem to be that eager to change yet. (well, one person felt I should ask around for donations so that I could support it - and if anybody has interesting hardware lying around, I'd be happy to accept it :)
The only thing the copyright forbids (and I feel this is eminently reasonable) is that other people start making money off it, and don't make source available etc... This may not be a question of logic, but I'd feel very bad if someone could just sell my work for money, when I made it available expressly so that people could play around with a personal project. I think most people see my point.
That aside, if Fred van Kempen wanted to make a super-linux, he's quite wellcome. He won't be able to make much money on it (distribution fee only), and I don't think it's that good an idea to split linux up, but I wouldn't want to stop him even if the copyright let me.
I don't think the copyright issue is really the problem. The problem is co-ordinating things. Projects like GNU, MINIX, or LINUX only hold together if one person is in charge. Yes, coordination is a big problem, and I don't think linux will move away from me as "head surgeon" for some time, partly because most people understand about these problems. But copyright /is/ an issue: if people feel I do a bad job, they can do it themselves. Likewise with gcc. The minix copyright, however, means that if someone feels he could make a better minix, he either has to make patches (which aren't that great whatever you say about them) or start off from scratch (and be attacked because you have other ideals).
Patches aren't much fun to distribute: I haven't made cdiffs for a single version of linux yet (I expect this to change: soon the patches will be so much smaller than the kernel that making both patches and a complete version available is a good idea - note that I'd still make the whole version available too). Patches upon patches are simply impractical, especially for people that may do changes themselves.
Where is the sizeable group of people that want to evolve gcc in a way that rms/FSF does not approve of? A compiler is not something people have much emotional attachment to. If the language to be compiled is a given (e.g., an ANSI standard), there isn't much room for people to invent new features. An operating system has unlimited opportunity for people to implement their own favorite features. Well, there's GNU emacs... Don't tell us people haven't got emotional attachment to editors :)
Linus
got this info from www.linuxit.com, maybe it would prove useful to someone trying to teach themselves without any particular goals.
wonder if one could find free training material though
seems rather haphazard IMO
initial dump from my PDA, will clean up laters.
menya ------- 17 18 19 6h 30 2pm - 6pm 11am - 4pm : drupal 1pm - 7pm : drupal ---- foss 30m instalation 2hours desktop 30 major application 30 ---=---=-=--- best of breed 45m inovative apps 45m web applications 30m 15m system compenonts 1h file heirarchy 30m security 30m 15m drakconf 1h how to seek help -====- command line 30m arguments 30m options 30m 15m pipes 10m redirects 10m redirect to command line 10m for loops 30m file commands ch-- 20m media commands u/mount, du, df 30m network commands 15m ping ifconfig route /etc/resolv.conf ssh scp process control 10m ps killall kill top fg bg text utils 30m grep sed cut sort uniq comm tr package managment 30m urpmi.addmedia urpmi.removemedia urpmi.update urpmi_rpm-find-leaves urpmi urpme urpmf urpmq services 5m config file 10m applications 10m example commands 30m ====----= control center and wizards
Here are some very short and small tips that can save someone's time.
If you are using linkdotnet's 07770777 and wvdial. Add this line to wvdial.conf
Stupid Mode = yes
<?php
/**
* @file
* Enables your site members to vote on decisions using a simple ranking voting system
*/
/**
* Implementation of hook_help().
*/
function rankvote_help($section) {
switch($section) {
case 'admin/help#rankvote':
return t("<p>some text to help admins</p>");
case 'admin/modules#description':
return t("Enables your site members to vote on decisions using a simple ranking vote system");
case 'node/add#rankvote':
return t("A Ranking Vote is a form where visitors can rank each option");
}
}
/**
* Implementation of hook_access().
*/
function rankvote_access($op, $node) {
if ($op == 'create') {
return user_access('create ranking votes');
}
}
/**
* Implementation of hook_block().
*
* Generates a block containing the latest rankvote.
*/
function rankvote_block($op = 'list', $delta = 0) {
if (user_access('access content')) {
if ($op == 'list') {
$blocks[0]['info'] = t('Most recent Ranking Vote');
return $blocks;
}
else {
// Retrieve the latest rankvote.
$timestamp = db_result(db_query('SELECT MAX(n.created) FROM {node} n '. node_access_join_sql() ." WHERE n.type = 'rankvote' AND n.status = 1 AND ". node_access_where_sql() .' AND n.moderate = 0'));
if ($timestamp) {
$rankvote = node_load(array('type' => 'rankvote', 'created' => $timestamp, 'moderate' => 0, 'status' => 1));
if ($rankvote->nid) {
// rankvote_view() dumps the output into $rankvote->body.
rankvote_view($rankvote, 1, 0, 1);
}
}
$block['subject'] = t('Ranking Vote');
$block['content'] = $rankvote->body;
return $block;
}
}
}
/**
* Implementation of hook_cron().
*
* Closes rankvotes that ave exceeded their allowed runtime.
*/
function rankvote_cron() {
$result = db_query("SELECT p.nid FROM {rankvote} p INNER JOIN {node} n ON p.nid=n.nid WHERE (n.created + p.runtime) < '". time() ."' AND p.active = '1' AND p.runtime != '0'");
while ($rankvote = db_fetch_object($result)) {
db_query("UPDATE {rankvote} SET active='0' WHERE nid = %d", $rankvote->nid);
}
}
/**
* Implementation of hook_delete().
*/
function rankvote_delete($node) {
db_query("DELETE FROM {rankvote} WHERE nid=%d", $node->nid);
db_query("DELETE FROM {rankvote_choices} WHERE nid = %d", $node->nid);
}
/**
* Implementation of hook_validate().
*/
function rankvote_validate(&$node) {
if (isset($node->title)) {
// Check for at least two options and validate amount of votes:
$realchoices = 0;
foreach($node->choice as $i => $choice) {
if ($choice['chtext'] != '') {
$realchoices++;
}
if ($choice['chvotes'] < 0) {
form_set_error("choice][$i][chvotes", t('Negative values are not allowed.'));
}
}
if ($realchoices < 2) {
form_set_error("choice][$realchoices][chtext", t('You must fill in at least two choices.'));
}
}
$node->teaser = rankvote_teaser($node);
}
/**
* Implementation of hook_form().
*/
function rankvote_form(&$node) {
$admin = user_access('administer nodes');
if (function_exists('taxonomy_node_form')) {
$output = implode('', taxonomy_node_form('rankvote', $node));
}
if (!isset($node->choices)) {
$node->choices = max(2, count($node->choice) ? count($node->choice) : 5);
}
// User ticked 'need more choices'.
if ($node->morechoices) {
$node->choices *= 2;
}
$output .= '<div class="rankvote-form">';
// RankVote choices
//$opts = drupal_map_assoc(range(2, $node->choices * 2 + 5));
for ($a = 0; $a < $node->choices; $a++) {
$group1 .= form_textfield(t('Choice %n', array('%n' => ($a + 1))), "choice][$a][chtext", $node->choice[$a]['chtext'], 50, 127);
if ($admin) {
$group1 .= form_textfield(t('Votes for choice %n', array('%n' => ($a + 1))), "choice][$a][chvotes", (int)$node->choice[$a]['chvotes'], 7, 7);
}
}
$group1 .= form_hidden('choices', $node->choices);
$group1 .= form_checkbox(t('Need more choices'), 'morechoices', 1, 0, t("If the amount of boxes above isn't enough, check this box and click the Preview button below to add some more."));
$output .= form_group(t('Choices'), $group1);
// RankVote attributes
$_duration = array(0 => t('Unlimited')) + drupal_map_assoc(array(86400, 172800, 345600, 604800, 1209600, 2419200, 4838400, 9767800, 31536000), "format_interval");
$_active = array(0 => t('Closed'), 1=> t('Active'));
if ($admin) {
$group2 .= form_radios(t('Ranking Vote status'), 'active', isset($node->active) ? $node->active : 1, $_active, t('When a Ranking Vote is closed, visitors can no longer vote for it.'));
}
$group2 .= form_select(t('Ranking Vote duration'), 'runtime', $node->runtime ? $node->runtime : 0, $_duration, t('After this period, the Ranking Vote will be closed automatically.'));
$output .= form_group(t('Settings'), $group2);
$output .= '</div>';
return $output;
}
/**
* Implementation of hook_insert().
*/
function rankvote_insert($node) {
if (!user_access('administer nodes')) {
// Make sure all votes are 0 initially
foreach ($node->choice as $i => $choice) {
$node->choice[$i]['chvotes'] = 0;
}
$node->active = 1;
}
db_query("INSERT INTO {rankvote} (nid, runtime, voters, active) VALUES (%d, %d, '', %d)", $node->nid, $node->runtime, $node->active);
$i=0;
foreach ($node->choice as $choice) {
if ($choice['chtext'] != '') {
db_query("INSERT INTO {rankvote_choices} (nid, chtext, chvotes, chorder) VALUES (%d, '%s', %d, %d)", $node->nid, $choice['chtext'], $choice['chvotes'], $i++);
}
}
}
/**
* Implementation of hook_link().
*/
function rankvote_link($type, $node = 0, $main) {
$links = array();
if ($type == 'page' && user_access('access content')) {
$links[] = l(t('votes'), 'rankvote', array('title' => t('View the list of Ranking Votes on this site.')));
}
return $links;
}
/**
* Implementation of hook_menu().
*/
function rankvote_menu($may_cache) {
$items = array();
if($may_cache) {
$items[] = array('path' => 'node/add/rankvote', 'title' => t('ranking vote'),
'access' => user_access('create ranking votes'));
$items[] = array('path' => 'rankvote', 'title' => t('ranking votes'),
'callback' => 'rankvote_page',
'access' => user_access('access content'),
'type' => MENU_SUGGESTED_ITEM);
$items[] = array('path' => 'rankvote/vote',
'title' => t('vote'),
'callback' => 'rankvote_vote',
'access' => user_access('vote on ranking votes'),
'type' => MENU_CALLBACK);
}
else {
if (arg(0) == 'node' && is_numeric(arg(1))) {
$node = node_load(array('nid' => arg(1)));
if ($node->type == 'rankvote' && $node->allowvotes) {
$items[] = array('path' => 'node/'. arg(1) .'/results',
'title' => t('results'),
'callback' => 'rankvote_results',
'access' => user_access('access content'),
'weight' => 3,
'type' => MENU_LOCAL_TASK);
}
}
}
return $items;
}
/**
* Determine an adjusted user id, to allow for basic tracking of anonymous
* users (IP-based).
*/
function rankvote_uid() {
global $user;
if ($user->uid) {
// Pad the UID with underscores to allow a simple strstr() search
$id = '_'. $user->uid .'_';
}
else {
$id = $_SERVER['REMOTE_ADDR'];
}
return $id;
}
/**
* Implementation of hook_load().
*/
function rankvote_load($node) {
// Load the appropriate choices into the $node object
$rankvote = db_fetch_object(db_query("SELECT runtime, voters, active FROM {rankvote} WHERE nid = %d", $node->nid));
$result = db_query("SELECT chtext, chvotes, chorder FROM {rankvote_choices} WHERE nid=%d ORDER BY RAND()", $node->nid);
while ($choice = db_fetch_array($result)) {
$rankvote->choice[$choice['chorder']] = $choice;
}
// Determine whether or not this user is allowed to vote
$rankvote->allowvotes = false;
if (user_access('vote on ranking votes')) {
if(!strstr($rankvote->voters, rankvote_uid())) {
$rankvote->allowvotes = $rankvote->active;
}
}
return $rankvote;
}
/**
* Implementation of hook_node_name().
*/
function rankvote_node_name($node) {
return t("Ranking Vote");
}
function rankvote_page() {
// List all Ranking Votes
$result = pager_query("SELECT DISTINCT(n.nid), n.title, p.active, n.created, SUM(c.chvotes) AS votes FROM {node} n ". node_access_join_sql() ." INNER JOIN {rankvote} p ON n.nid=p.nid INNER JOIN {rankvote_choices} c ON n.nid=c.nid WHERE type = 'rankvote' AND status = 1 AND ". node_access_where_sql() ." AND moderate = 0 GROUP BY n.nid, n.title, p.active, n.created ORDER BY n.created DESC", 15);
$output = '<ul>';
while ($node = db_fetch_object($result)) {
$output .= '<li>'. l($node->title, "node/$node->nid") .' - '. format_plural($node->votes, '1 vote', '%count votes') .' - '. ($node->active ? t('open') : t('closed')) . '</li>';
}
$output .= '</ul>';
$output .= theme("pager", NULL, 15);
print theme('page', $output);
}
/**
* Implementation of hook_perm().
*/
function rankvote_perm() {
return array('create ranking votes', 'vote on ranking votes');
}
/**
* Creates a simple teaser that lists all the choices.
*/
function rankvote_teaser($node) {
if (is_array($node->choice)) {
foreach ($node->choice as $k => $choice) {
$teaser .= '* '. $choice['chtext'] .'\n';
}
}
return $teaser;
}
/**
* Generates the voting form for a ranking vote.
*/
function rankvote_view_voting(&$node, $main, $page, $block) {
$output = '<div class="rankvote">';
$form = '<div class="vote-form">';
$form .= '<div class="choices">';
if ($node->choice) {
$options = drupal_map_assoc(range(1, count($node->choice)));
foreach ($node->choice as $i => $choice) {
$form .= form_select(drupal_specialchars($choice['chtext']), "choice][". $choice['chorder'], -1, $options, '', 0, false, true);
}
}
$form .= '</div>';
$form .= form_hidden('nid', $node->nid);
$form .= form_submit(t('Vote'), 'vote') .'</div>';
$output .= form($form, 'post', url('rankvote/vote/'. $node->nid));
$output .= '</div>';
return $output;
}
/**
* Generates a graphical representation of the results of a ranking vote.
*/
function rankvote_view_results(&$node, $main, $page, $block) {
// Display the results
// Count the votes and find the maximum
$temp = array();
foreach($node->choice as $i => $choice) {
$temp[$i] = $choice['chvotes'];
}
asort($temp);
// Output the divs for the text, bars and percentages
$output .= '<div class="rankvote">';
if ($block) {
$output .= '<div class="title">'. $node->title .'</div>';
}
$output .= '<ul>';
foreach($temp as $i => $score) {
$output .='<li>'. drupal_specialchars($node->choice[$i]['chtext']) .' <small>score = '. $node->choice[$i]['chvotes'] . '</small></li>';
}
$output .= '</ul></div>';
return $output;
}
/**
* Callback for the 'results' tab for ranking votes you can vote on
*/
function rankvote_results() {
if ($node = node_load(array('nid' => arg(1)))) {
print theme('page', node_show($node, 0), $node->title);
}
else {
drupal_not_found();
}
}
function _valid_rankvote($choice) {
$temp = array();
foreach($choice as $rank) {
$temp[] = $rank;
}
sort($temp);
for ($i=0; $i < count($temp); ++$i) {
if ($i != $temp[$i]-1) return false;
}
return true;
}
/**
* Callback for processing a vote
*/
function rankvote_vote(&$node) {
$nid = arg(2);
if ($node = node_load(array('nid' => $nid))) {
$edit = $_POST['edit'];
$choice = $edit['choice'];
$vote = $_POST['vote'];
if (isset($choice) && count($choice) == count($node->choice)) { //need to check valid vote data here
if (_valid_rankvote($choice)) {
if ($node->allowvotes) {
$id = rankvote_uid();
$node->voters = $node->voters ? ($node->voters .' '. $id) : $id;
db_query("UPDATE {rankvote} SET voters='%s' WHERE nid = %d", $node->voters, $node->nid);
foreach($choice as $i => $rank) {
db_query("UPDATE {rankvote_choices} SET chvotes = chvotes + %d WHERE nid = %d AND chorder = %d", $rank, $node->nid, $i);
$node->choice[$i]['chvotes'] += $rank;
}
$node->allowvotes = false;
drupal_set_message(t('Your vote was recorded.'));
}
else {
drupal_set_message(t("You're not allowed to vote on this ranking vote."), 'error');
}
} else {
drupal_set_message(t("Each choice should get a unique rank for the vote to be valid."), 'error');
}
} else {
drupal_set_message(t("All choices must be ranked for the vote to be valid."), 'error');
}
drupal_goto('node/'. $nid);
}
else {
drupal_not_found();
}
}
/**
* Implementation of hook_view().
*
* @param $block
* An extra parameter that adapts the hook to display a block-ready
* rendering of the ranking vote.
*/
function rankvote_view(&$node, $teaser = FALSE, $page = FALSE, $block = FALSE) {
global $user;
$output = '';
if ($node->allowvotes && ($block || arg(2) != 'results')) {
$output .= rankvote_view_voting($node, $main, $page, $block);
}
else {
$output .= rankvote_view_results($node, $main, $page, $block);
}
// Special display for side-block
if ($block) {
// No 'read more' link
$node->body = $node->teaser = '';
$links = link_node($node, $main);
$links[] = l(t('older ranking votes'), 'rankvote', array('title' => t('View the list of ranking votes on the site.')));
if ($node->allowvotes && $block) {
$link[] = l(t('results'), 'node/'. $node->nid .'/results', array('title' => t('View the current ranking vote results.')));
}
$output .= '<div class="links">'. theme("links", $links) .'</div>';
}
$node->body = $node->teaser = $output;
}
/**
* Implementation of hook_update().
*/
function rankvote_update($node) {
db_query('UPDATE {rankvote} SET runtime = %d, active = %d WHERE nid = %d', $node->runtime, $node->active, $node->nid);
db_query('DELETE FROM {rankvote_choices} WHERE nid = %d', $node->nid);
foreach ($node->choice as $choice) {
$chvotes = (int)$choice['chvotes'];
$chtext = $choice['chtext'];
$i=0;
if ($chtext != '') {
db_query("INSERT INTO {rankvote_choices} (nid, chtext, chvotes, chorder) VALUES (%d, '%s', %d, %d)", $node->nid, $chtext, $chvotes, $i++);
}
}
}
for all slackers if u had install slack and got MySQL error at the login prompt, here what u should do in shell su and write ur root password su mysqluser This logs you into the 'mysql' user account Next, run: mysql_install_db This will create the needed databases and set their permissions properly.
next time when u reboot ur slack u will not see this error agine
Tw33Ty
Here we prepare for our involvment in the SSTE FOSS Conference
We need Laptops to do demonstrations of GNU/Linux desktops in breaks between conference sessions.
follows is a list of people who promised to provide modern laptops
follows is a list of people who promised to provide old laptops
and here is a list of potential laptop owners, guys can you attend and bring your lappies??
Since we where asked to represent arabization efforts (we will represent both EGLUG and Arabeyes), we would better distribute an Arabic enabled live distro.
Arabbix 0.8 is very out of date and has various problems, arabbix 0.9 is very alpha and wouldn't work, if we have enough time we will create a quick mod of Knoppix, Morphix or Mandrake Move.
otherwise we should have 5 copies of Arabbix 0.8 for demonstration purposes.
we will probably distyribute Knoppix, we tend to favour Move for its ease of use but this time I think features are more important than ease of use.
we shall also have 20 copies of phaeronix and hopefully phaeron will be there to demonstrate and tell the people about it.
everything will be in arabic only, no need for dual and we can't afford it anyway
the important thing is to make a splash, we need brochures to tell about EGLUG, a draft is ready, we've got no time to do fancy formatting but maybe we'll manage something.
since the events don't provide much techinical info and rather focus on large aspects it would be nice to provide informational pamphlets, we'll use the ones we used on the InstallFest
it would also be nice if we distribute the alex case study acompanied by a list of future/potential case studies, anyone knows of good uses of FOSS in Egyptian organizations??
we shall give a presentation about Arabic community efforts and arabization, we'll recycle slides from our old seminars in universities
the event is open to the public, I hope we get as many EGLUG members as is humanly possible to attend.
people attending (add your name here)
what else
بدأت مجموعة مستخدمى جنو لينوكس فى مصر عام 2004 وهي مجموعة غير رسمية من المتطوعين المصريين من مختلف الخلفيات والأعمار جمعنا اﻹيمان بفلسفة البرمجيات الحرة ونموذج المصادر المفتوحة وحب نظم الجنو/لينوكس
البعض مننا متخصصين، هواة، أو مستخدمين عاديين...
البعض مننا يعتمدون على تلك البرمجيات في أعمالهم بينما ينتفع بها البعض الآخر في إستخدامهم الشخصي
لكننا نتعاون في مناخ اجتماعي ديمقراطي من أجل تبادل ونشر المعرفة
Web: http://www.eglug.org email: info@eglug.org irc: #eglug @ irc.freenode.org
تجتمع المجموعة كل سبت فى ساقية عبد المنعم الصاوى بالزمالك من الساعة 3 مساءا حتى الساعة 7 مساءا
س: لينوكس؟ يونيكس؟ ايه الفرق؟
ج: يمكن ده تبسيط زيادة شوية لكن اليونكس مش نظام تشغيل؛ اليونكس فكره. لما تستخدم Solaris أو AIX أو لينوكس، انت بتستخدم نظام تشغيل طلع من مجموعه متراكمه من الأفكار واللى اسمها يونكس. فى الحقيقه، احنا بنميل لتسمية لينوكس و Solaris مثلا، نكهات من يونكس. الموضوع عامل شويه زى الأيس كريم: لما تاكل أيس كريم فانيليا، ده بالتحديد نكهة فانيليا، لكنو برضه معمول بالطريقه اللى الأيس كريم معمول بيها. عشان كده، اللينوكس مش يونكس، لكنو نظام تشغيل شبيه باليونكس.
س: هو لينوكس مش نظام تشغيل سطر أوامر؟ عشان كده أنا بافضل NT/Windows XP/2000.
ج: ده صحيح تماما. قلب لينوكس فى سطر الأوامر. بس ده مش معناه، على أى حال، ان كل شغلك على لينوكس لازم يكون من سطر الأوامر. فى واجهات جرافيكس ممتازه تقريبا لأى مهمه تنفيذيه ممكن تفكر فيها. الطريقه اللى معظم التطبيقات (applications) دى اتصممت بيها هى انو يبقى فى برنامج سطر أوامر، بعد كده تبنى برنامج تانى يكون واجهة مرسومة من فوقيه. ده معناه انك حر تختار أى طريقه تعجبك عشان تنجز الشغل بتاعك.
على مستوى أعمق، ده مفهوم أساسى فى اللينوكس؛ أدوات سطر الأوامر بـواجة جرافيك اختياريه. ده مش بس معناه إنك تقدر تختار إزاى تنجز الشغل، لكن كمان بتفصل الكود و التصميم بتاع الواجهة من الـكود الى بيقوم بالشغل الفعلى. وعشان كده، لو لأى سبب الـواجهة الجرافيك مش ممكن الوصول ليه (زى لو بتعمل telnetting عشان تعمل شغلك) لسه برضه تقدر تنجز كل حاجه.
وعلى العكس تماما، لو معندكش الـ GUI فى الوندوز يبقى انت مزنوء. فى الوندوز، مافيش فصل للـ GUI من نواة عمليه نظام التشغيل. ده واحد من الأسباب الرئيسيه ليه الأنظمه المبنيه على يونكس زى لينوكس معروفين بالثبات بتاعهم. المحافظه على الحاجات بسيطه ومتقسمه لأجزاء مستقله.
س: خللينا نقول أنا عاوز ابدأ أفكر فى الاستقاده من اللينوكس فى مكان شغلى. أبدأ منين؟
ج: ده فى الحقيقه يتوقف على احتياجاتك. بالنسبة لوظائف السيرفر أقدر أقولك و أنا متطمن ان اللينوكس لحد كبير يقدر يعمل كل حاجه انت محتاجها. عشان كده ده غالبا مكان كويس للبدايه. ايه رأيك فى تشغل أيميل سيرفر على الشبكه بتاعتك ؟ ده غالبا مش هياخد أكتر من ربع ساعة.
و احنا فيها، ممكن برضه تفكر فى استخدام لينوكس سيرفر للمفلات المشتركة لأجهزة الويندوز اللى عندك. و سيرفر للبرينتر. وماتقلقش من كل مستخدمين الماكنتوش دول؛ اللينوكس فصيح فى AppleTalk وبسعاده هيوصللهم ببقيت العالم.
محتاج ويب-سيرفر كمان؟ خدلك بصه على أباتشى (Apache). أباتشى ده أكتر ويب سيرفر مستخدم فى العالم، ووبئاله كده مدة طويله أوى وهايفضل كده لفتره طويله أوى. وده مش مفاجئ لأنه حر، مفتوح المصدر، مستقر، مرن بشكل مايتصدئش، وناصح.
عاوز Application server؟ استخدم TomCat أو JBOSS. عاوز LDAP؟ أهو عندك. Groupware؟ فى بدايل كتيره. FTP؟ أيييوه.سيرفر محادثة؟ أكيد. سيرفر قواعد بيانات؟ MySQG/postgreSQL/Firebird/الخ.
و كمان لينوكس بيعمل فاير-وول ممتازه و/أو راوتر.
زى ما قولنا، الموضوع كله متوقف على احتياجاتك، حاول تشرح طلباتك لواحد من المتطوعين وشوف هما يقدرو يطلعو بإيه.
س: حلو أوى، إيه بقى نظام عقود الدعم و الضمان و الحاجات دى؟
عشان كده احنا عندنا شركات لينوكس، شركات كتير بيعرضو عقود دعم وأنواع الضمانات اللى انت ممكن تكون متعود عليها، الكويس ان الدعم دلوقتى بقى سوق فيه منافسه حقيقيه عشان كل الشركات دى ممكن توصل للمصدر البرمجى وتقدر تعدل وتخدم السوفت-وير بأى طريقه ممكنه. مش عاجبك الـService provider بتاعتك دلوقتى؟ غير الشركه وشوف واحده أحسن. الحاجه التانيه الكويسه إنك ممكن تروح لشركه محليه، أو شركه صغيره لو حبيت. بعد كده، فى دايما جماعات على النت مستعدة تساعدك فى كل أسئلتك و تقدملك دعم مجانى، ممكن حتى تتصل بمبرمجين السوفت-وير على طول، أو تعينهم عندك،
س: أد إيه لينوكس ماشى على المواصفات و المعايير؟
ج: اللينوكس ممكن يكون هو نفسة معيار للمطابقة للمواصفات.
لما تفكر فيها، ماكنش هايكون فى لينوكس من غير مقاييس ومن غير الإلتزام فى اتباعها. فى ميات من الألوف من المبرمجين باتساع العالم شغالين فى لينوكس، والطريقه الوحيده لمصمم interface فى بومباى، مثلا، عشان ينسق شغله مع مبرمج فى نيويورك أنو يكون فى شوية مقاييس بتحكم الشغل. ده بيكون فى بروتوكولات الشبكات، تصميم الـUI، بناء الملفات، هيراركية نظام-الملف، كل أنواع الـ API، الخ.
المقاييس هى الهوا اللى لينوكس بيتنفسه.
اللينوكس حتى بيعرف إزاى يتعامل مع أنظمه تانيه مش بتستجيب للمقاييس العامه. مثال كويس أوى هو وثائق مايكروسوفت أوفيس، ودول مملوكين ولسه ملهومش توثيق واللى (بعد شغل جامد كتير وهندسه عكسيه reverse engineering) ممكن يتشافو ويتعدلو باللينوكس.
اللينوكس بيتكلم كل اللغات، حتى اللغات البايظة.
س: تمام، انتو اقنعتونى. أنا هركب لينوكس النهارده. سيرفر ميل، سيرفر ويب، سيرفر قواعد بيانات، سيرفر DNS، ديسكتوب لينوكس فى قسم التسويق، بطارييق فى الحسابات، ماندريك على جهازى الشخصى ميكرو لينكس على الالة الحسبة بتاعتى.
ج: ماشى ماشى، إهدا شويه. سهل ان الواحد يبقى متحمس للينوكس، احنا عارفين.
(أهلا بيك معانا و متنساش تنضم ل http://www.eglug.org
س: لينوكس؟ يونيكس؟ ايه الفرق؟
ج: يمكن ده تبسيط زيادة شوية لكن اليونكس مش نظام تشغيل؛ اليونكس فكره. لما تستخدم Solaris أو AIX أو لينوكس، انت بتستخدم نظام تشغيل طلع من مجموعه متراكمه من الأفكار واللى اسمها يونكس. فى الحقيقه، احنا بنميل لتسمية لينوكس و Solaris مثلا، نكهات من يونكس. الموضوع عامل شويه زى الأيس كريم: لما تاكل أيس كريم فانيليا، ده بالتحديد نكهة فانيليا، لكنو برضه معمول بالطريقه اللى الأيس كريم معمول بيها. عشان كده، اللينوكس مش يونكس، لكنو نظام تشغيل شبيه باليونكس.
س: هو لينوكس مش نظام تشغيل سطر أوامر؟ عشان كده أنا بافضل NT/Windows XP/2000.
ج: ده صحيح تماما. قلب لينوكس فى سطر الأوامر. بس ده مش معناه، على أى حال، ان كل شغلك على لينوكس لازم يكون من سطر الأوامر. فى واجهات جرافيكس ممتازه تقريبا لأى مهمه تنفيذيه ممكن تفكر فيها. الطريقه اللى معظم التطبيقات (applications) دى اتصممت بيها هى انو يبقى فى برنامج سطر أوامر، بعد كده تبنى برنامج تانى يكون واجهة مرسومة من فوقيه. ده معناه انك حر تختار أى طريقه تعجبك عشان تنجز الشغل بتاعك.
على مستوى أعمق، ده مفهوم أساسى فى اللينوكس؛ أدوات سطر الأوامر بـواجة جرافيك اختياريه. ده مش بس معناه إنك تقدر تختار إزاى تنجز الشغل، لكن كمان بتفصل الكود و التصميم بتاع الواجهة من الـكود الى بيقوم بالشغل الفعلى. وعشان كده، لو لأى سبب الـواجهة الجرافيك مش ممكن الوصول ليه (زى لو بتعمل telnetting عشان تعمل شغلك) لسه برضه تقدر تنجز كل حاجه.
وعلى العكس تماما، لو معندكش الـ GUI فى الوندوز يبقى انت مزنوء. فى الوندوز، مافيش فصل للـ GUI من نواة عمليه نظام التشغيل. ده واحد من الأسباب الرئيسيه ليه الأنظمه المبنيه على يونكس زى لينوكس معروفين بالثبات بتاعهم. المحافظه على الحاجات بسيطه ومتقسمه لأجزاء مستقله.
س: خللينا نقول أنا عاوز ابدأ أفكر فى الاستقاده من اللينوكس فى مكان شغلى. أبدأ منين؟
ج: ده فى الحقيقه يتوقف على احتياجاتك. بالنسبة لوظائف السيرفر أقدر أقولك و أنا متطمن ان اللينوكس لحد كبير يقدر يعمل كل حاجه انت محتاجها. عشان كده ده غالبا مكان كويس للبدايه. ايه رأيك فى تشغل أيميل سيرفر على الشبكه بتاعتك ؟ ده غالبا مش هياخد أكتر من ربع ساعة.
و احنا فيها، ممكن برضه تفكر فى استخدام لينوكس سيرفر للمفلات المشتركة لأجهزة الويندوز اللى عندك. و سيرفر للبرينتر. وماتقلقش من كل مستخدمين الماكنتوش دول؛ اللينوكس فصيح فى AppleTalk وبسعاده هيوصللهم ببقيت العالم.
محتاج ويب-سيرفر كمان؟ خدلك بصه على أباتشى (Apache). أباتشى ده أكتر ويب سيرفر مستخدم فى العالم، ووبئاله كده مدة طويله أوى وهايفضل كده لفتره طويله أوى. وده مش مفاجئ لأنه حر، مفتوح المصدر، مستقر، مرن بشكل مايتصدئش، وناصح.
عاوز Application server؟ استخدم TomCat أو JBOSS. عاوز LDAP؟ أهو عندك. Groupware؟ فى بدايل كتيره. FTP؟ أيييوه.سيرفر محادثة؟ أكيد. سيرفر قواعد بيانات؟ MySQG/postgreSQL/Firebird/الخ.
و كمان لينوكس بيعمل فاير-وول ممتازه و/أو راوتر.
زى ما قولنا، الموضوع كله متوقف على احتياجاتك، حاول تشرح طلباتك لواحد من المتطوعين وشوف هما يقدرو يطلعو بإيه.
س: حلو أوى، إيه بقى نظام عقود الدعم و الضمان و الحاجات دى؟
عشان كده احنا عندنا شركات لينوكس، شركات كتير بيعرضو عقود دعم وأنواع الضمانات اللى انت ممكن تكون متعود عليها، الكويس ان الدعم دلوقتى بقى سوق فيه منافسه حقيقيه عشان كل الشركات دى ممكن توصل للمصدر البرمجى وتقدر تعدل وتخدم السوفت-وير بأى طريقه ممكنه. مش عاجبك الـService provider بتاعتك دلوقتى؟ غير الشركه وشوف واحده أحسن. الحاجه التانيه الكويسه إنك ممكن تروح لشركه محليه، أو شركه صغيره لو حبيت. بعد كده، فى دايما جماعات على النت مستعدة تساعدك فى كل أسئلتك و تقدملك دعم مجانى، ممكن حتى تتصل بمبرمجين السوفت-وير على طول، أو تعينهم عندك،
س: أد إيه لينوكس ماشى على المواصفات و المعايير؟
ج: اللينوكس ممكن يكون هو نفسة معيار للمطابقة للمواصفات.
لما تفكر فيها، ماكنش هايكون فى لينوكس من غير مقاييس ومن غير الإلتزام فى اتباعها. فى ميات من الألوف من المبرمجين باتساع العالم شغالين فى لينوكس، والطريقه الوحيده لمصمم interface فى بومباى، مثلا، عشان ينسق شغله مع مبرمج فى نيويورك أنو يكون فى شوية مقاييس بتحكم الشغل. ده بيكون فى بروتوكولات الشبكات، تصميم الـUI، بناء الملفات، هيراركية نظام-الملف، كل أنواع الـ API، الخ.
المقاييس هى الهوا اللى لينوكس بيتنفسه.
اللينوكس حتى بيعرف إزاى يتعامل مع أنظمه تانيه مش بتستجيب للمقاييس العامه. مثال كويس أوى هو وثائق مايكروسوفت أوفيس، ودول مملوكين ولسه ملهومش توثيق واللى (بعد شغل جامد كتير وهندسه عكسيه reverse engineering) ممكن يتشافو ويتعدلو باللينوكس.
اللينوكس بيتكلم كل اللغات، حتى اللغات البايظة.
س: تمام، انتو اقنعتونى. أنا هركب لينوكس النهارده. سيرفر ميل، سيرفر ويب، سيرفر قواعد بيانات، سيرفر DNS، ديسكتوب لينوكس فى قسم التسويق، بطاريق فى الحسابات، ماندريك على جهازى الشخصى ميكرو لينكس على الالة الحسبة بتاعتى.
ج: ماشى ماشى، إهدا شويه. سهل ان الواحد يبقى متحمس للينوكس، احنا عارفين.
(أهلا بيك معانا و متنساش تنضم ل http://www.eglug.org
س: ايه هو اللينوكس ده بقى؟
جـ: اللينوكس ده نظام تشغيل للكمبيوتر بتاعك. نظام التشغيل ده حاجه زى أعلى إداره فى شركه؛ بيتحكم فى كل حاجه ومسئول عن إزاى الحاجات بتشتغل. اللينوكس نظام تشغيل تمام زى الوندوز.
س: طاب وإيه اللى يخليينى اعوز لينوكس بقى؟ مأنا عندى وندوز.
جـ: ﻷسباب كتيييره أوى. لينوكس حر - وببلاش. من غير أى فلوس، وتقدر تعمل فيه/بيه زى ما تحب، تقدر تدى منه نسخ مجانية لصحابك ، أو "تعدل فيه" لغاية ما توصل لدرجة المصدر البرمجى . المصدر البرمجى ده زى وصفة الأكل ،مجموعة التعليمات اللى بينفذها الكمبيوتر واللى لما نجمعهم مع بعض يعملوا نظام التشغيل.
س: مقدرش اعمل كده فى الوندوز؟
جـ: ﻷ. انت مش بتجيب الوندوز بالمجان، والمصدر البرمجى أصلا مش متاح مع الوندوز. انت مزنوق مع نظام الوندوز زى ما هو.
س: بس ماهو الوندوز بيعمل كل الحاجات اللى أنا عاوزو يعملها.
جـ: مش صحيح. الوندز بيعمل بس الحاجات اللى انت بتبقى متوقع أنه يعملها. فى حاجات تانيه كتييير أوى تقدر تعملها بالكمبيوتر بتاعك، بس مابتعملهاش بالوندوز ﻷنك يا إما ماتئدرش، أو ﻷنها صعبه، أو ﻷنها بتكلف فلوس كتير لسوفت-وير زياده، أو ﻷنها مش راسية كفايه.
س: زى ايه؟
جـ: جربت مونتاج الصوت أبدا قبل كده؟ ببلاش؟ مونتاج الفيديو؟ ببلاش؟ مونتاج الصور؟ تعمل سيرفر e-business كامل فى 15 دقيقه؟ تشغل أى نوع من فيلات الأوديو/فيديو من غير ماتحتاج تصطاد الكوديكس (codecs)، لأنها بتشتغل؟ ببلاش؟ عايز برنت سيرفر (print server) للأوفيس ببلاش؟ طاب ايه رأيك فى ويب سيرفر (web server)؟ ولا إيميل سيرفر (e-mail server)؟ ولا انت محتاج بس نظام نشر ديسكتوب (desktop publishing system)؟ ولا ايه رأيك فى كل الحاجات دى فى نفس الوقت؟
س: ببلاش؟
جـ: ببلاش. اللينوكس حر وببلاش لأنه مكتوب عن طريق ألاف من المتطوعين من كل حته فى العالم، مش بتاع أى شركه زى ما الوندوز بتاع ميكروسوفت. اللينوكس حقيقى بتاع الناس، ديمقراطية ديجيتال.
س: طاب ومين هايساعدنى؟
جـ: إحنا، مجموعة مستخدمى اللينوكس المصرية (www.eglug.org).
س: ببلاش؟
جـ: أيييوه، إحنا كمان متطوعين.
س: أنا مش مصدئكو. ماعدش فى حاجه زى غدوه ببلاش.
جـ: بس انت تعاله وبص بصه، إحتمال تتفاجئ
س: أنا سمعت عن اللينوكس، بس لسه مش فاهم إزاى ممكن يكون free ؟
ج: إنت بتتكلم عن الفلوس، مش كده؟ طيب، أول حاجه، واحد من الأسباب انه ببلاش إن الناس اللى شغالين عليه مابيطلبوش فلوس علشان يشتغلو. احتمال ده يكون غريب شويه؛ حد بيشتغل جامد علشانك ببلاش؟ لكن الموضوع ممكن يتفهم اكتر شويه، لو حاولت تتخيل حاجه زى 100 واحد شغالين سوا ببلاش علشان بعض: واحد يساهم بس بمحصول جهده الشخصى، لكن يستفيد من جهود 99 تانيين، زياده على جهده هو نفسه. طبعا، فى شوية ناس بيدفعلهم عشان يشتغلو فى اللينوكس، لكن ده عادة بيبقى عن طريق قنوات زى رعايه من شركات زى IBM.
س: IBM؟ لأ ماتهرجش؟ دول ناس جامدين أوى.
ج: أيوه هما جامدين. مش هما لوحدهم. الحكومه الأمريكيه كمان بترعى مبرمجين المصدر المفتوح، أساسا على المستوى الأدنى من الحاجات التقنية. مثلا Sun Microsystems بتساهم كتير برضه، وكمان كتير من الحكومات الأوروبيه زى الحكومه الألمانيه والفنلنديه. البرازيل برضه مستخدمة لينوكس تئيله.
اللينوكس حقيقى ثوره فى تقدم. موجة مد ديجيتال عالميه عماله بتكبر وبس، وعلشان كده احنا عندنا مجموعة مستخدمين لينوكس مصريه.
س: لو IBM و Sun Microsystems ليهم فاللينوكس، إزاى ممكن يكون ببلاش؟ هما مش لازم يعملو فلوس؟
ج: هما فعلا بيعملو فلوس. IBM مثال ممتاز لبيزنيس هادف للربح بيعدل نفسه لعالم السوفت-وير المجانى المفتوح المصدر اللى مش ممكن تصدقه. السر هو تحويل مورد دخلك للخدمات والهارد-وير.
س: ببلاش، طبعا، غالبا معناه إنو مش أد كده.
ج: العكس تماما. تخيل إنك كنت مبرمج فى، مثلا، ميكروسوفت. كان هايبقى بيدفعلك عشان تكتب برامج، ده صحيح، لكنك كنت هاتبقى شغال فى اللى الشركة عايزاك تشتغل فيه، مش اللى انت فعلا كنت عايز تشتغل فيه. المبرمجين اللى بيكتبو لينوكس سوفت-وير بيقدرو يختارو بالظبط اللى بيشدهم ويحفز إبداعهم. ده بيعمل فرق مش ممكن تصدقه، ودى حاجه ممكن تحسها بس لو ابتديت تستخدم سوفت-وير مفتوح المصدر زى لينوكس.
س: ماشى، الموضوع عجبنى. بس قلقان ان الحاجات اللى باستخدمها فى الوندوز مش هاتبقى موجوده فى اللينوكس. حاجات باستخدمها فى شغل بجد.
ج: طيب، فى أخبار كويسه وأخبار وحشه. الأخبار الوحشه هى أنهم مش هايكونو موجودين. فى بعض الحالات، وندوز سوفت-وير هايشتغل على لينوكس، بس دى قصه تانيه.
الأخبار الكويسة، وممكن تكون قادر تخمن، أنو فى بدايل لكل حاجه تقريبا، متاحه على لينوكس وغالبا أحسن. فى معضم الحالات، مش هتلاقى مشكله ان تلاقى بديل لـ، قول مثلا، مايكروسوفت ورد "Microsoft Word"، لكن بقى لو فى مشكله، هتكون فى إنك تختار تستخدم أنهى واحد من البدايل؛ OpenOffice ؟ KWord ؟ Abiword ؟ KWrite ؟ ...
بتستخدم Excel ؟ طاب جرب Gnumeric ،Openoffice Calc ،KSpread. محتاج Photoshop أوى أوى؟ عشان ده فى الـ Gimp. ووقت ما تجرب Gimp، خدلك فكره برضه عن Cinelerra و Film-Gimp كمان دول بيستخدمو فى السنيما، وممكن كمان تبدل 3D Studio Max بـ Blender.
لو بتبرمج بالوندوز، يبقى غالبا بتستخدم Visual Basic. عشان ده، فى Gambas، ...
طبعا الورقة دى أقصر من انى أرص كل لغات البرمجة اللى ممكن تستخدمها فى اللينوكس، أو كل بيئات التنميه "development environments". مبرمجين الوندوز اللى بينقلو للينوكس عادة بيحسو إنهم زى ما يكونو ماتو وراحو الجنه.
ليه ماتطلبش من حد من جماعة مستخدمى اللينوكس يعرضلك البدايل بتاعت الوندوز سوفت-وير المفضل عندك؟
س: كل ده ؟ كويس أوى، بس كل ده لازم عايز كمبيوتر جامد أوى.
ج: ده مش وندوز. كل الإختيارات دى وكل القوه دى مش لازم تكلفك موارد ضخمه. تركيب لينوكس أساسى تماما هايشتغل كويس على رامات 4 ميجا. علشان الاستخدام يومى عادى، هاتكون تمام بـ 32 أو 64 ميجا. وانت مش محتاج أجدد و أسرع بروسيسور كمان، أى حاجه من 486 أو أعلى هايكون كويس.
اللينوكس مش طماع.
س: يبقى هو ببلاش، فعال، عنده سوفت-وير كتير، مش محتاج كومبيوتر غالى. إحنا ناسيين حاجه؟
ج: أيوه. ليك حرية تلعب فى المصدر البرمجى (الوصفة) بتاع السوفت-وير لما تحس إنك محتاج تعدل أى حاجه فيه.
س: يا سلام دى حاجات عظيمة أوى! أنا مش مصدئكم. فى خدعه. انتو عايزين منى ايه؟
ج: مافيش خدعه. مافيش فخ. بس احنا فعلا عاوزين حاجه منك، احنا عاوزينك تكون مستخدم لينوكس. الموضوع عامل شويه زى لما تسمع أغنيه حلوه، وتقول لصحابك عليها -- بتكسبك حاجه دى؟ لأ؟ يبقى ليه بتعملها؟
س: كويس، أنا هابقى مستخدم لينوكس -- بس استنى، هايحصل ايه لما اتزنئ؟ مين هايساعدنى؟
ج: بالظبط زى ما الليونكس اتعمل بطريقه منتشرة ومش مركزيه، الدعم برضه متاح بطريقه مخصوصه تمام زى الطريقه اللى البرامج اتعملت بيها. فى جماعات من متطوعين اللينوكس على الإنترنيت دايما مستعدين يساعدوك فى اى صعوبات ممكن تكون تواجها.
احنا، جماعة مستخدمى اللينوكس المصرية، واحده من الجماعات دى. فى مساعده متاحه 24 ساعة فى اليوم، 7 أيام فى الأسبوع على ، منتديات على الوب، أوض IRC ، مجموعات ايميل.
لما تحتاس، دايما فى إيد بتساعد -- شاطره وببلاش
FOSS allowed Mohammed Sammer the oppertunity to learn, not just from references but directly from others experience, it gave him peers, mentors, and discples all at once.
it also allowed him to be creative, and for the fruits of his creativity to be appreciated and rendered useful to many, it allwed him to gain status through his honest work all while making more friends and having fun.
Islam again gained alot from the stored knowledge in the community, his ability to do something useful and unique was a satisfying experience.
he explored many avenues of skills and knowledge, and most important of all the community interaction which gave him fertile environment and a cause or a bigger goal.
apart from the knowledge mostafa gained, he managed to make the time he spent on his very personal tasks useful to others instead of being wasted on a one time task.
the important thing is he was able to truely own and cntrol the technology not just in a legal or economical sense, but also in a very technical sense, the very design of the system allows any user who is willing to spend a month to build new things and understand the intimate details of the system.
mostafa is not interested in being anything but a medical researcher, but his new found ability gives him a better oppertunity to choose andutilise software and computer technology in his life, and may even allow him to do some scripts and programs to help in his research one day.
الموضــــوع : بخصوص تقرير الجمعيه العلمية لمهندسي الاتصالات عن اليــوم
الاول (الاربعاء 22/9/2004) لندوتـها " المصادر المفتوحـــــه ومناهضة الاحتكار والهيمنه في صناعة الاتصالات والمعلومات"
عقدت الندوه بنقابة الصحفيين .
الندوه تهدف للتوعيه بأستخدام مصادر المعرفه المفتوحه في التنميه في البلدان الناميه بأعتبارها منهج مضاد للهيمنه والاحتكار. تناولت الندوه في بومها الاول (الاربعاء 22/9/2004) موضوعات :
شارك في اليوم الاول للندوه :
وسط حضور كبير من فئات عمريه مختلفه من اعضاء الجمعيه – المهندسين – الجهات الاكاديميه – قطاع الاعمال – بعض منظمات المجتمع المدني – طلبة الجامعه من كليات العلوم والحاسبات والهندسه – المهتمين – الاعلام التكنولوجي ... تم عرض الموضوعات التاليه:
للمصادر المفتوحه أساس فكري نابع من المنهج العلمي السائد في شتي التخصصات . . فالنتائج العلميه حتي تكون مثبته ومبرره لابد أن تكون قابله للتكرار بالطريقه نفسها . . وبالتالي فان الشرط الرئيسي للاكتشاف هو التعامل معه من خلال المشاركه في المعلومـــات وتمكين الآخرين من الحصول علي المصدر حتي يمكن أزالة كافه العوائق أمام المنهج العلمي في التطوير والتنميه بما يضمن اسـتمرار التقدم بلا توقف . . وهذا المنهج يطابق مع ماينادي به أصحاب منهج المصادر المفتوحه .
المعرفه الانسانيه القائمه علي مصادر مفتوحه ليست منهج الكسالي أو الباحثين عن أشياء جاهزه أو مجانيه ولكنها منهج من يؤمنون بالحريه ويمارسون الانفتاح والعطاء والمشاركه والتعاون مع الآخرين . . وهي ثقافه جديده للمقاومه .
ينشط منهج المصادر المفتوحه في مجالات تصنيع الاجهزة والمعدات والبرمجيات والمعالجات والمحتوي والكتب والبحث العلمـــــــــــي والتعليم والاليكترونيات . . ويبني أصحاب الحركه في هذا الاتجاه هدفا رئيسيا هو الوصول الي أجهزة يتم تصميمها وأنتاجها بنمـوذج معاكس للنموذج المغلق المحمي بحقوق الملكيه الفكريه وحقوق النشر والتأليف وقوانين الاسرار التجاريه وقوانين البراءات ( هــــــذا الوضع أتاح للشركات الاحتكاريه الكبري السيطره علي الاسواق وعلي مقدرات التنميه في البلدان الناميه ) تقوم الحركه علي الركائز التاليه :
حقق حركه المعرفه في مجال البرمجيات ذات المصدر المفتوح ( المتاح سرها الكودي . . لامكانية تعديلها طبقا لاحتياجات المستهلكين . . البلدان الناميه ) . . نجاحات عديده فهناك . . حركه البرمجيات الحره . . مبادره البرمجيات مفتوحه المصدر . . وتنادي الحركه الاولي بأتاحه الحصيله المعرفيه التي تسمح بتشغيل البرنامج والتي يطلق عليها البناء الكودي أو شفرة المصدر . . أتاحه حريــــــــــه تشغيل البرنامج . . حرية دراسه كيفية عمل البرنامج وأمكانية تعديله . . حرية توزيع نسخه من البرنامج . . حرية التعديل . . خلـو ترخيص الاستخدام من التمييز . . الترخيص يكون محايد تكنولوجيا .
حققت الحركات السابقه نجاحا في خلق الاطار القانوني الذي يكفل الحريات السابقه .
يمثل المحتوي المعرفي ركيزه محوريه ونقطه فاصله . . وعنق زجاجه في الانتقال عبر طريق التنميه لبلدنا . . والتمدد في البنيـــــه الاساسيه بدون أن يوازيه تطويرا للمحتوي . . يشكل اعباء كبيره تعيق حركه التنميه ولاتمثل سوي أنفتاحا استهلاكيا علــــــــــــــــــي التكنولوجيا سواء الصناعيه أو سواء في الخدمات . . خدمات الاتصالات والمعلومات وقد بدي واضحا أن الانترنت تمثل وعاء هائــــلا لجمع وتخزين ومعالجة وتحليل واداره المعلومات وتنظيمها وتدويرها بين الجهات التي تطلبها . . وأما المعلومات فهي المحتوي الذي يملء به هذا الوعاء . . وتعددت أنماط المحتوي . . وأصبحنا أمام نتاج أبداعي يتساوي في القيمه مع المحتويات المغلقــــــــــــه . . محتـوي مفتوح أمام الجميع وتم أنتاجه بشكل تعاوني . . ويشمل :
المقالات والصور والمواد المسموعه والمرئيه والاعمال الفنيه والبحوث والتقارير والاخبار . . وهذا يفتح أبواب المشاركه وتنميــــــة الذات بالافاده المتبادله القائمه علي مبدأ النديه مع الآخر بعيدا عن سطوه الاحتكارات ومحظورات وقيود السياسه ومنهجا يســــــــــمح للجادين والطامحين للنمو والاستقلال بالبلدان الفقيره .
أثبتت خبرات وتجارات الأخذ بمنهج المعرفه مفتوحة المصدر في التجارب المحليه من بعض شركات التكنولوجيا في مجال الاتصـــالات والمعلومات . . التأمين والاعتماديه . . وأنخفاض التكلفه الاقتصاديه . . وتطويرا للقدرات البشريه المحليه في مجالات البحــــــــوث والتطوير والاضافه والتعديل .
يتصاعد أستخدام التطبيقات والبرامج مفتوحه المحتوي المعرفي بواسطة شركات السوفت وير الكبري في العالم مثل أوراكل ، IBM . حتي أن أنفاق شركة مثل IBM علي التطوير في هذا الاتجاه بلغ أربعة مليارات دولار .
اعتمدت بعض البلدان في العالم كالصين واسرائيل علي البرمجيات مفتوحة المحتوي المعرفه في التطبيقات المختلفه في حياة المجتمع . . ويمثل هذا نموذجا أحري بالبلدان الناميه والفقيره بالاتجاه نحو هذه الحركه .
حدود الامان الناتج من أستخدام المعرفه مفتوحه المصدر يتعدي حدود الامان في حاله أستخدام المصادر المغلقه . . فمثلا الدبابـــــــه والطائره تعمل بالسوفت وير . . ويمكن من بعد توجيهها لمـــن يعرف أسرار محتوي هذه البرامج . . ويمثل هذا خطرا شديدا علـــي البلدان الناميه التي تستخدم هذه التكنولوجيا بدون معرفه كيف تعمل . . اذ حين أستخدامها يمكن أن يوجهها آخرون لصدور ومدن مستخدميها .
يمثل أستخدام مصادر المعرفه المفتوحه فرصا جديده للاعمال ومواجهة مشاكل التنميه والبطاله .
طرحت تجربه مجموعه مستخدمي جنو / لينوكس . . وهي مجموعه من المتطوعين من مختلف الاعمار . . متخصصين ، هـــــواه ، مستخدمين عاديين . . نموذجا مشرفا . . أنتج اتصالات وتعاون مع بعض الجهات الاكاديميه . . شبكة المعلومات العربيه لمعلومــات حقوق الانسان . . مركز دعم التنميه . . مركز مجتمع المعرفه . . منظمات مجتمع مدني بأيطاليا . . وجمعية تنمية المجتمع المحلي بأبو النمرس . . جمعية التنميه العربيه . . وقد أنتج هذا التعاون . . بناء مركز حاسب مفتوح للجماهير مبني علي البرمجيات الحـره والمصادر المفتوحه . . تنظيم دورات تدريبيه في نظم الجنو / لينوكس لطلاب المدارس الاعداديه في محافظة المنيا . . تنظيـم دورات تدريبيه مجانيه للمبتدئين . . تنظيم ورش عمل متخصصه عن برمجة الوب ، أمان الشبكات ، الاستخدام المتقدم لنظم الجنو لينوكس . . تعريب نظم الاداره للمحتوي وبناء المجتمعات علي الانترنت . . القيام بدراسات حاله لتجارب أستخدام البرمجيات الحره فـــــــــــــي مؤسسات المجتمع المدني ومؤسسات الاعمال الصغيره . . مشاركة بعض المؤتمرات الخاصه بهندسة اللغه بجامعة عين شــــــــ مس وقد أثبتت تجربة هؤلاء الشباب ايضا مدي فاعلية التعاون والحركه في أتجاه المعرفه مفتوحه المصدر في التطوير والتنميه والمقاومه أستمرت الندوه من الساعه 19 وحتي الساعه 22 يوم الاربعاء القادم 29 سبتمبر يستكمل الجزء الثاني في الندوه .
مع أطيب تمنيات الجمعية العلمية لمهندسي الاتصالات
المراسلات : أ.د محمود الحديدي - أ.د مجدي سعيد السوداني / قسم هندسة الاليكترونيات والاتصالات الكهربائيه / كلية الهندسه - جامعة القاهره تليفون : م/ محمود أبوشادي 0122117247 - م/ عبد الوهاب الدقي 0122114410 - م/ محمد أبو قريش (02)3959999-0122170009- أ.د محمود الحديدي 0101504699 بريد اليكتروني abukrish @ intouch. Com فاكس (02)3939946
Choosing three cases demonstarting three examples of FOSS use.
the idea is to show the potential of FOSS by telling short simple stories from EGLUG experience.
the context is to show how FOSS empowers individuals and small entities to develop themselves, focus is on opportunities normaly lost in Egyptian society.
our focus is on individuals and small entities since the rest are well covered by the conference.
By citing them in the form of stories and showing their success
Conclusion: all the above examples were revolving around FOSS and its benefits
البعض منا لم يسمع من قبل كلمة (لينكس) والبعض الأخر قد يكون سمع عنها ولكنه لا يعرف بالضبط ما هو هذا اللينكس زز السبب فى ذللك ان الغالبية لبغضمى من مستخدمى الحاسبات الشخصية ومنذ سنوات عديدة تستخدم نظام النوافذ ، اللينكس هو نظام تشغيل مثل نظام النوافذ تماما ،و يقوم بنفس الوظيفة التى يقوم بها ،نظام تشغيل بوجه عام يتألف من مجموعة من البرامج التى تجعلنا نتعامل مع واحدات الحاسب مثل الشاشة ووحدات التخزين و الطباعة ،وهى التى تجعل التطبيقات التى تستخدمها على حاسباتنا تتعامل مع هذة الوحدات ، فهى التى تتحكم فى طريقة عما وحدات التخزين لكى تمكن البرامج التى نستخدمها من قراءة البانات المخزنة بها،وهى التى تصل البيانات التى نريد مشاهدتها الى الشاشة لكى تعرض عليها،أى ان نظام التشغيل هو حلقة الوصل بين التطبقات التى تستخدمها فى نفس الوقت على الحاسب ،الفرق الكبير بين نظام تشغيل نظام النوفذ و نظام ونظام تشغيل اللينكس ان الأول يباع بمبلغ من المال بينما اللينكس نظان مجانى ،ليس هذا فقط با ان نظام اللينكس من نوعية البرامج التى يطلق عليها (مفتوحة المصدر) اى مخططى البرامج يستطيعون ان يعدلوا فى البرامج التى يتكون منها نظام تشغيل اللينكس لكى يجعلوها تنفذ لهم وظائف خاصة،أما نظام النوافذ فهو مغلق المصدر ، أى لا يمكن لأى شخص ان يقوم بتغير أمر واحد من ملايين الأوامر التى يتكون منها النظام،يمكنك بسهولة اذا كان لديك خط انترنت سريع أن تدخل على مواقع عديدة على شبكة الأنترنت ،و تقوم بتنزيل نظام اللينكس وتستخدمة لتشغيل حاسبك الشخصى ،....أما اذا كنت أكثر مهارة ولديك خبرة فى لغات الحاسب الألى ،فيمكنك ان تقوم بتعديل أوامر نظام اللينكس أو اضافة أوامر جديدة لة لكى يناسب تماما طريقة عملك... الأسباب السابقة تدعو الى الارتباك و الحيرة فالنظامان يستخدمان لتشغيل الحاسبات الشخصية و يؤديان نفس الوظيفة أحدهما مجانى و الأخر ندفع فية مبلغا من المال (ليس بقليل) وأيضا أحدهما يغطى لمستخدمه مرونة فى تغيير أوامره لكى يستطيع تنفيذ أى وظيفة جديدة قد يفكر فيها، بينما الأخر ليس به هذة المرونة بل هو مغلق على الأوامر التى قامتالشلركة النتجة بتصميمها
Here we put the articles we are working on until they're ready for publishing.
please don't edit this page, use the Parent feature to attaches pages to it.
Ok, This article needs to be cleaned and to be tested/verified.
احب ان اوضح فى البداية اننى لن اتطرق فى هذا المقال الى كيفية تثبيت الخطوط العربية على نظام اللينوكس كما لن اتطرق الى كيفية تمكين كل من GNOME و KDE من عرض المحتوى العربى كل الخطوات التالية تتطلب ان تكون مستخدم جذرى "root" لقد قمت بتجربة هذه الخطوات على نظام Mandrake 9.0 و باستخدام خط Tahoma من نسخة ويندوز 2000 الاصلية الخاصة بى
ينبغى اولا تعريف النظام باننا نريد التعامل مع اسماء الملفات الموجوده على اجزاء القرص الصلب الخاص بنظام تشغيل الويندوز باستخدام اليونيكود
نقوم بفتح الملف /etc/fstab
علينا فقط تعديل السطور الخاصة باقسام ويندوز فمثلا الملف الحاص بى كالتالى
/dev/hda12 / ext3 defaults 1 1
/dev/hda9 /boot ext3 defaults 1 2
none /dev/pts devpts mode=0620 0 0
/dev/hda10 /home ext3 defaults 1 2
/dev/cdrom /mnt/cdrom auto users,ro,noauto,exec 0 0
/dev/sr0 /mnt/cdrom2 auto users,noauto,ro,exec 0 0
/dev/fd0 /mnt/floppy vfat umask=0,sync,nosuid,noauto,user,nodev,unhide 0 0
/dev/hda1 /mnt/win_c vfat defaults 0 0
/dev/hda5 /mnt/win_d vfat defaults 0 0
/dev/hda6 /mnt/win_e vfat defaults 0 0
/dev/hda7 /mnt/win_f vfat defaults 0 0
/dev/hda8 /mnt/win_g vfat defaults 0 0
none /proc proc defaults 0 0
/dev/hda11 swap swap defaults 0 0
بالتاكيد سيختلف الملف الخاص بك هن هذا
سنقوم بالتعديل فى السطور اللتى تحتوى على vfat فى الخانة الثالثة
سنقوم باضافة iocharset=utf8 الى الخانة الرابعة فى هذه الاسطر لتصبح كالتالى
/dev/hda12 / ext3 defaults 1 1
/dev/hda9 /boot ext3 defaults 1 2
none /dev/pts devpts mode=0620 0 0
/dev/hda10 /home ext3 defaults 1 2
/dev/cdrom /mnt/cdrom auto users,ro,noauto,exec 0 0
/dev/sr0 /mnt/cdrom2 auto users,noauto,ro,exec 0 0
/dev/fd0 /mnt/floppy vfat umask=0,sync,nosuid,noauto,user,nodev,unhide 0 0
/dev/hda1 /mnt/win_c vfat defaults,iocharset=utf8 0 0
/dev/hda5 /mnt/win_d vfat defaults,iocharset=utf8 0 0
/dev/hda6 /mnt/win_e vfat defaults,iocharset=utf8 0 0
/dev/hda7 /mnt/win_f vfat defaults,iocharset=utf8 0 0
/dev/hda8 /mnt/win_g vfat defaults,iocharset=utf8 0 0
none /proc proc defaults 0 0
/dev/hda11 swap swap defaults 0 0
الان يتبقى خطوتين
اولا: اعداد GNOME2
قم بفتح الملف /etc/profile و اضافة السطر التالى اليه:
export CHARSET=ISO_8859-6
export G_BROKEN_FILENAMES=1
اذا كنت من مستخدمى نظام RedHat 8.0 فيمكنك اغفال باقى الخطوات
ثانيا: اعداد KDE3
اذا كنت تستخدم نظام Mandrake قم بتثبيت حزمة RPM المسماه locales-ar عن طريق الامر التالى:
urpmi locales-ar
فم باضافة السطر التالى الى الملف /etc/profile
export LC_ALL=ar_EG.UTF-8
الان قم باعادى تشغيل اللينوكس
مبروك عليك الاسماء العربية :-)
فى الواقع الطريقة الاصح هى عمل ملف فى /etc/profile.d نسمية مثلا ar.sh ونقوم باعطائه التراخيص 755 و نضع فية السطرين كالتالى:
touch /etc/profile.d/ar.sh
echo "export G_BROKEN_FILENAMES=1" >> /etc/profile.d/ar.sh
echo "export CHARSET=ISO_8859-6" >> /etc/profile.d/ar.sh
echo "export LC_ALL=ar_EG.UTF-8" >> /etc/profile.d/ar.sh
chmod 755 /etc/profile.d/ar.sh ==================================================== Jun 12 12:54:57 the error i got for MohammedSameer is that in his article about how to read arabic on windwos partitions he says to put this sentence in /etc/profile " export LC_ALL=ar_EG.UTF-8" but when i do it now in kde 3.2.3 all the prg interface turns to arabic which is very anoying
Jun 12 12:55:17 so how can i read arabic but without turning the interface of al of the prg to arabic
I had to install a mail server, to provide virtual hosting, pop and smtp with webmail.
Why did I choose courier ? Sure to let all of you follow my steps and chew your brains.
Courier is hell, That's why you'll end up chewing your brain, perhaps your whole body and other people bodies too!
I'm talking about Debian stable aka woody.
1st, Don't apt-get install the binary debs.
apt-get source courier-mta
Because there is a unique feature in courier, It force you to use one of the freedoms enforced by the GPL, which is: The freedom to modify the source code!
courier authentication authdaemon and userdb.
courier mta, smtp, pop, imap.
squirrelmail
permit users to change their passwords.
Outline:
Immediately after installtion, you may encounter situations in which you are required to upgrade the system . Although the Linux kernel has seen many advances, it may not fulfill the needs of your system. for this reason, the kernel which is available at www.kernel.org is updated often.
You may have several reasons to update the kernel on your system, including the following:
- Regardless of the reasons for upgrading the kernel, the installers should be competent at performing this task.
Each file has an owner and belongs to a group.
Each running process has an owner and belongs to a group.
Users may belong to multiple groups.
at any session a user has an active group, and process she starts will inherit this active group.
each user has a default active group.
users may change the current active group using the commands newgrp and sg.
this security model is sufficient for most needs because GNU/Linux tries to represent everything as a file.
Each file has 3 sets of permissions that apply to different users, one set applies to the file owner, one applies to members of the file's group and the last set applies to anyone else.
in case one needs more some kernel modules offer Access Control Lists which provide more fine grained control.
| Read | Write | Execute | SetUID | SetGID | Sticky | |
|---|---|---|---|---|---|---|
| file | Can read | can modify | Can execute | executed as if owner | executed as if were in that group | no effect |
| directory | can ls | can make new files and delete file | can cd to directory and access its files and subdirectories | no effect | new files get group & new dirs get setgid | only owners can delete files |
| alphabetical chmod | +r | +w | +x | u+s | g+s | o+t |
| numerical chmod | 4 | 2 | 1 | 4000 | 2000 | 1000 |
Because Microsoft knows how to be a good politician:
Being the leader doesn't necessarily mean you're the best. I read a comment on the net about Microsoft that is very relevant to political life ;o)
"Microsoft would rather be pirated than being free" …!!!
"Greetz from Planet Haram" by Mohannad Faried and others yet to come
Introduction "why am i doing this ?"
ever since i started to tinker around with linux, it was very important for me to have a solid understanding about how do i go about doing the things i already do on windows, since my major is architecture, and a have this artistic streak "well i hope it is an artistic streak!", plus my freelance work as a graphical designer, with some occasional web designing, it was quite important to know the ropes on linux. right now i intend to share what i know with you! , you poor soul! :)
structure of this document:
the idea is very simple, we find out what the keycode of the annoying key is, then we use xmodmap to remap it to a new harmless or useless meaning.
you make a file called masalan ~/.xmodmap
in ~/.xmodmap you need to make entries that look like this
keycode 111 = XF86Excel
on the left is the X specific keycode generated by this key, and on the right is the symbolic keyname X will assign to this keycode.
you can find out the keycode by running xev
xev catches any X events when its in focus and writes what happens on the terminal, put the focus on the xev window and press your key you'll see lines that look like
# xev
KeyPress event, serial 28, synthetic NO, window 0x2a00001,
root 0x71, subw 0x2a00002, time 74933419, (53,51), root:(57,68),
state 0x0, keycode 111 (keysym 0xff61, Print), same_screen YES,
XKeysymToKeycode returns keycode: 92
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x2a00001,
root 0x71, subw 0x2a00002, time 74933496, (53,51), root:(57,68),
state 0x0, keycode 111 (keysym 0xff61, Print), same_screen YES,
XKeysymToKeycode returns keycode: 92
XLookupString gives 0 bytes:
the symbolic keynames are all mentioned in the file /usr/X11R6/lib/X11/XKeysymDB
to completly disable a key use a keysym you're unlikely to ever need like the microsoft specific multimedia keys.
you can use the same technique to modify your keyboard in anyway (disable annoying hindi numerals, stop caps lock etc).
keycode 111 is the keycode of printscreen on my pc, the above line in ~/.xmodmap is enough to stop it
when you're done editing ~/.xmodmap you need to run
# xmdomap ~/.xmodmap
this loads the new keymap, if the behavior is right you want to configure your system so that it runs xmodmap everytime you run X (you figure out how).
NetoDragon softmodems seems to be taking over the market from Motorola's SM56. Here is the installation guide:
cp /path/to/driver/tarball /wherever/you/want cd /wherever/you/wanted tar -zxvf slmodem-2.9.X.tar.gz cd slmodem-2.9.X make su make install modprobe slamr slmodemd -c=YOUR COUNTRY'S NAME &
And Happy surfing
I will attempt to use a consistent layout for this document:
NAMES OF PEOPLE AND PROGRAMS WILL BE IN NOUN STYLE LIKE THIS.
'ARABISH1 WORDS WILL BE IN NOUN STYLE AND QUOTED LIKE THIS'
file names and directories will be emphasized like this.
Warning and Important notices will be emphasized and bold.
commands entered by a normal user will be preceded by a dollar sign $.
command entered by root will be preceded by a hash sign #.
any input or commands you should enter will be in typewriter style.
``quotes will look like this and will be followed by a reference pointer.''
Most examples and commands are to be executed from the command prompt of the console or an X terminal, if your system automatically runs the X windows you have to open an X terminal<a name="tex2html2" href= "#foot358" id="tex2html2">2
.You can skip the first section completely and jump to the practical problems and solutions, I intend to use heavy referencing to make it easier to jump from different locations in the document; a table of contents is inserted at the top of the document for your convenience.
You may have heard/read the names LINUX, GNU, GNU/LINUX, X WINDOWS, KDE, GNOME, RED HAT, MANDRAKE, distro and a lot of other names, in the beginning its not clear what they all mean.
You probably already know that LINUX is free, but you know there are companies selling it, and then there is all this talk about the source, what does it all mean??.
Strictly speaking LINUX is a an operating system kernel; a kernel is the part of the operating system that is responsible for the very basic operations of your system.
``The LINUX kernel acts as a mediator for your programs and your hardware. First, it does (or arranges for) the memory management for all of the running programs (processes), and makes sure that they all get a fair (or unfair, if you please) share of the processor's cycles. In addition, it provides a nice, fairly portable interface for programs to talk to your hardware.[1]''
The LINUX kernel was first written by LINUS TORVALD when he was a student, it is now being developed by thousands of developers around the world.
Mostly when people speak about LINUX they mean the GNU/LINUX operating system which is the OS that runs your computer. GNU stands for (GNU IS NOT UNIX) it is a free clone of the popular UNIX operating system.
GNU was first written by RICHARD M STALLMAN the chairman of the Free Software Foundation http://www.fsf.org (FSF|), since the GNU system was still missing a kernel3, it was combined with the LINUX kernel to make the GNU/LINUX operating system.
GNU are all the basic tools you use in maintaining your system, it also includes lots of applications, libraries and a compiler.
Distributions or distros are products made by companies to simplify the installation and configuration of a GNU/LINUX operating system, some of the most popular distro are RED HAT, MANDRAKE, SUSE and DEBIAN. They are all GNU/LINUX and so they're very much similar, most software you use under LINUX is being developed independently from these distributions so applications will look and feel the same no matter what distro you use. The distro however provides you with an easy install script and wizards to automate lots of the configuration tasks, it also provides lots of precompiled packages that you can use directly without having to configure and compile yourself. The companies that make these distros also provide technical support, manuals and other services for their customers.
Yes LINUX is free, but its not necessarily free as in zero price 'MAGANY'4 it is free as in freedom '7OR' this means that you the user have certain freedoms that no one can take from you.
``* The freedom to run the program, for any purpose (freedom 0).
* The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
* The freedom to redistribute copies so you can help your neighbor (freedom 2).
* The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. (freedom 3). Access to the source code is a precondition for this.[2]''
This simply means that you have the right to make any number of copies of GNU/LINUX and distribute them in any way you like; even selling it. And it means that you have the right to change it in anyway you like and distribute your changes.
This is not the way WINDOWS or any other commercial software is, with WINDOWS you have no legal right to make copies of it; you can't even install it on more than one computer even if its yours. And there is no way you can access the source code for WINDOWS or be able to modify it.
If you manage to modify it you are not allowed to tell the world about it, even if your modification is an important bug fix or a new feature that MICROSOFT was never going to implement.
As we mentioned in the previous section in order for GNU/LINUX to be free you the user must have access to the source code5. when the code of a piece of software is available to the public to study it is called open sourced.
All free software is open sourced, but not all open sourced software is free, some programs may allow you access to the source code but you can't modify or distribute it as you please[3].
The GPL[4] or the GNU GENERAL PUBLIC LICENSE is the most popular and strongest free software license, it is the GPL that ensures you have all the freedoms described in section 1.3, the GPL is a strong license because it is a copyleft license, copyleft (as opposed to copyright) means that if you distribute modified GPL software your modifications should be distributed under the GPL too, this ensures that no company can take a GPLed program and turn it into a secret closed one restricting its user's freedoms[5].
MICROSOFT software is distributed under an END USER LEGAL AGREEMENT that is very restrictive, any breach of this agreement (like making a copy of WINDOWS for your friends) is considered a criminal act and puts you in the risk of heavy sentences.
Free software has no owners, although the FSF holds the copyrights to the GNU system and LINUS holds the copyrights and trademarks to LINUX; this only means that no one can go and make another product and call it LINUX or GNU and that no one else can claim they were the first to write LINUX.
Not even LINUS or the FSF can restrict your freedoms to use and modify the GNU/LINUX system.
Or in other words, why do we need free software, if its safe to copy non free software?!
You may think it is safe to copy non free software, this is more or less true if you are a home user, but large organizations such as companies and government agencies cannot afford to run illegally copied software anymore, with the pressure generated by extra-territorial laws and international agreements such as the GATT. If you are trying to set up a small business then most probably you cannot afford the price of commercial software licenses (think of what will happen to all these offices in 'BEIN EL SARAYAT' if they had to pay for the software they use).
But free software isn't about the price only, when you buy non free software form a company like MICROSOFT, you have to rely on MICROSOFT for support and further development of the software, if you are a computer professional you have to rely on MICROSOFT for certification and training. This means more money to be paid for a foreign economy, but since LINUX is free, you can set up your own LINUX company that supports and further develops it; this way when someone buys your product or request your services the money will benefit your local economy.
With free software it doesn't matter how underdeveloped the country is or how far ahead the rest are, when technology is free we can really own it. If technology isn't free then we have to choose between reinventing the wheel or relying on others to provide us with it.
Even if you are not a programmer the openness of the code is
very important to you, its because the code is open and free that
GNU/LINUX is such a reliable OS, since thousands of
programmers are working on developing and fixing it.
If a anyone finds a bug they can look at the code and fix it, if
you find a bug and can't fix it yourself you can report it and
someone else will fix it. If there is a feature in a free software
package that is missing you can hire someone to develop it for you,
and if this feature is useful for many people you can probably find
someone to implement it for free.
The open sourced nature of GNU/LINUX protects you
from security problems and trap doors, since the system is heavily
peer reviewed by the world best programmers. With
WINDOWS you cannot tell if it has trap doors or not,
you cannot know if it sends data about you compromising your
privacy.
Actually MICROSOFT software is known to be full of
secret undocumented features, for instance all office documents
carry a special ID that is unique to your machine, thus
compromising your privacy.
WINDOWS is notorious for its security problems and its weakness towards viri, GNU/LINUX on the other hand is very secure and no known virus was ever able to harm it thanx to its open nature.
Availability of the code also ensures that your favorite piece of software will not suddenly die because its author lost interest or got busy, since its free anyone can develop it and release new versions, you don't need to rely on one vendor.
As we told you before, GNU is a UNIX clone, so its natural that GNU/LINUX would share many common features with UNIX, it is this UNIX heritage that makes GNU/LINUX so different from M$ WINDOWS, in this section we'll explore the basic ideas behind a UNIX system.
UNIX is the oldest living operating system, it was first written by KEN THOMPSON and DENNIS RITCHIE6 when they were working at AT&T, it could be considered as the grand daddy of all operating systems in use today.
AT&T licensed UNIX to many companies and universities, who in turn developed their own versions of it, which resulted to many different UNICES, these UNICES fall into the two wide categories of BSD UNIX and AT&T UNIX.
Efforts to standardize all these UNICES resulted in the POSIX standard, GNU/LINUX is very POSIX compliant.
No not at all, most UNIX and LINUX users would tell you that the command line is much more powerful and versatile. This power of the command line is an integral part of the UNIX philosophy.
So while WINDOWS is trying very hard to get rid of the command line, GNU/LINUX relies on it for all its functionality, to the point that most graphical tools and applications rely on command driven tools to do the real work. This of course give you the best of the two worlds, and most important of all it gives you choice.
So if you prefer Graphical User Interfaces (GUI) go ahead, you'll find it as easy to use as WINDOWS and even more powerful.
But if you want to release the power of your computer and your mind try to learn the command line, its not as scary as it seems.
I told you that UNIX is an operating system, but to think of it as a mere OS would be a gross understatement, it is much more than that, it is a complete philosophy specifying that small and simple is better. All UNICES are geared around the idea that writing small programs that do one job but do it perfectly thus becoming tools and not applications gives the user more power since he can combine these tools and use them together to get a result that is greater than the sum of these tools.
But the efficient use of these tools depends on the creativity and intelligence of you the user.
So unlike WINDOWS which assumes you have the IQ of a potato and tries to tell you how to do things, GNU/LINUX like all UNICES waits for you to harness it and tell it what you want done.
Although the UNIX command line looks a bit like the old DOS command line which still lives in the heart of WINDOWS, don't be fooled by its appearance it is much more powerful than DOS.
UNIX is from day one a multi tasking environment, which means you can run several task at the same time.
try this:
This will start playing the MP3 you specified and
returns you to the command line, now you can run another command
while the song is still playing.
Its by adding & at the end of a command that you inform
GNU/LINUX to run this command in the background thus
leaving you free to continue your work.
But thats not all GNU/LINUX is a multi user system too, since it was designed for a networking environment it allows several users to use the computer and run different programs at the same time.
Try it your self press Ctrl-F2 and a new login screen will open, you can login with a different account, or even open a new session of the same account.
You may think this is only useful for satisfying split identity disorders, but on the contrary as you get used to GNU/LINUX you'll find many uses for this feature.
WINDOWS is not really a multiuser OS although it acts as if it is, this multi user nature of GNU/LINUX is one of the main reasons behind many confusions to new users, issues like ownership and permissions would make perfect sense when you understand the multi user nature of UNICES.
While WINDOWS is based around the idea of drives, where every partition and media has its own drive name (like C: D: E:) and each drive has its own directory tree that begins with a root directory for every drive (C:\, D:\, E:\). GNU/LINUX on the other hand follows the UNIX tradition of having only one tree. This tree has only on root directory (/) and all partition and media are connected to this tree through a process called mounting.
So in WINDOWS if I want the second partition I have to go to D:, but in GNU/LINUX I'd go to the directory /mnt/win_d
This is a bit confusing in the beginning but you'll get used to it quickly.
The fact that GNU/LINUX has only one tree, meant that it could have a much more organized file structure, where files are grouped together by their type and function instead of letting each program handle its own files in any random way.
This is one of the most confusing yet powerful aspects of GNU/LINUX.
By everything we mean literally everything; directories are files, hard disks are files, partitions are files, Internet connections are files. EVERYTHING is a file in GNU/LINUX.
But this makes us wonder what is a file exactly??
In a very non formal way a file is just a stream of bytes, and you can usually read and write streams of bytes to the file.
Files could either be:
Yes UNIX tools and programs always had funny and interesting names, GNU took this to an extreme like the pager called LESS because it is a more powerful pager than the pager called MORE.
These naming conventions reflect a whole culture; the Hackers' culture, which in itself reflects how fun and enjoyable computing could be.
This is one of GNU/LINUX'S main advantages over WINDOWS, it is fun, it doesn't try to hide its weaknesses with obscure technical messages and yet it doesn't try to sound too stupid and dumb (ala my computer style).
For an interesting look at Hackers' culture check The Jargon File http://www.tuxedo.org/ esr/jargon/html/index.html.
As mentioned in the previous section, the GNU/LINUX system follows the UNIX tradition by having one tree only, in this section we study with more details the organization and structure of this tree and of various file types.
One point where GNU/Linux excels is its wide support of file systems, your GNU/Linux file system could access nearly all file systems in use today7, This means that you don'thave to worry about what other OSes you or your friends use, for instance you could have all your media files stored in a windows partition so you can use them from both Linux and Windows.
originaly the native file system for GNU/Linux was minix, but then Linux finaly had its own file system called ExtFS which stands for Extended File System.
the FS most widely used today is EXT2FS.
yes can you believe it, they spent all this time and effort making it and no one thought of making a defrag utility!
but slow down, the Linux native file systems don't need a defrag utility, yes thats right ExtFS is sooo good and stable it doesn't need to defrag at all!
Windows as you are sure to know needs defraging once a month.
not so fast, while Linux is much better than windows at handeling the file system, and since it is much more stable, data loss of the harddisk hardly happens without your help, but since nothing is perfect8 you still need a file system checking and repair tool, in GNU/Linux its called fsck.
most distros will run a fsck every twenty or thirty reboots, and off course if you ever restart the computer without closing the system it will do a fsck.
some file system use a technology called journalling, journalling simply means that the FS keeps track of all changes made and changes that should be made in a special table called the journal, the journal is written to the harddisk frequently, so when harddisk crash or power outage happens, the file system can go back and finish what needs to be done or undo what needs to be undone.
the native EXT3FS adds journaling to EXT2FS, thus making it more stable and giving you the benefit of nearly never running a fsck.
another nice thing about EXT3 is that it uses the same structure as EXT2 this means that migrating from EXT2 to EXT3 or back takes seconds and there is no risk of data loss involved.
the fact that GNU/Linux uses a different file system from windows means that there are some differences in how it handels files and in the properties and attributes of these files, most of these attributes are necessary for a multiuser envirement.
you should know about these properties in order to avoid problems and be able use GNU/Linux efficiently.
unlike windows, file names in GNU/Linux are case sensitive, this means that files foo, Foo, FOO and fOo are different files. this could cause lots of confusion when you are looking for files or applications.
very few excutables9 have capital letters but you should still be careful.
While Widows uses file extensions to determine the data type of files. GNU/Linux does not need filename extensions at all, you'll find thousands of files with no extension in your GNU/Linux system10, intead GNU/Linux uses a tool called file to determine the datatype of each file.
however note that some GUI apps specially MIME enabled apps use extensions to guess the type of media files.
you can run the file tool yourself to check the datatype of file like this
>fubar.pdf: Ogg-Vorbis compressed sound file
as you can see file is too smart to be fooled by a wrong extension.
>foo: Bourne-Again shell script text executable
it can even guess what kind of text file you have
>hello_world.cc: ASCII C program text
as you see, file isn't always accurate, it mistooke my C++ code for C code.
because of the multi user nature of GNU/Linux systems, files have ownership, since you cannot let users read each others email and delete each others work.
each file has an owner and belongs to a group. to see who owns certain files you do this
>-rwxrwxr- 1 foo mail 26624 Jan 27 06:02 foo
>-rw-rw-r- 1 foo code 300 Feb 7 14:15 hello_world.cc
>-rw-r-r- 1 root root 3932007 Feb 7 01:42 fubar.pdf
^^^^ ^^^^
the third column is the file ownership, the fourth column is the group.
these two values are sometimes reffered to as UID and GID (which stands for User ID and Group ID)11.
as you can see from the listing, the owner of foo is user foo and it belongs to group mail, the owner of hello_world.cc is foo and it belongs to the group code and finaly the owner of fubar.pdf is root and it belongs to group root12.
but what are groups??
groups are a way to give multiple users access to the same files or resources, all users belonging to the group mail can send and recieve mail, all users belonging to the group audio can play music, etc.
permissions are file attributes that tell the system who has access rights to files and directories.
to see file permission you need to run this command again
>-rwxrwxr-x 1 foo mail 26624 Jan 27 06:02 foo
>-rw-rw-r- 1 foo code 300 Feb 7 14:15 hello_world.cc
>-rw-r--- 1 root root 3932007 Feb 7 01:42 fubar.pdf
^^^^ ^^^^
the first column has the filetype and permission information, the first character __ which happens to be - in the three files listed here __ is the file type, we will ignore it for now, its these strange rwxrwr runes that we are looking for now.
the letters r, w, and x are used to represent different permissions.
Windows uses filename extensions to determine if a file is excutable or not, GNU/Linux uses permissions instead.
but why does the listing have more than one r,w and x??
this is because there are three sets of permissions:
each set of permissions is represented by three characters and there order is owner permissions, group permissions and world permissions, the first character is the read permission, the second character is the write permission and the third character is the execute permission. if a - is used instead of r,w or x this means no permissions.
for instance in the previous listing the file foo is readable,writable and executable by its owner the user foo, and it is also readable, writable and executable by all members of the group mail. but other users only have read and execute permissions
while the file hello_world.c is readable and writable by its owner foo and all members of the group code. other users are only allowed to read it.
and finaly the file fubar.pdf is readable and writable by the its owner the user root, other members of the group root can only read it and the rest of the world has no access to it at all.
since directories are files, they too have the same set of permissions, but their meaning is a bit different from files.
for directories the read permission means you have the right to
this means that the permission to delete a file is a write permission to the directory, if you have write permission to the directory /fubar and no write perimission to the file /fubar/fu you can still delete /fubar/fu
an interesting situation occurs when you only have excute permission to a directory, in that case you have the right to enter the directory but you cannot list its content, you can however read any file in the directory if you have the permission to that file, but you cannot tell what the filenames are.
if you have read permission only you can list the files inside the directory but you cannot access them at all.
so to be able to modify a file you have to have all permissions to its parent directory.
Remember the delete permission is a directory write permission
Unlike WINDOWS programs, all GNU/LINUX Programs follow a standard way of organizing files based on the content and function of the files, similar files are grouped together and put in one directory.
These directories don't have to belong to one partition, they could even belong to another computer on the network.
Lets explore these directories.
Main Differences Between GNU/LINUX and M$ WINDOWS
This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.70)
Copyright © 1993, 1994, 1995, 1996, Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics
Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -no_subdir -split 0
-show_section_numbers
/tmp/lyx_tmpdir24679ybuTjF/lyx_tmpbuf0/linuxintro.tex
The translation was initiated by alaa on 2004-08-05
Q: Linux? UNIX? What's the difference?
A: At the risk of over-simplifying things, UNIX is not an operating system; it is an idea. When you use Solaris or AIX or Linux, you are using an operating system which was sprung out of a collective set of ideas which are called UNIX. In fact, we tend to call Linux and Solaris, for example, flavours of UNIX. It's a little bit like ice cream: when you eat a vanilla ice cream, this is specifically a vanilla flavor, but it is also made the way ice cream is made. Hence, Linux is not UNIX, but it is a UNIX like operating system.
Q: Isn't Linux a command line OS? That's why I prefer NT/Windows 2000/XP.
A: That is absolutely true. The heart of Linux is at the command line. This does not mean, however, that all your work under Linux has to be command line driven. There are excellent graphical interfaces for just about any administrative task you can think of. The way most of these applications are designed is to have a command line program, and then to build a graphical application on top of it. This means that you are free to choose whichever method you prefer to get your work done.
On a deeper level, this is a fundamental concept under Linux; command line tools with optional graphical interfaces. This does not only mean that you can choose how to get the job done, it also separates the GUI code from the functional code. So, if for any reason the GUI interface is inaccessible (such as if you are telnetting in to do the work) then you can still get evrything done.
By contrast, if you don't have the GUI under windows you are pretty much stuck. Under windows, there is no separation of GUI from core operating system functionality. This is one of the primary reasons why UNIX--like systems such as Linux are legendary for their stability. Keeping things simple and compartmentalised.
Q: Let's say I want to start thinking about deploying Linux where I work. Where do I begin?
A: That really depends on your needs. It is safe to say that Linux can do pretty much everything you need in terms of server functionality, so that is probably a good place to begin. How about setting up an e--mail server on your LAN? That would probably not take more than fifteen minutes.
And while you're at it, with all of those windows clients, you might as well think about using Linux as a windows file--sharing server. And print server. And don't worry about those Macintosh users; Linux is fluent in Appletalk and will happily connect them with the rest of the world. Seamlessly.
Do you need a web--server too? Have a look at Apache. Apache is the leading web--server software solution in the world, and it has been so for a very long time and it will continue to be so for a very long time. This not surprising since it is free, open source, stable, incredibly flexible, and smart.
Application server? Tomcat. LDAP? You got it. Groupware? Plenty of alternatives. FTP? Yep. Instant messaging server? Of course. Database server? MySQL/postgreSQL/Firebird/etc. Linux makes an excellent firewall and/or router too.
As we said, it all depends on your needs. Try describing your requirements to one of the volunteers and see what they can come up with.
Q: Great, what about support contracts and liability clauses?
A: Thats what we have Linux vendors for, many companies offer support contracts and the kind of guaranties you may be used to, the good thing is now support is truely a competitive market since all these companies have access to the source code and can modify and service the software as in any possible way. you don't like your current services provider? change the company seek a better one? the other good thing is you can go to a local company, or a small company if you prefer. and then there is always a free community on the internet eager to help you with all support questions, you can even contact the software developers directly, or employ some of them, the choices are endless.
Q: How standards--compliant is Linux anyhow?
A: Linux is probably the benchmark for standards compliance.
When you think about it, there really wouldn't be a Linux without standards and without the commitment to follow them. There are hundreds of thousands of programmers world--wide who work on Linux, and the only way for an interface designer in Bombay, for example, to coordinate his work with a programmer in New York is for there to be a set of standards governing the work. This goes for network protocols, UI design, file structure, filesystem hierarchy, all types of API, etc.
Standards are the air Linux breathes.
Linux even knows how to deal with other systems which do not comply with common standards. One excellent example is Microsoft Office documents, which are proprietary and undocumented yet which (after a lot of hard work and reverse engineering) can be viewed and modified under Linux.
Linux speaks all languages, even the broken ones.
Q: Alright, you've convinced me. I'm installing Linux today. Mail server, web server, database server, DNS server, Linux desktops in the marketing department, penguins in accounting, Mandrake on my PC, uClinux on my pocket calculator.
A: Okay okay, slow down. It's easy to get excited about Linux, we know. Welcome aboard! and remember to join us @ http://www.linux-egypt.org
Q: I've heard about Linux, but I still don't understand how it can be free.
A: You're talking about the price tag, right? Well, first of all, one reason why it is free is because the people who work on it don't ask for money to do so. This probably sounds a little strange; someone working hard for you for free? It begins to make a little more sense, though, if you try to imagine something like 100 people working together for each other for free: one person contributes only the fruits of his own efforts, but benefits from the efforts of 99 others, in addition to his own. Of course, some people are paid to work on linux, but it is usually through channels such as sponsorship from companies such as IBM.
Q: IBM? No kidding? Those are big boys.
A: Yes they are. They aren't the only ones. The American government sponsors open source programmers too, mainly in the lower level technical things. Sun Microsystems contributes a lot too, as well as numerous European governments such as the German and Finnish ones. Brazil also is a heavy linux user.
Linux really is a revolution in progress. It is a global digital tidal wave which just keeps getting bigger, and that's why we have an Egyptian Linux Users' Group.
Q: If IBM and Sun Microsystems are in on Linux, how can it be free? Don't they have to make money?
A: Yes they do. IBM is a good example of a for-profit business adapting itself to the incredible world of free open--source software. The trick is shifting your revenue stream to services and hardware.
Q: Free, of course, means it probably isn't that good.
A: Quite the opposite. Imagine if you were a programmer with, for example, Microsoft. You would be getting paid to write programs, that is true, but you would be working on what the company wanted you to work on, not what you really wanted to work on. The programmers who write Linux software get to choose exactly what interests them and stimulates their creativity. This makes an incredible difference, and this is something you can only feel if you start using open source software like Linux.
Q: Okay, I like the idea. But I'm worried the things I use on windows won't be available on Linux. Things I use for serious work.
A: There's some good news and some bad news. The bad news is, they won't be available. In some cases, windows software will work on linux, but that is a different story. The good news is, you might be able to guess, that there are substitutes for almost everything available on Linux which are usually better. In most cases, it will not be a problem of finding a replacement for, say, Microsoft Word, but rather a problem of which one of the substitutes to use; OpenOffice? KWord? Abiword? KWrite? &c.
Using Excel? Try Gnumeric, Openoffice Calc, KSpread. Do you absolutely need Photoshop? For that there is The Gimp. And while you try Gimp, check out Cinelerra and Film-Gimp too, movie editing tools. And you might as well drop 3D Studio Max for Blender.
If you're programming under windows, you're most likely using Visual Basic. For that, there's Gambas, though this document is really too short to list all of the programming languages you can use under linux, or all the development environments. Windows programmers who move to Linux usually feel like they have died and gone to Heaven.
Why don't you ask someone from the Linux Users' Group for a demonstration of the substitute for your favorite windows software?
Q: Wow. OK, all of that must require a really powerful computer.
A: This isn't windows. All of these choices and all of this power doesn't have to cost you massive resources. A barebones linux installation will run quite happily in 4 Mb of RAM. For real-world desktop work with a graphical user interface, you should be fine with 32 to 64 Mb a a minimum. And you don't need the latest of fastest processor either; anything from a 486 up will do fine.
Linux isn't greedy.
Q: So it's free, it's powerful, it has lots of software, it does't need an expensive computer. Are we missing anything?
A: Yes. You get free access to the source code (the recipe) of the software just in case you feel a need to modify anything and know how to do it.
Q: This is obviously too good to be true. I don't believe you. There is a trick. What do you want from me?
A: No trick. No catch. We do want something from you, though; we want you to become a Linux user. It's a little bit like when you hear a nice song, and you tell your friends about it -- does that gain you anything? No? Then why do you do it?
Q: Alright, I'll become a Linux user -- but wait, what happens when I get stuck? Who'll help me?
A: Just like Linux is made in a wide and decentralised way, support is also available in a way which is just as unique as the way the programs are made. There are communities of Linux volunteers on the internet who are always ready to help you out with any difficulties you might be experiencing. We, the Egyptian Linux Users' Group, is one such community. There is help available 24 hours a day 7 days a week on web message boards, on IRC chatting channels, through e-mail lists, &c.
When you get stuck, there is always a helping hand -- free and knowledgeable.
Q: I've heard about Linux, but I still don't understand how it can be free.
A: You're talking about the price tag, right? Well, first of all, one reason why it is free is because the people who work on it don't ask for money to do so. This probably sounds a little strange; someone working hard for you for free? It begins to make a little more sense, though, if you try to imagine something like 100 people working together for each other for free: one person contributes only the fruits of his own efforts, but benefits from the efforts of 99 others, in addition to his own. Of course, some people are paid to work on linux, but it is usually through channels such as sponsorship from companies such as IBM.
Q: IBM? No kidding? Those are big boys.
A: Yes they are. They aren't the only ones. The American government sponsors open source programmers too, mainly in the lower level technical things. Sun Microsystems contributes a lot too, as well as numerous European governments such as the German and Finnish ones. Brazil also is a heavy linux user.
Linux really is a revolution in progress. It is a global digital tidal wave which just keeps getting bigger, and that's why we have an Egyptian Linux Users' Group.
Q: If IBM and Sun Microsystems are in on Linux, how can it be free? Don't they have to make money?
A: Yes they do. IBM is a good example of a for-profit business adapting itself to the incredible world of free open--source software. The trick is shifting your revenue stream to services and hardware.
Q: Free, of course, means it probably isn't that good.
A: Quite the opposite. Imagine if you were a programmer with, for example, Microsoft. You would be getting paid to write programs, that is true, but you would be working on what the company wanted you to work on, not what you really wanted to work on. The programmers who write Linux software get to choose exactly what interests them and stimulates their creativity. This makes an incredible difference, and this is something you can only feel if you start using open source software like Linux.
Q: Okay, I like the idea. But I'm worried the things I use on windows won't be available on Linux. Things I use for serious work.
A: There's some good news and some bad news. The bad news is, they won't be available. In some cases, windows software will work on linux, but that is a different story. The good news is, you might be able to guess, that there are substitutes for almost everything available on Linux which are usually better. In most cases, it will not be a problem of finding a replacement for, say, Microsoft Word, but rather a problem of which one of the substitutes to use; OpenOffice? KWord? Abiword? KWrite? &c.
Using Excel? Try Gnumeric, Openoffice Calc, KSpread. Do you absolutely need Photoshop? For that there is The Gimp. And while you try Gimp, check out Cinelerra and Film-Gimp too, movie editing tools. And you might as well drop 3D Studio Max for Blender.
If you're programming under windows, you're most likely using Visual Basic. For that, there's Gambas, though this document is really too short to list all of the programming languages you can use under linux, or all the development environments. Windows programmers who move to Linux usually feel like they have died and gone to Heaven.
Why don't you ask someone from the Linux Users' Group for a demonstration of the substitute for your favorite windows software?
Q: Wow. OK, all of that must require a really powerful computer.
A: This isn't windows. All of these choices and all of this power doesn't have to cost you massive resources. A barebones linux installation will run quite happily in 4 Mb of RAM. For real-world desktop work with a graphical user interface, you should be fine with 32 to 64 Mb a a minimum. And you don't need the latest of fastest processor either; anything from a 486 up will do fine.
Linux isn't greedy.
Q: So it's free, it's powerful, it has lots of software, it does't need an expensive computer. Are we missing anything?
A: Yes. You get free access to the source code (the recipe) of the software just in case you feel a need to modify anything and know how to do it.
Q: This is obviously too good to be true. I don't believe you. There is a trick. What do you want from me?
A: No trick. No catch. We do want something from you, though; we want you to become a Linux user. It's a little bit like when you hear a nice song, and you tell your friends about it -- does that gain you anything? No? Then why do you do it?
Q: Alright, I'll become a Linux user -- but wait, what happens when I get stuck? Who'll help me?
A: Just like Linux is made in a wide and decentralised way, support is also available in a way which is just as unique as the way the programs are made. There are communities of Linux volunteers on the internet who are always ready to help you out with any difficulties you might be experiencing. We, the Egyptian Linux Users' Group, is one such community. There is help available 24 hours a day 7 days a week on web message boards, on IRC chatting channels, through e-mail lists, &c.
When you get stuck, there is always a helping hand -- free and knowledgeable.
Here we will continue with the shell commands lessons now i will take about some command the first one is touch:
Creating Files with the touch The touch command is easy to use, and generally, there are two reasons to use it
1- create a file
2-update a file’s modification date.
The touch command has several options.
To create a file with touch, use
# touch newfile
# ls -l newfile
-rw-rw-r-- 1 bball bball 0 Nov 13 08:50 newfile
As you can see, touch created a file with size of zero. You can also use
# > newfile2
# ls -l new*
-rw-rw-r-- 1 bball bball 0 Nov 13 08:50 newfile
-rw-rw-r-- 1 bball bball 0 Nov 13 08:54 newfile2
Like touch, this creates a file with size of zero.
So why use touch Because touch will update a file’s date or time. You can use touch to change a file’s date or time to the past or the future, for example:
# touch newfile2
# ls -l newfile2
-rw-rw-r-- 1 bball bball 0 Nov 13 09:04 newfile2
As you can see, the file newfile2 now has a timestamp 10 minutes younger.
thes are the thing you can do by using touch command line.
Using rm to Delete files
This command use to remove (rm) the files and Should be used
cautiously. Why? Because when rm deletes a file, it is gone
Always running Linux while logged in as the root operator and using the rm command has caused many untold tales of woe and grief.
with this simple command you can delete out not only your Linux system, but also any mounted filesystems, including DOS partitions, flash RAM cards, or removable hard drives by using the command :
# rm -fr /*
The rm command can used to remove many file one time and you can use anyone of the following:
# rm file
# rm file1 file2 file2
# rm file*
the safest way to use this command is with the i option so you will be asked if you really want to remove this file or not as the next:
# rm -i new*
rm: remove `newfile’? y
rm: remove `newfile2'? y
You can also force file deletion by using the -f option, as in
# rm -f new*
If you try to use the rm command to delete a directory it will not work even if it's empty and you used the force option the file will give you an output saying he can't delete the directory as in:
# rm -f temp*
rm: temp: is a directory
rm: temp2: is a directory
But if you used the force and recursive option you will be able to remove directory:
# rm -fr temp*
becaues the force and recursive options make the rm command act like rmdir command so if you want to delete a directory use this command .
and that's for today and see you all in next lesson
ready to answer any questions
Now i'll talk about the directories of your system. when you are on the root path
[root@foo /]#
and list your directories with the ls command :
[root@foo /]# ls
bin/ boot/ dev/ etc/ home/ initrd/ lib/ mnt/ opt/ proc/ root/ sbin/ sys/ tmp/ usr/ var/
as You see there are alot of directories so i'll start explaining them,Now i'll explain the /bin directory .
The /bin directory:
this directory you will find all the command line that you use and can use in the linux shell. you can get to this directory by using the following:
[root@foo /]# cd /bin
[root@boo bin]# ls
this will list all the command line you using in the shell and this is a very important directory.
The /etc Directory:
To get to this directory you have to do the following:
1-get out of the current directory by using
cd..
2-then enter the /etc directory by using
cd /etc
you can use two ways to do that,the pervious way or a simple way which is
[root@foo bin]# cd /etc
this will take you to the etc directory now i'll take about this directory what is it? this directory contain the configuration file of all the programes,contain the file which end with .conf as the lilo.conf file ,how can you find this file for example use the following
[root@foo etc]# ls l
then press tab and it will list all the configuration files which start with l . i'll talk now about the /usr directory
The /usr Directory:
enter this directory,you can use the same way i mentioned. this directory contain all the programes used by all users on you system. in linux operating system everything is a file the keybord mous and the monitor everything is a file. let my explain to you
The /dev Directory:
enter the /dev directory and list the files in this directory as you know (use the ls command line) you will find alot of file with many color this is the hardware and the device you use and can use in your system,DON'T DELE TE ANY FILE if you aren't proffesional and you will find your hard disk with name /hda and so on....
The /boot Directory:
this directory contain the Linux kernel and the adminstration only can move it to anywhere you want for his personal resones.
The /root Directory:
as i said befor you can't do anything in this directory,this is the most important area and directory in the linux system.
The /sbin Directory:
also like root can't do anything here you can watch but don't touch anything.
The /tmp Directory:
this is the temporary files directory,when you open a file or browse the net or make a text file the linux make a temporary file of it and save it in the tmp directory
The /lib Directory:
this contain the lib files which make the programe run and make it know it's job.
The /home Directory:
this directory contain all the users directory,if a new user create an account on the system ,the linux will create a directory with the user name in the /home directory so it contain all the users directory.
The /mnt Directory:
this directory contain the partitions you have in your hard disk and the will be named as following:
Win_c for directory c:
win_d for directory d:
and so on...
BY this i finshed my lesson about the linux directory and now you know all the information you need about the linux director.
You Can get help anytime anywhere while you are using linux by using the man command.
The man command is a short word for manual pages, Linux distribution comes with manual pages for nearly each utility, command, or programming system call.
So you can get any information you need about any command in linux system even command man itself can get information about it just by typing :
[foo@foo /]# man man
Manual pages started out in UNIX as one-page descriptions,In linux manual pages are found under /usr/man or /usr/share/man/
all the manual pages are named with a single-digit extension that refers to a directory that contain man page about specific thing.
what i mean is if you look at the table below you will understand what i'm trying to say:
/usr/man/man1 Commands: commands you run from within a shell
/usr/man/man2 System calls: documentation for kernel functions
/usr/man/man3 Library calls: manual pages for libc functions
/usr/man/man4 Special files: information about files in the /dev directory
/usr/man/man5 File formats: details of formats for /etc/passwd and other files
/usr/man/man6 Games
/usr/man/man7 Macro packages: descriptions of the Linux file system, man pages, and others
/usr/man/man8 System management: manual pages for root operator utilities
/usr/man/man9 Kernel routines: documentation on Linux kernel source routines
Every manual page usually has a number of sections, with the documentation for the command broken down into sections as in the next table:
NAME The name of the command and a brief description
SYNOPSIS How to use the command and command-line options
DESCRIPTION An explanation of the program and its options
FILES A list of files used by command, and their location
SEE ALSO A list of related man pages
DIAGNOSTICS A description of unusual output
BUGS Known problems
AUTHOR The program’s main author and other contributors
The man command searches for manual pages according to instructions in the man.config file under the /etc directory. These instructions define the default directories for man command in which to look for manual pages.
for example let's say that you need help with a simple command like ls what should you do ?
just in the shell type
[foo@foo /]# man ls
the output for you will be a text file of all the option and information of how to use the List command (ls) and it's as vi text editor to exit from it just click anykey then type :q then press enter
hope you all like this lesson and this command will make you understand linux and become a proffisional user of linux operating system
In this lesson i'll talk about three important commands lines,the first one is the FIND command line..
Searching Directories with find command line
this command line is a powerfull searching command you can use it to find files which is on your hard disk,
for example to search for spell command under the /usr directory you have to do:
#find /usr -name spell -print
let's say that you want to find a file but you can't remember the name but you remember the date you create that file and the time,for example in the last 50 days you will have to use the following:
#find /usr/bin -type f -atime +50 -print
To find any file ,either new or modified that are one or fewer days old in the /usr/bin you have to use :
# find /usr/bin -type f -mtime -1 -print
and that's all you need to know about the find command line next i'll talk about the whereis command line . Finding Manual Pages by using Whereis command line
This command is used to find the file's binary source and manual pages reside for example if you want to find the find command line use the following
# whereis find
find: /bin/find /usr/bin/find /usr/share/man/man1/find.1.bz2
you can also use whereis to find only the binary version of the program by:
# whereis -b find
find: /bin/find /usr/bin/find
let's say that you didn't find your request ,what you will get will be like this:
# whereis foo
foo:
and that's all you need to know about whereis also
Getting command help with whatis command line
this command like the help command this command give you help and a summaries about any programme or command line let's say you want to know what is whereis comman line all you have to do is :
# whatis whereis
whereis (1) - locate the binary, source, and manual page files for a command
but first you have to do an update for whatis database ..don't get banic all you have to do is type the following command and it will do it for you while you drinking your coffe
# makewhatis
so as i said to use this command after updating it's database all what you have to do is write whatis and the programme
name or command name you want to know it and be this i finshed my lesson and see you in the next lesson
hi everyone and welcome i'll talk about the installition of mandrake linux 10 operating system
first of all i want to say that you can setup two operating system on your machine,what i mean is that you can install linux and windows-MS together in the same machine but i want to say that you don't need windows in anything coz linux comes with many programmes and features that provide you with everything you will need when i say everything i mean every single thing.any way it's your chooes to put both of them or just linux but if you planning to put both of them you must put Windows-MS (or what ever you planning to put) first and then install linux and it's improtant to make this DO NOT INSTALL LINUX FIRST.
Now let's start i will talk about installing linux Mandrake 10.
1-when you turn your computer on press on DELETE button you will enter a blue screen called 'BIOS', look for 'BIOS feature setup' then look for 'Boot sequence' and make it 'Boot from cd' by using the page up and page down button.
2-then press ESC and chooes 'save and exit' then press Y don't forget to put the first cd in the cd-room .
3-after restarting the machine a blue screen will come to you asking you to press F1 if you want help or Enter if want to install linux ... Press Enter and it will start to copying the files to your machine and it will take up to 10 min.
4-After copying files you will be asked to choose the language choose'US ENglish' and if you would like to add the arabic to your machine choose advance and select the arabic and the unicode then click ok .
5-choose that you are agree with the tearm.
6- Now you must select the installation class,and you have here to type the first one is 'Recommended' and 'Expert' select the fist one which is 'Recommended' then press install.
7-this is the most important step and it's about how to partitioning your hard disk, select from the list infront of you the option 'custom hard partitioning' then press ok.
you will find the partitions that in your hard disk and the one you prepared to the linux (your must prepare a 10 GB formated space for linux) you will find it with blue color,select it with the mouse then press on the auto alocate and it will partitioning it for you you must find two partition with red color and a small one with green color (swap).
9-after you do this press done and it will ask you if you are sure and choose yes,then you will have to select the programmes you want to install in the system then press ok.
now it will install all the programmes you want and will ask you to change the cds so stay near the computer.
10-it will ask you for a password for the root enter the password that you like and make sure not to forget it .
11-It will ask you then to create a user so create a one to use it.
12-select the way you will connect to the net if it by "Normal Modem connection" or "ADSL" or whatever you using to connect to the net.
13-create a new dial up if then click ok
14-press ok
15-press yes
16-press no
17-press ok
18-remove the cd form the cd-room and then don't do anything till you enter the linuc then chooes the desktop you want and make it KDE then Next then cancel .
now you had instaled linux and get party
Cause of the last days mostly talking about GNU/Linux as the present/future OS and all organizations on all over the world aware about it and follow it as it's the Perfect efficiency, Low Price: (You don't need to spend time and money to obtain licenses since Linux and much of it's software come with the GNU General Public License),
Stability: Linux doesn't need to be rebooted periodically to maintain performance levels. It doesn't freeze up or slow down over time due to memory leaks and , Great in performance provides persistent high performance, Network :client and server systems can be easily set up on any computer running Linux. Flexibility: Linux can be used for high performance server applications, desktop applications, and embedded systems. You can save disk space by only installing the components needed for a particular use.
Compatibility: It runs all common Unix software packages , Windows apps. and more powerful applications and can process all common file formats.
Choice: The large number of Linux distributions gives you a choice. Installation: user-friendly installation and setup programs
Full use of hard disk: Linux continues work well even when the hard disk is almost full
Multitasking: Linux is designed to do many things at the same time (GREAT , intelligent and powerful scheduling for tasks )
Security: Linux is one of the most secure operating systems. "Walls" and flexible file access permission intelligent systems prevent access by unwanted visitors or viruses.
Open source: If you develop software that requires knowledge or modification of the operating system code, Linux's source code is at your fingertips
And More …. More more more………………
Today, the combination of inexpensive computers and free high-quality Linux operating system and software provide incredibly low-cost solutions for both basic home office use and high-performance business and science applications
MAY always will be one question ( WHY ) ; Windows is simple for End-user uses and no need for complexity , that's right ; but ..at first Computer days it was also the Batching , MS-DOS and windows were a complexity and the computer it self was a complexity , something more is that in the near future all PCs running windows at the current days , they'll run Linux that provides incredibly low-cost solutions for examples like the big Organization , Corporation and Foundations (Jaguar , Ford ….) so due to that we hope that we can present you a way to follow it to be able to act with this OS revolution switch
yours Mina r.
we had another small meeting to talk about what kind of events we can do @ aast and also we talked about some other topics
we started at 7 , all of us was there befour 7 excpet deftones who was late for a while but mina_linux_tux told us he will be late . 1st we talked again about the courses and then what we can do at aast
we talk a short time talking about it cuz mina_linux_tux and deftones wasn`t in the 1st meeting .. we talked about the course head lines and it seems good we will use mandrake 10.1 and mandrake docs as material ... we are wating for our 1st 8 students to start. and mina_linux_tux can give advanced / programing under linux courses if it`s needed. we want to make the 1st course as a test to c if we want to add or remove anything from the course it self so we guess it's better to be for our friends , and it will take about 8 ~ 10 hours. mina_linux_tux will talk to another net cafes to see if we can give free courses there too
mina_linux_Tux talked about about what he had reached with aast guys , thay can give us lab to do semminar or installfest and IEEE can give a semminar with us too if we want. and he will set a meeting with the aast guy and the event will start in the beginning of the 2nd term since exames are close ..
i guess that was all
P.S guys from the meeting if i forget anything feel free to post it ;)
Based on Debian, SimplyMEPIS is gaining lots of popularity - it's now on the top 4 in distrowatch for this month, exceeding Gentoo, Ubuntu and even Debian itself !
I'm not going to write a full reveiw about MEPIS. I'll just tell you why I like it and what I'd like to see fixed.
SimplyMEPIS is a LiveCD, you can run it directly from the CD-ROM or install it to your hard drive. Here is where things get nice - the easiest and fastest installation I've ever seen, with almost no questions asked. Now that's what I call newbie-friendly !
The Desktop itself is clean, everything runs out-of-the-box including mozilla with all the popular plugins (even windows WMV). Some apps just didn't fit the CD, but hey you've got apt-get! Almost all packages can be found in debian software pools, MEPIS is already configured to use a nice mix of "stable", "testing" and "unstable" pools. It also uses the MEPIS pool which includes packages that were modified by the MEPIS team.
That's the main reason I like MEPIS: it's basically a Debian system that simply WORKS without the hassle & long installation.
MEPIS tools include the installation program, System Center & User utilities. They're very easy to use but they're nowhere near Mandrake's Configuration Center. It was easy to setup the nvidia driver with TwinView from the system center - something I really liked.
I really hope people will give it a try, I'm sure many of you will keep it. I'm using it for a month now and I'm really satisfied with it.
MEPIS homepage: http://www.mepis.org
Many reviews: http://distrowatch.com/table.php?distribution=mepis
15-minutes installation
Debian-based (apt-get)
Everything works out-of-the-box
Hardware AutoDetection
Mozilla plugins!!
Nvidia Driver & settings
Needs more configuration tools
I strongly recommend you read the Drupal handbooks this document is just my notes for the Drupal Sessions we gave at Al Sakia
highly philosophical question, no clear answer.
one must understand how the web is built out of HTML pages, CMS systems simplify the process of publishing and generating these HTML pages and make it possible to allow website visitors to contribute content (as in forums, comments, or even wikis).
there are 4 major platforms for web applications including CMSs
LAMP is by far the cheapest, most popular and most widely supported, since LAMP is built on FOSS and is very easy and cheap to build for, deploy, run and maintain. there are thousands of FOSS projects that provide you with useful packaged webapplications that you can start using immediately.
this enables anyone to have a complex and rich website (or benefit from other webapplications), Drupal is one among a huge variety of FOSS, ready to run, easy to use CMS systems.
we do not cover installing drupal today, the details will differ according to your hosting service, and the platform you use at home.
check the drupal documentation and post any questions on the EGLUG forums, those who need help making a local installation on their GNU/Linux pcs can seek help on Saturday gatherings.
we will assume a site with the typical roles Author, Editor, WebAdmin
There was an error in the Cds so we delayed the rest of the installation demonstration to the 2nd session and skiped to Desktop demonstration.
70% of the web servers are apache servers
(not finished yet)
You can get the source code of the GNU\Linux OS and its Free Applications from the internet, visit the website of the projecr/software and you will find its source code.
A: The GNU\Linux operating system and its applications are programmed using different languages, among them: C, C++, perl, python, lisb, ruby.
A: yes, they are. Each program does a specific task and does it very good, and they depend upon existing packages
ok guys at last we had our 1st meeting after more than month of talking about it and only 3 members come to meeting.it`s was in El-Salam fun center in SidiGaber near the sea.
Almost we was there before 8:05 PM ( Linuxawy and me ) ShErbO was already there before 8:00 PM we waited a Little time before we start talking , and we almost started at 8:30 PM when no body ales come, and we started talking about some topics:-
DarKnesS_WolF start talking about if we can do some free courses on some friend net cafe, and here is the points:-
the owner of the net cafe had agreed today with DarKnesS_WolF on the phone. and he waiting 1st 8 students and the time to start.
Linuxawy Start talking about what we can do for life makers alex and what they need , there is was already connection by emails and Linuxawy will Set us a Meeting with life makers alex members this week to talk about:-
and those courses will be totally FREE , 0 Cost.
we can say the points is:-
so we think we need a meeting with her to know exactly what she needs about that course but we think beginner course as described above will be good with alot of extra commands , how the system works and some compiling stuff to show how powerful the system is.but in that case we will need lots of help. ShErbO and DarKnesS_WolF ready to set with her and explain as much as they can about the system. and we are waiting to meet her 1st if when can and we are waiting Linuxawy to set us.
and we finished the meeting almost at 9:45 pm.
P.S: some Pics will be posted with Linuxawy send them to me. any comments and feedback please comment.
There is also an extra manual that covers the Mandrake configuration tools, also available on the cds, the package name is mandrake-doc-drakxtools-en. Or you could read it online
These extra manuals where written for Mandrake 9.0, they may be abit out of date but most of the information is still valid
This are sources for extra Mandrake Packages, you should not install packages made for another GNU/Linux distribution.
you may want to learn how to use the command line package manager, check the documentation on http://urpmi.org
the Mandrake users community also provides extra packages, you can get a list of sources from http://www.thebrix.org.uk but be careful these packages are not well tested.
here we will put the fuzzy words that was bother us and here will put translations for that words so we all use the same arabic traslations.and sure if u c somehting better tell us so we c what is better and then add it.
just came back from the FireSphinx party and I finally decided to dump and proprietary browser I used to use and move to FireFox.
now FireFox is only as good as the extensions you use, out of the box it lacks many essential features so lets make a good wiki page with all the extensions people actually use and like.
please don't just post comments, edit this page and add your extensions.
maybe later on we should have review articles of these extensions
still testing other extensions, will keep you posted.
^ Tabbed Browser Extension: http://texturizer.net/firefox/extensions/#tbe - Adds enhancements to the tabbed browsing, Adds the ability to save the session on exit
Probably more but i'm lazy.
بعد عشرات المحاولات الفاشلة في تثبيت السلاك وير كنت ابحث بالستمرار عن مكان او عن اي حاجه فيها شرح للحته الي في الاول لتثبيت السلاك وير ولقيت الموقع ده او الصفحة دي الصفحة دي موجوده في منتدى اجنبي كتبها واحد جامد شرح فيها كل حاجه تتعلق بتثبيت السلاك وير من اول ما تبوت السيدي ولغاية اما تخلص الكونفيجرز بتاعتك وكله بالصورة ة والشرح كلة بالانجليزي بس جزء كبير منه مفهوم والصور بتقوم بالباقي :) مش هطول عليكم دي وصلة الصفحة وابقوا ادعولي ;)
http://www.bitbenderforums.com/vb22/showthread.php?postid=311808
التعامل مع نظام لينكس داخل نظام ويندوز! (لا اتذكر اسم الكاتب الحقيقي للموضوع )
يعلم الجميع منا بأن أنظمة Linux تتيح لمستخدميها سهولة التعامل مع نظام Windows من داخلها, كإستعراض ملفات النظام او نسخ الملفات منه او الكتابة و التخزين فيه بالإضافة إلى قراءة ملفاته, هذا الأمور كلها كانت تحدث من داخل نظام Linux و ذلك عن طريق عمل mount لنظام Windows بهذه الطريقة:
شفرة برمجية :
mkdir /mnt/windows mount -t vfat /dev/hda1 /mnt/windows
لكن يمكن حدوث العكس! ; أي استعراض ملفات Linux و الكتابه فيه و النسخ منه و قراءة ملفاته بالطبع, كل ذلك و انت داخل نظام Windows ! و ذلك باستخدام مجموعة أدوات تسمى LTOOLS .
ماذا تقدم لي أدوات LTOOLS ؟
هذه الأدوات تم برمجتها بواسطة Jason Hunter و David Lutz في جامعة Willamette بالولايات المتحدة الأمريكية.
تقدم هذه الأدوات LTOOLS القدرة على استعراض ملفات نظام Linux و الكتابة فيه و النسخ منه...الخ و انت داخل نظام Windows و حزمة نظام Windows تأتي قابلة للتنفيذ و تضم الملفات التالية:
شفرة برمجية :
ldir.exe list directories and files lread.bat read and copy files from Linux to DOS lwrite.bat copy files from DOS to Linux ldel.bat delete Linux files or (empty) directories lchange.bat change Linux file attributes and owner lren.bat rename Linux file lmkdir.bat create a new Linux directory lln.bat create a symbolic link lcd.bat set the default Linux toplevel directory ldrive.bat set the default Linux disk drive
, و في الحقيقة الغرض من هذه الأدوات هو استعراض أنظمة ملفات EXT2 الخاصة بنظام Linux , بمعنى يوجد نسخ من هذه الأدوات يمكنك تركيبها على نظام Linux ( مثلا RedHat ) و من خلالها تستعرض ملفات نظام Mandrake او تنسخ منه ملفات و هكذا !, كما توجد نسخ ينبغي تصريفها لتعمل على أنظمة UNIX و من خلالها يمكنك استعراض أنظمة ملفات EXT2.
من أين أقوم بتنزيل هذه الأدوات و كيف أركبها على جهازي؟
يمكنك تنزيل أدوات LTOOLS من خلال هذا الموقع:
http://www.it.fht-esslingen.de/~zimmerma/software/ltools.htm
أما طريقة التنصيب فهي سهلة,كل ما عليك هو اتباع الآتي:
شفرة برمجية :
Start ---------> Programs ---------> LTOOLS ---------> LTOOLS Command Line
انتهينا!
طريقة استخدام أدوات LTOOLS
حسناً, هنالك ثلاثة طرق لإستخدام هذه الأدوات:
1- عن طريق سطر الأوامر Command Line
2- عن طريق واجهة رسومية و ذلك بجعل جهازك خادم
3- عن طريق واجهة رسومية و ذلك باستخدام جافا
سوف أقوم بشرح الطرق الثلاثة على امل ان تعجبكم احد الطرق.
أولا عن طريق سطر الأوامر Command Line
حسناً, لنفرض أنك تريد سرد ملفات نظام Linux باستخدام سطر الأوامر, توجه كما قلنا سابقاً إلى:
شفرة برمجية :
Start ---------> Programs ---------> LTOOLS ---------> LTOOLS Command Line
و بعدها اكتب:
شفرة برمجية :
ldir -s/dev/hda2 /
الآن سوف يتم سرد ملفات الجذر الرئيسي " / " و سوف تشاهدها امامك على الشاشة
شرح مبسط لما قمت به
ldir : برنامج سرد ( استعراض ) الملفات
-s : خيار يمكن الشخص من تحديد القسم الذي يوجد به نظام Linux
/dev/hda2 : القسم الذي يوجد به قسم Linux لدي ( قد يختلف لديك )
/ : المجلد الذي أرغب أن اسرده و قد تود مثلا ان تستعرض /etc/ او غيرها .
ملاحظات
- إذا عيّنت قسم Linux بقيمة /dev/hda او /dev/hdb ...الخ من غير تحديد الرقم الذي يوجد به, فسوف يقوم البرنامج بالبحث عن اول قسم لنظام Linux .
- إذا استخدمت ldir من غير خيار " -s " فسوف يقول بالبحث في القرص الصلب الذي ركبت أدوات LTOOLS به ( غالباً /dev/hda ) .
- إذا لم تعرف رقم القسم الذي يوجد به نظام Linux فاستخدام خيار " -part " بهذا الشكل:
شفرة برمجية :
ldir -part
و سوف تكون أرقام أقسام قرصك الصلب في الناحية اليسرى :
- لمزيد من المعلومات حول هذا الأمر استخدم خيار " -h " .
و الصيغة العامة لهذه الأداة هو:
شفرة برمجية :
ldir [-h | -v | -? | -part] [-s/dev/hd..] [Linux_Directory]
هذا كان بالنسبة لسرد الملفات و لكن ماذا عن قرائتها و نسخها من نظام Linux إلى نظام Windows ؟
لقراءة أحد ملفات نظام Linux , كل ما عليك هو إصدار:
شفرة برمجية :
lread -s/dev/hda2 /var/www/html/test.php
الإختلاف بين هذا الأمر و سابقه هو أنني حددت ملف معي و هو test.php لقراءة محتوياته:
اما إذا أردنا أن ننسخ ملفاً من نظام Linux إلى نظام Windows فينبغي في الأخير أن نضيف مكان الملف المنسوخ,حيث سيكون الأمر بهذه الصورة:
شفرة برمجية :
lread -s/dev/hda2 /var/www/html/test.php C:test.php
الآن إذهب إلى قسم الـ C و سوف تلاحظ وجود نسخة من الملف
الصيغية العامة لهذا الأمر هي:
شفرة برمجية :
lread [-h | -v | -?] [-s/dev/hd..] Linux_File [DOS_File]
بعد أن انتهينا من عملية سرد الملفات و قرائتها و نسخها, ننتقل إلى كيفية حذف أي ملف في نظام Linux , لعمل ذلك أصدر هذا الأمر:
شفرة برمجية :
ldel -s/dev/hda2 /var/www/html/test.php
و سوف ينحذف الملف,الصيغة العامة لهذا الأمر هي:
شفرة برمجية :
ldel [-h | -v | -?] [-s/dev/hd..] Linux_File
أما لتغيير صلاحيات الوصول لأحد ملفات نظام Linux و كذا المالك و المجموعة في آن معاً, أصدر الأمر التالي:
شفرة برمجية :
lchange -s/dev/hda2 -frwxrwxrwx -u2 -g2 /home/file.html
شرح مبسط لما تم القيام به
-f : لتغيير صلاحيات القراءة و الكتابة و التنفيذ لكل من المالك و المجموعة و الآخرين. ( يشبه أمر chmod )
-u: لتغيير مالك الملف عن طريق تغيير رقم تعريف المستخدم, فإذا كان المالم هو مستخدم " account " يحمل رقم تعريف " 3 " و اردت نقل ملكية ملفه إلى مستخدم آخر " account2 " فينبغي معرفة رقم تعريفه للقيام بذلك ( يشبه امر chown )
-g : لتغيير مجمعة الملف ( يشبه أمر chown ) .
الصيغة العامة لهذا الأمر هي:
شفرة برمجية :
lchange [-h | -v | -?] [-s/dev/hd..] [-fFMODE] [-uUID] [-gGID] Linux_File
أما للكتابة في نظام Linux فأصدر الأمر التالي:
شفرة برمجية :
lwrite -s/dev/hda2 C:programethems.zip /root/thems.zip
حيث نسخنا ملفاً من نظام Windows و وضعناه داخل نظام Linux .
الصيغة العامة:
شفرة برمجية :
lwrite [-fFMODE] [-uUID] [-gGID] DOS_PathDOS_File Linux_File
لتغيير مسمى ملف في نظام Linux إلى إسم آخر,أصدر هذا الأمر:
شفرة برمجية :
lren -s/dev/hda2 /var/www/html/test.php index.php
هذا الأمر قام بتغيير إسم ملف test.php الموجود داخل نظام Linux طبعاً إلى إسم index.php .
الصيغة العامة:
شفرة برمجية :
lren [-h | -v | -?] [-s/dev/hd..] [-fFMODE] [-uUID] [-gGID] Linux_File_old_name Linux_File_new_name
بقي عمليتي إنشاء دليل جديد في نظام Linux و أيضاً أنشاء اختصار, و كلاهما بنفس الطرق السابقة تقريبا
ثانيا: عن طريق واجهة رسومية و ذلك بجعل جهازك خادم
توجه أولاً إلى :
شفرة برمجية :
Start ---------> Programs ---------> LTOOLS ---------> LTOOLS ---------> LTOOLS Web Server (http localhost)
بعد ذلك اكتب في متصفحك: شفرة برمجية :
الآن سوف يتم سرد ملفات و مجلدات نظامك لكن بشكل رسومي :
أضف إلى ذلك بأنه أصبح جهازك خادم ويب Webserver . عمل الأمور السابقة من استعراض و نسخ ...الخ في الواجهة الرسومية سهل جدا و لا يحتاج إلى شرح و كثر كلام,فقط أشر و انقر .
ملاحظات:
- لاستعراض ملفات الـ Windows و التعامل معها ( نسخ,تعديل...الخ) انقر على خيار DOS في أعلى الصفحة.
- بشكل إفتراضي يكون منفذ خادم الويب و " 80 " فإذا أردت تغييره إلى " 99 مثلا " أصدر هذا الأمر من سطر الأوامر:
شفرة برمجية :
LREADsrv 99
- بشكل افتراضي أيضا, خادم الويب ( LREADsrv ) لا يقبل أي إتصال الا من جهازك ( localhost ) او ( 127.0.0.1 ) , فإذا أردت ان يستخدم أحداً ( في الإنترنت او داخل شبكة محلية )المميزات السابقة فينبغي أن تحدد أرقام الـ IP لهم ( اقصد حد مسموح 3 عناوين ) , بحيث الشكل النهائي للأمر:
شفرة برمجية :
LREADsrv 80 212.452.123.3 213.571.231.7
لابد عند استخدام ميزة remote host السابقة تحديد المنفذ.
اما طريقة الـ JAVA فتطلب منك تركيب Java 2 Runtime Environment و يمكنك تنزيلها من موقع : جافا لقطات من الأداة و هي تعمل بواسطة جافا ( مع الشكر الجزيل للأخ مرشد محمد:-) ) : عند هذا الحد اتوقف و اترك لكم فرصة التعمق في مجموعة الأدوات LTOOLS لكي لا افسد عليكم متعة الاستكشاف
تحياتي,,,
هذة الوثيقة تفسر كيف يتم أستخدام الموارد المملوكة بواسطة EGLUG.org و حقوق الأعضاء فى هذة الموارد.
العضوية هنا عبارة عن أتصال أجتماعى و ليست عضوية بواسطة القانون , و فى الواقع العضوية القانونية هى عضوية من قام بدفع المال للموارد الموقع , وفى حالة الدفع عن طريق الكارت الألكترونى (credit card) يكون المالك القانونى للكارت ورقم الحساب هو المالك القانونى للموارد. وهذة نظريا تعطى القوة لشخص واحد فوق المجتمع ككل وليس هناك أى تصرف عملى يتفدى هذة المشكلة.فقط الثقة و ند الضغط هم الضمانات التى نملكها.
وفى الوقت الحاضر تم تمويل الموارد بواسطة كل من Alaa , MadFarmAnimalz , uniball ,Whirlpool و ezabi . وفى قت لاحق لتفادى تمركز القوى يجب على مجموعة أكبر عدد من الأعضاء المشاركة فى التمويل.
الموارد المملوكة لEGLUG.org هى أسماء الموقع وهم EGLUG.org و EGLUG.net والمساحة المستضاف عليها الموقع. و تفاصل أستخدام هذة الموارد تعتمد بشكل كبير على حزمة الأستضافة المشتراه, و سياسة الأستخدام للموارد ستتغير بتغير الشركة المستضيفة للموقع أو بتغير حزمة الأستضافة المشتراه للموقع. وفى الوقت الحالى (الخامس من شهر يونية عام ٢٠٠٤) يمكن تصنيف الموارد كالأتى:
المدرين هم المسؤولين عن تخصيص وابقاء على الموارد كما هو موضع فى الدستور.
المدرين فقط هم الذين يملكوا كلمات المرور لكل الموارد و سوء أستخدام هذة الموارد يعتبر أنتهاك لأنتدابهم لهذة الوظيفة.
يجب على المجتمع العمل بجد على تأكيد أن التغير فى هذة السياسة هو تغير أفضل فى تخصيص الموارد و أفضل للأعضاء حيث يتح لهم المزيد من الموارد , التغير الى موارد أقل أو تحديد لأستخدام الموارد يمكن فقط فى حالات الضرورة القصوى.
فى حالة نفاذ الموارد يتم التحقيق مع المدرين فى أذا كان هناك مكان فى الموقع أو شخص يستخدم زيادة فى الموارد , أو اذا كان هناك موارد مخصصة فى مناطق غير فعالة فى الموقع , و أذا وجد أن الموارد غير مهدره سيعتبر ذلك أشارة بنموا المجتمع وعلى ضرورة الحصول على موارد جديدة.
باقى الموارد تستخدم بواسطة المدرين لخدمة المجتمع , يطالب المدرين بأستخدام هذة الموارد لتطبيق أى افكار أو وظائف يوافق عليها المجتمع.
سياسة الأستخدام المتفق عليها هى ببساطة مجموعة من الأرشادات تحدد التصرفات داخل مجموعة مستخدمى ليونكس المصرية eglug. و ليس النية منها الحد من الأفعال, وانما النية منها تقديم أفضل حماية للأعضاء عن طريق تقديم مناخ محترم وبناء للعمل فى الموقع. وسياسة الأستخدام المتفق عليها كما يلى.
أنواع الحديث التالية لن يكون مسموح باستخدامها فى موقع eglug.org :
الهدف من مجموعة مستخدمى ليونكس هو عرض أفكار البرمجيات/الحرة مفتوحة المصدر و جنو/ليونكس. ويتوقع من الأعضاء النقاش فى هذة الموضوعات كلما أمكنهم ذلك. ومن المفهوم أن الفاصل بين الموضوعات موضوع النقاش و الموضوعات الخارجة عن موضوع النقاش غير واضع ويدعو للشك, و النفع من الشك سيكون هو الغالب كلما أمكن ذلك. فقط الأنتهاك الواضح لهذة القاعدة سيعتبر أنتهاك لسياسة الأستخدام المتفق عليها.
السجلات الشخصية تعتبر منطقة خاصة فى موقع eglug.org , والغرض منها سرعة أتصال المجتمع و تفعيل الاتصال الاجتماعى بين الأعضاء.
و قاعدة الموضوعات الخارجة عن نطاق النقاش يتم إرخائها بشكل كبير جدا فى السجلات الشخصية, فيمكن لكاتب السجل الشخصى (blog) أن يكتب أى شئ بشرط عدم أنتهاك باقى القوانين.
اما بالنسبة للديانات و المعتقدات والفلسفات, لديك الحق للتعبير عن معتقداتك حتى و لو كانت تتعارض مع الديانات و المعتقدات الأخرى طالما ان ارائك لا تهاجم أو تهين الديانات و المعتقدات الأخرى , والفرق بين التعارض و الهجوم و الاهانة واضح جدا.
وظيفة المراقبين هى تأكيد أن المحتويات النشورة داخل موقع eglug.org لا تنتهك القوانين و القواعد المذكورة بالأعلى.
يتجنب المراقبين تعديل الموضوعات المرسلة بواسطة الأعضاء , ويجب عدم نشرها و طلب المرسل بتعديلها حتى تتفق مع القواعد و القوانين.
لايجب على المراقبين حذف المحتويات من الموقع بصورة مباشرة , الرسالة التى أنتهكت القوانين يتم عدم نشرها و من ثم تنقل الى مكان مغلق , ويحق لأى عضو مراقبة القرارات الرقابية و النظر الى الرسائل التى تم الرقابة عليها.
يتم الاعلان علنا عن قرار المراقبة و مقاضاه الكاتب للرسالة المنتهكة للقوانين,و يجب ذكر أسم المراقب و السبب فى قرار المراقبة , و الفشل فى ذلك يعتبر أنتهاك لوظائف المراقبين.
أى قرار رقابى يمكن إلغاءه بإجماع ثلاث مراقبين.
هذة الوثيقة تشرح بالتفصيل عملية أختيار المدرين و المراقبين و الأعضاء القدامى. وأيضا تغطى أجراءات التعامل مع الأعضاء الذين ينتهكون وظائفهم أو يستغلون مواقعهم و وظائفهم أستغلال سئ.
سيتم أختيار الأعضاء القدامى من بين الأعضاء الجدد عن طريق وسيلة تلقائية. سيتم الأحتفاظ بالنقاط لقياس معيار نشاط كل عضو فى المجموعة, واى عضو سيصل ألى ١٠٠ (مائة) نقطة سيصبح تلقائيا عضو من الأعضاء القدامى.
التعاون و النشاط فى الموضوعات داخل نطاق المناقشة فى eglug.org فقط سيحسب, الرسائل التى سيتم عدم نشرها أو تنفيذ نشاط رقابى عليها لن تحسب.
يتم أختيار المراقبين من أستطلاع للرأى من بين الأعضاء القدامى. عدد المراقبين يجب أن يكون نسبة ٢٠% من أجمالى عدد الأعضاء القدامى و أجراءات الأختيار ستكون كالتالى:
يحق للمراقب الأستقالة من منصبة فى أى وقت.
يتم أختيار المدرين من أستطلاع رأى من بين المراقبين. المدير ما هو ألا مراقب مع وجود بعض المسئوليات التقنية مما يعنى أن القدرات التقنية شرط لهذا المنصب.
وبسبب التفاصيل التقنية يجب على المدرين العمل كخلية واحدة , ولا يوجد مكان لعدم الأتفاق بينهم.
عدد المدرين يجب أن يكون أربعة أو نسبة ٢٠% من اجمالى عدد المراقبين (مهما كان هذا العدد كبير ).
يتم أعادة حساب عدد المدرين المطلوبين مرة كل عام بعد مراجعة الدستور , و يتم أختيار المدرين الجدد بالأجراءات التالية:
يحق للمدير الأستقالة من منصبة فى أى وقت , ولكن يجب علية الأنتظار حتى يتم أنتخاب بديل.
فى حالة قيام مدير أو مراقب بانتهاك وظائفهم يسمح للمجتمع بتنزيلهم من وظائفهم.
الانتهاك للوظائف الذى يؤدى الى خلل فى الأتصال الأجتماعى , يعاقب المنتهك بأن يصبح عضو جديد برصيد صفر من النقاط.
المدرين فقط يمكنهم اقتراح ألغاء العضوية. يمكن الغاء عضوية العضو فى الحالات التالية فقط:
و بسبب ان هذة الاسباب تخضع للمعاير الشخصية , فأن الغاء العضوية يتطلب ٢٧ نقطة بالموافقة من المجتمع:
فى حالة أن تم ألغاء العضوية لشخص ما و كان عدد النقاط ٢٧ من الأعضاء القدامى أو الأعضاء الجدد , فأن ذلك يؤكد وجود فجوه و عدم أتصال بين المراقبين و المدرين و بين المجتمع.
this is where we develop eglug specific documents.
Our member, amg, recently pointed out that it can be a little confusing to new people here to understand who and what we are. So we have set up this page as a Questions and Answers section. You ask the questions, and Alaa's cat (charming little fellow called Marzouq) types out the answers. (MAN CAN THAT CAT SPELL!)
Please add your questions; this is a wiki, you are supposed to collaborate and edit the page.
fork / child process related:
1. Are you related in any way to linux-egypt ?
EGLUG is an offshoot of linux-egypt; we the people who started EGLUG were and remain members of linux-egypt though we will be concentrating our efforts on EGLUG.
2. Is this a sub-project of linux-egypt ?
No, you can't really say so. The best way of visualizing it is to consider linux-egypt and EGLUG as parallel groups with many things in common, such as interests in GNU/Linux, and some notable differences such as how the community is organized.
3. Is linux egypt the 'official' GNU/Linux site in egypt or are you guys ?
There isn't really any official GNU/Linux site in Egypt. Officiality requires recognition as a non-profit organization which neither we nor linux-egypt have, and which would under current circumstances be more trouble than it is worth. May be you are asking this question because you want to know whether you should be keeping up to date with linux-egypt.org or with eglug.org? I can't answer that for you, but I can give you a suggestion; spend a few days on both (but give EGLUG till July to launch please!) and get a feel for them. In any case, we at eglug.org hope for extensive cooperation with linux-egypt and with time this should become a moot point.
4. Did you make this site coz you were forced out of linux egypt?
No. :) We made it as a hyper-democratic alternative; like I said earlier, you'll find one of the key differences between the two groups is in their approach to community organization. Many of the core people who are working on EGLUG were moderators on linux-egypt and remain so. The fork was intended to be friendly, and it remains so.
5. Is this site meant to be a linux-egypt replacment?
After reading the answers to the questions above, you will know by now that the key words are: co-existence, cooperation, mutual benefit, and symbiosis. EGLUG may replace linux-egypt for all I know, and conversely linux-egypt may eventually evolve to make EGLUG redundant. Who can tell the future? For the time being, we the people who are developing this experiment (developing, not controlling and not leading) believe that the community can benefit from co-work.
6. Will be co-operating with linux-egypt or is this an Ahly/Zamalek view?
-1 Redundant :)
We should fill this so our intiative be added with other youth initiatives in Arab world. This is a follow up to this workshop. This application should be filled by 7th of July.
مجموعة مستخدمى جنو لينكس مصر
مصر
info@eglug.org
تلخيص لمحتوى الاصدار:**
If u want to add ur name to the list of candidates, plz edit this page.
NOTE: u have to be a senior user
فى الشهر المقبل سيتم تنظيم سلسلة من الجلسات القصيرة فى ساقية عبد المنعم الصاوى فى مختلف الأقسام متضمنة تصميم مواقع , البرمجة , الشبكات و الأستخدام المتقدم لنظام جنو/ليونكس.
بالأضافة الى عرض كيفية تنزيل جنو/ليونكس , و كيفية الأعداد لدعم اللغة العربية كل يوم سبت من كل أسبوع طوال شهر ديسمبر من الساعة ٣ عصرا و حتى ٧ مساء .
و أيضا اذا كان عندك أى سؤال متعلق بجنو/ليونكس , أو أذا كنت ترغب فى تجربتة , أو تحتاج الى مساعدة فى عملية التنزيل على جهازك الخاص فيمكنك الأنضمام ألينا كل يوم السبت و مقابلة أعضاء eglug. يمكنك تصفح جدول مواعيد الأحداث لشهر ديسمبر فى
@ http://www.eglug.org/event/calendar/2004/12/
For the next month we will organize a series of special short sessions at Al Sakia from a variety of topics covering Web Development, Programming, Networking and Advanced GNU/Linux usage.
Every Saturday during the month of December from 3 p.m to 7 p.m, we will demonstrate how to install a desktop GNU/Linux and adjust it to fully support the Arabic language.
Also if you have any questions about Linux, or you just want to try it or need help installing it on your computer join us on Saturdays and meet the EGLUG.org members.
you can browse our event agenda for the month of december @ http://www.eglug.org/event/calendar/2004/12/
here we work on translating articles.
Here will be a translation of a series of tutorials by Daniel G. Taylor about InkScape vector drawing application.
الهدف من هذة السلسلة هو تعلم كيف تستخدم هذا البرنامج لعمل أيقونات متميزة.
Inkscape محرر ممتاز للرسوم القابلة لتغيير حجمها SVG. يمكن عن طريقه عمل أيقونات رائعة بسهولة.فى هذا الجزء سوف تتعلم كيف تعد صفحتك لعمل أيقونات.
لنبدأ برنامجنا Inkscape. ستقابلك صفحة بهذا الشكل:
على جانب الصفحة تجد أزرار الأداوات، و أعلى الصفحة أزرار خاصة بكل أداة. اذا تركت المؤشر فوق أحد الأزرار سيظهر تلميح عن وظيفة الزر. يمكنك روئية حدود الورقة (الوثيقة) التى سترسم بداخلها.
يجب اعداد الورقة قبل البدء فى رسم الأيقونات. عادة ما تكون الايقونات مربعة لذا وجب اعداد الصفحة بحيث تكون مربعة أيضا.
من قائمة الحوارات (Dialogs menu), أضغط على أختيارات (Document Options). ستظعر نافذة مثل التالية. قم بتغير طول و عرض الورقة ليصيرا متساويان، فى حالتنا سنختار 64×64 و هو الحجم المتعارف عليه للأيقونات.
بعد ذلك، أستخدم عجلة الفأرة أو المتزلجات الجانبية و السفلية لنافذة InkScape الرئيسة لنوسط الورقة.
ثم، أستخدم مفتاح الـ + أو الـ - على لوحة مفاتيحك لتكبير ورقتنا. يمكنك أيضا أستخدام أداة الزووم فى الناحية السفلية على الجهة اليسرى من النافذة الرئيسة هكذا:
يمكنك كتابة أى قيمة تكبير تختارها فى هذا المربع.
الأن نحن على اتم الأستعداد للبدأ فى الرسم. لنختار (Fill and Stroke) و (Item Properties) من قائمة الحوارات (Dialogs menu). حرك هاتان النافذتان ليكونا فى وضع مريح لك، كهذا المثال :
لنصنع أول ايقونة، فلغرد التبسيط سنصنع أيقونة مبسطة تماما، سوف تستخدم كمؤشر التواجد فى برنامج Gossip.
هل انت مستعد لعمل أول أيقونة على أنكسكايب ؟
ستتعلم معظم الأدوات التى قد تحتاجها لعمل أيقونات. الأيقونة التى سنرسمها سيكون شكلها هكذا:
>>ICON
أبدء برنامج Inkscape و جهز ورقتنا كما هو مكتوب فى الأسس.
>>SCREEN SHOT
أجعل أسلوب الملء (Fill Style) للمتدرج (Gradient) نافذة المتدرجات (Gradients Dialogue) شكلها هاكذا
>>>Screeshot
التنصل :
العديد من مواقع المشاريع بتحط رابط لهذه الوثيقة فى صفحة كيفية طلب المساعدة الخاصة بموقعهم. شيئ جميل . ده الاستخدام المقصود -- لكن لو انت مسئول عن موقع و بتحط الرابط ده فى موقع مشروعك , يا ريت توضح قريب من الرابط ان احنا مش الدعم الفنى المخصوص بالمشروع بتاعك !
احنا اتعلمنا بالطريقة الصعبة ان من غير الملحوظة دى هيتكرر اننا نستقبل رسائل مؤرفة كتير جدا من مجموعة مهاطيل معتقدين ان احنا بنشرنا للوثيقة دى نكون مسئولين عن حل المشاكل التقنية فى العالم كله.
لو كنت بتقرأ هذه الوثيقة بحثا عن مساعدة , و مشيت و انت واخد الانطباع ان انت ممكن تحصل عليها مباشرة من المؤلفين , يبقى انك واحد من المهاطيل المذكورين , لا تسألنا اى أسئلة , هنتجاهلها, احنا هنا علشان نوريك ازاى تحصل على المساعدة من الناس اللى فى الواقع يعرفوا عن البرامج او المعدات اللى انت بتتعامل معها, لكن بنسبة ٩٩% مش هيكونوا احنا, الا لو انت متأكد ان واحد من المؤلفين خبير فى الشيئ اللى بتتعامل معاه , سيبنا فى حالنا و الجميع هيكون مبسوط اكثر .
مقدمة:
فى دنيا الهاكرز نوع الاجابات اللى بتحصل عليها لاسئلتك التقنية يعتمد على الطريقة اللى بتسأل بها زى ما بيعتمد على صعوبة استنتاج الاجوبة , الدليل ده هيعلمك ازاى تسأل بطريقة تزود من فرص حصولك على الاجوبة التى ترضيك .
حاليا استخدام المصادر المفتوحة انتشر , عادة يمكنك الحصول على أجوبة من من مستخدمين اخر اكثر خبرة غير الهاكرز , ده شيئ جيد , المستخدمين بيميلوا لانهم يكونوا أكثر تسامحا مع نوع الفشل بتاع المبتدئين , لكن لا يزال التعامل مع المستخدمين الأكثر خبرة مثل الهاكرز بالطرق اللى بنقترحها هنا هيوصلك عامة لتخريج أحوبة مفيدة منهم, أيضا .
أول حاجة تفهمها ان الهاكرز فى الواقع بيحبوا المشاكل الصعبة , و الاسئلة الجيدة المثيرة للتفكير عن هذه المشاكل , لو لم نكن لما كنا هنا , لو اعطيتنا سؤال مثير للاهتمام نتسلى بيه هنكون شاكرين , الاسئلة الجيدة حافز و هدية , الاسئلة الجيدة بتساعدنا على تطوير فهمنا , و عادة بتكشف مشاكل يمكن مكناش لاحظناها أو فكرنا فيها , بين الهاكرز "سؤال جيد!" يعتبر تقدير قوى و مخلص .
على الرغم من هذا , الهاكرز لهم سمعة عن مقابلة الاسئلة البسيطة بما يبدو كعدوانية أو غرور , فى بعض الاحيان يظهر بشكل انعكاسى اننا وقحين مع المبتدئين و الجاهلين , لكن ده مش حقيقى فعل ا
احنا بدون اعتذار عدوانيين تجاه الناس الذين لا يبدو ان عندهم الرغبة فى التفكير او عمل واجباتهم المنزلية قبل ان يسألوا , ناس زى دول بيشفطوا الوقت -- بياخذوا و لا يردوا , بيضيعوا وقت كان من الممكن انوا يستخدم فى الرد على سؤال اخر اكثر اهمية و شخص اخر احق بالرد عليه , الناس دول بنطلق عليهم الفشلة .
تعريف البرمجيات الحرة!
نحن نتيح هذا التعريف لتوضيح ما يجب ان يتحقق لبرنامج ما حتى يعتبر حرا.
الfree softwareـ مسالة حريات لا سعر.(فى الانجليزية كلمة free ـ قد تعنى حر او مجانى).
المقصود بحرية البرمجيات هو حرية مستخدمى البرامج فى تشغيل و نسخ و توزيع و دراسة و تعديل البرمجيات. مصطلح حرية البرمجيات يشير بالتحديد الى اربع حريات للمستخدم:
البرنامج حر ان كان لمستخدميه كل هذه الحريات , اذن يجب ان يكون لك الحق فى اعادة توزيع نسخ معدلة او غير معدلة , مجانا أو مقابل أجر التوزيع، لاى فرد فى اى مكان. و ان يكون لك مطلق الحرية فى كل هذا بدون ان تطلب او تشترى اذن احد.
يجب أيضا ان يكون لك الحرية فى تعديل البرنامج و استخدام التعديلات فى عملك او لعبك دون ذكر لوجود هذه التعديلات من عدمه. و يجب الا يكون لزاما عليك ابلاغ اى فرد او جهة كى تنشر تعديلاتك.
الحرية فى استخدام البرنامج تعنى حرية اى فرد او مؤسسة فى استخدام البرنامج على اى نظام حاسوبى فى اى غرض بدون الاضطرار للاتصال بمبرمجى و مطورى البرنامج او اى جهة اخرى.
حرية اعادة توزيع نسخ من البرنامج يجب ان تشمل الحق فى توزيع نسخ (معدلة و غير معدلة) رقمية binaryـ قابلة للتشغيل بالاضافة الى المصدر البرمجى. توزيع نسخ قابلة للتشغيل مباشرة ضرورى للحصول على نظام تشغيل حر و سهل و مريح فى الاستخدام. لا توجد مشكلة لو كان من المستحيل انتاج نسخ رقمية (بعض لغات البرمجة لا تتيح ذلك)، لكن يجب ان يحق لك توزيع نسخ كهذه فى حالة توفر سبل لانتاجها.
ليكون هناك اى معنى لحرية تعديل و نشر تحسينات للبرنامج يجب ان يتوفر لك المصدر البرمجى. بالتالى ان اتاحة المصدر البرمجى تعتبر شرط اساسى لحرية البرمجيات.
ولكي تكون هذه الحريات حقيقية، يجب ان تكون غير قابلة للنقض طالما لم تخطيء،و اذا كان بامكان مطور البرنامج نقض الترخيص بدون اعطاء اسباب يكون البرنامج غير حر. ولكن هناك بعض القواعد المقبولة في طريقة توزيع البرامج الحرة، في حالة عدم تعارضها مع مبدأ الحريات. على سبيل المثال copyleft قاعدة تنص على عدم القدرة على وضع عوائق تمنع الآخرين من الحريات الاربع. هذه القاعدة لا تتعارض مع تلك الحريات ولكن تحميها.
original document by Richard Stallman of the Free Software Foundation