This is Articles Section in the Wiki


here we put things that don't fit in any other place.

.ape files

The trap, Windows users never think about the users of other Operating systems.

I've downloaded a .ape file, Sure I didn't know this before the download completed.

Now what ? a bit of googling showed me that this is a monkey audio format or whatever it's called.

Looks like there's something called cue2wav that can solve it but the page seems down or whatever.

Anyway I failed to build the SDK and I'm using the linux port to get a wav. Now that I have a wav let's split it. The guy was nice to include a "cue" sheet so let's get a list of breakpoints:

cuebreakpoints foo.cue 3:29.56 8:13.37 13:43.38 23:07.40 32:03.08 34:56.09 39:28.47 45:06.34 49:30.71 54:25.68 59:14.67

Then we can feed them to shntool and split the file. shntool split foo.wav "it'll read the split points from stdin!".

About the upcoming SSTE Conference

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

Codename: Robert Paulsen (CodeX)

This document should serve as an open agenda to help in organizing the first episode of a computer and network security-related convention in Egypt. The final name is to be determined at a later stage. Aims and goals: Executive conceptions: Processes: Events: Other than this, the following is a list of the possible topics for the talk sessions: In case no theme is adapted (or the special event won't be related to the theme), several ideas could be implemented: Possible suggestions could include:

Community Webserver suggestion

Community Web Server


through our FOSS advocacy activities we introduced a bunch of NGOs to the concept of CMS systems, and explained the power, ease of use and affordability of the LAMP web application stack.

this turned out to be a killer FOSS application, our audience never saw anything like that before.

we did a couple of sessions on the Drupal CMS system, they where extremely popular and the feedback we got from the attendants (mostly web newbies with 0 GNU/Linux experience) showed that it was an empowering experience.

EGLUG is interested in anything that encourages people to adopt FOSS technologies, we're also interested in community development and initiatives to make computing more affordable and accessible using FOSS.


  • very few local websites for small organizations and individuals
  • NGOs, artists, researchers etc would benefit from having websites
  • companies working on the field offer static websites most of the time
  • static is hardly useful for people who create and produce content on a regular basis
  • static does not enable the website to build a community of readers and contributors, such communities proved to be essential in producing more quality content
  • the few companies that offer dynamic websites are focused on enterprise and are too expensive for smaller organizations and individuals
  • even if an NGO can afford the price the periodic cost of hosting is typically inflated and the solutions sold tend to be custom built with little regard for usability, end result is high cost of maintenance and dependence on single vendor
  • the high cost and complexity force a model where specialists are the only people empowered to update the website
  • and easy dynamic website offers the possibility of removing all middle men and allowing content producers/authors to publish it directly and interact with their audience
  • a casual attitude towards the web and rapid edit/publish cycles have proved to be very effective tools for many organizations, the current culture around the web in Egypt prevents the use of tools like Wikis and Blogs.
  • often commercial solutions push features not really required by the clients and discard features that may be essential
  • almost all companies working o the field only understand commercial enterprises, a website to them is a marketing vehicle not a source of information or a community hub or an outlet for self expression
  • LAMP stack offers the cheapest and most reliable webapplication platform, it runs 60+% of the web according to NetCraft yet few Egyptian companies offer solutions built on top of it
  • the few companies that do offer solutions built on the LAMP stack ignore the wealth of prepackaged FOSS CMS and webtools
  • using a well supported FOSS tools means you're not tied to your original vendor, there are many channels of support and the tool adapts to emerging webtrends and technologies
  • the even fewer companies who do use CMS systems (I only know of two) do not offer customization, are not involved in the FOSS developers community and don't seem to keep updated with changes in the community/technology
  • no local commercially built website respects web-standards or accessibility guidelines
  • lack of awareness of how cheap and easy FOSS CMS systems are
  • lack of prepackaged localized web-applications make it harder to build local websites using FOSS CMSs
  • no integration, content sharing or any form of cooperation between local websites
  • little local content, few local web communities.
  • lack of visibility for local websites (this can be verified by simple Google searches, trying to search for very generic Arabic words and in many cases you'll get EGLUG on the first 10 results, EGLUG has only a handful of Arabic articles, is a low traffic website and is not extensively linked to there is no reason for it to rank high if it wasn't for the lack of other websites that match or the extremely low visibility they have)

what else


for the above problem to be truly resolved a broad range of webservices providers should exist, including non for profit and volunteer based providers and providers building on all sorts of technologies and targeting all sorts of markets.

  • assure people the web is easy
  • demystify the web and its associated technologies
  • introduce new technologies
  • raise awareness of community models
  • provide a platform for local content
    • should be affordable
    • should be extremely easy to use
    • ease of use should not compromise power or flexibility
    • should be localized
    • should be well supported
    • should provide possibilities for integration and content aggregation between various websites
    • should enforce/encourage web-standards and accessibility guidelines
    • should provide good community building tools
  • encourage an attitude here the web is considered important but not a holy unapproachable entity
  • collect and transfer experience on building. maintaining and running websites and web communities
  • have a local developer community ready to help customize and adapt the platform


we can contribute to solving this problem by offering people a fully localized stable, easy to use and flexible platform for web-publishing, coupled with dedicated maintainers, and support.

this platform if run by competent administrators can adapt to any new technologies and encourage content creators and publishers to adopt standards and best practices.

technical solution

EGLUG can cooperate with a partner to setup and administer a community Webserver.

  • the server will be run by volunteers from EGLUG
  • the server will be based on FOSS web technologies
  • the server will provide free or ultra cheap hosting for NGOs, artists, researchers etc.
  • will provide an integrated environment with a small set of content management system tools
  • will provide a preinstalled environment with a large amount of preconfigured modules
  • volunteer developers will be available to write any extra modules required by the content publishers
  • the EGLUG volunteers will be in touch with the developers of the CMS tools, to act as a proxy for the publishers communicating their needs and feedback
  • standards will be more or less enforced by the EGLUG volunteers, parallel training activities should explain the importance of standards to the publishers
  • EGLUG volunteers will develop portal/directory/aggregator websites covering the content published on the server to give the content more visibility
  • the portal will contain community features to encourage publishers to communicate together through it and encourage collaboration
  • server might include areas for individual Blogs so say members and employees of an organization that has a website on the server can have a personal space for their own use.
  • EGLUG volunteers will setup a central support and issue tracking public system

EGLUG Presentation in central EL-Fawala

In order to collect all EGLUG document in text format to ease search on them . and this highlights the need of a place to store Eglug Documents This presentation was on Central El-Fawala.

GNU/Linux and Open Source

Egyptian GNU/Linux users' Group

Presented to Telecom Egypt

October 5 , 2004

What is free software ?

  • Free software has to do with freedom.
  • Free software has nothing to do with price.
  • Think of "free speech", not "free food".
  • word "free" has multiple, disjoint meanings in English.
  • The birth of Free Software
  • Richard M. Stallman
  • 1984 Stallman start GNU.
  • Stallman graduated from Harvard in 1974 with a BA in physics
  • Freedom to run the program ,for any purpose(0)
  • Freedom to study how the program works , and adapt it to your needs (1)
  • Freedom to redistribute copies so you can help your neighbor (2)
  • Freedom to improve the program, and release your improvements (3)

GNU - Is Not Unix

  • A complete users work space programs
  • All free software
  • Unix like
  • Use existing components
  • Free Software Foundation
  • GNU Development tools

What is Linux?

  • A UNIX-like Operating System, created from scratch.
  • Free of minix code
  • Linus Trovalds
  • released linux as an alternative to minix
  • open development process
  • anyone can contribute

What is Linux core "kernel" ?

  • By 1991 GNU was still missing the kernel .
  • perform many low level and system level functions.

communicates with hardware

  • Devloped by developers around the world.
  • Capable of running on tiny embedded systems (PDAs, robots, DSL routers) as well as the largest mainframes.

A GNU/Linux Timeline

  • 1984 Stallman starts GNU and the FSF.
  • 1990 GNU finished full user work space
  • 1991 Linus posts about a 'Linux'
  • 1991 Oct Linux Ver 0.02 Released
  • 1993 Dec 100,000 estimated users
  • 1994 Mar Linux 1.0 Released (500,000)
  • 1996 June Linux 2.0 Released (3,500,000)
  • 1998 Mar 7,500,000 estimated users
  • 2000 Jan ???? till now

What is “Open Source?”

  • “Open Source” is a kind of software license (a kind of “End User License Agreement”)

What is “Open Source?”

  • It doesn't just mean “Access to the source-code”
  • The license must not restrict anyone from selling or giving away the software
  • The program must include the source code, and allow distribution
  • The license must allow for derived works and other modifications to be released under the same license
  • The license must not discriminate against persons or groups
  • The license must not discriminate against fields of endeavor (e.g., it cannot say “For educational use only”)

Who we are ?

  • Our goals are very simple. We have discovered GNU/Linux and want to talk to others who have made the same discovery.
  • We are experts and novices, professionals and hobbyists, young and old. Whoever you are, we hope we have something for you.
  • We have many contributes in advocate ,train and support for Linux community in Egypt

Why choose Open Source?

  • Open Source is Flexible
  • The source code is available, so it can be altered to suit your needs.
  • A program can change in ways the author never intended or dreamed of!
  • Open Source is Inexpensive
  • Up front costs for the software are nil!
  • Because the source is available, anyone can learn how software works, so support can become *competitive; and therefore cheap!

Why choose Open Source?

  • Open Source developers are motivated
  • Most developers of Open Source are doing it because they have a need or a want to; they are *not simply programmer drones at a huge corporation!
  • Better Security, and fewer bugs!
  • Accidental (or malicious) bugs are found quickly, since anyone and everyone can examine the code.
  • Viruses, “spyware,” etc. are almost non-existent!
  • Actual bugs are fixed quickly, and in the open.

Why choose Open Source?

  • The code will survive!
  • While the loss of a major corporate contributor may be a deterrent, it will never mean the death of a piece of Open Source software.
  • The code will always be out there, since it can always be passed along!

You can contribute!

  • Even if you cannot help write the software, you can contribute with bug reports, feature requests, etc.

Why Switch to Linux?

  • Many are frustrated with bugs, viruses, and crashes.
  • Others are sick of spyware, pop-up ads, and having their computers hijacked to attack others or send spam.
  • Some are tired of recurring costs (both new versions of software, and new hardware just to run it!)
  • Finally, many have major concerns with new licensing that takes away their rights and invades their privacy!

Other Reasons to Use Linux

  • Linux is a powerful multitasking, multi-user operating system
  • The underlying OS and tools are separate from the graphical environment (GUI), so it is more well suited as a server. (It can run powerful servers on less powerful hardware.)
  • It runs web servers, databases, email, print servers, file shares...
  • Where does Linux run?
  • Embedded systems
  • TiVo & entertainment systems
  • Robots
  • PDAs / hand held computers
  • Cellphones
  • Gateways, server appliances, wireless access points
  • Point-of-sale systems (cash registers)
  • Licensing cost for the Linux OS itself is $0.
  • Compared that to commercial embedded OSes!

Where does Linux run?

  • Variety of CPU architectures
  • “IBM Compatible” PCs
  • 386, 486, 586, Pentium
  • Next generation PCs
  • Itanium, AMD64/Opteron
  • Motorola 68000 / PowerPC
  • Apple Macintosh, Atari ST, Amiga, etc.
  • Alpha
  • ARM
  • IBM S/390
  • MIPS
  • Sparc

Where does Linux run?

  • Giant Mainframes & Clusters
  • IBM, HP and others sell Linux-based systems
  • Some make their own large systems out of hundreds, or thousands of commodity systems (clusters)

Users include:

  • Google (search engine)
  • Amazon (e-commerce site)
  • Dreamworks (animated motion pictures)
  • NASA
  • US National weather service
  • Other government & military

Where does Linux run?

  • Thin Clients (and servers)
  • Linux servers store and run applications, and store all user data.
  • Extremely low-end Linux clients display the applications.
  • Used in schools and colleges, and some small businesses.

Why Linux is secure?

  • Linux is one of the most secure operating systems. “Walls” and flexible file access permission
  • systems prevent access by unwanted visitors or viruses.
  • Linux is process centric.
  • No one can change the settings of the system except one user account (root).
  • Remote administration made easy through command line tools.

Governments Switching to Linux and Open Source!

  • Britain's National Health Service considering (December 2003)
  • Brazil leaning away from Microsoft (November 2003)
  • “Vietnam embracing open-source products” (October 2003)
  • Massachusetts mandates open source; locks horns with Microsoft(October 2003;)
  • “Israel slams the door on Microsoft” (October 2003)
  • UK Office of Government Commerce (October 2003)
  • “Japan, China, Korea may develop Windows replacement”(August 2003)

</p> >

  • Linux reaches Afghanistan (July 2003)

    Not ready for Linux?

    • Use Open Source anyway!
    • Countless applications have been released as Open Source
    • Much is developed specifically for Linux
    • However, much is either designed with other platforms in mind, or gets 'ported' later!
    • Some major commercial applications were later released as Open Source software!
    • Some Open Source software you can use M$
    • Mozilla – Web Browser
    • Netscape code base was released “into the wild”
    • It is now one of the most standards-compliant browsers
    • Developers design it to be user-oriented, rather than creating yet another means to serve advertising
    • AOL now uses Open Source Mozilla project as a basis for commercial Netscape releases!!!

    Mozilla Browser

    • Screenshoot of Mozilla browser

    Mozilla Mail

    • and Usenet News reader
    • Screenshoot of Mozilla Mail

    Examples of Open Source software you can use on M$ – Office productivity suite

    • German “StarOffice” suite was purchased by
    • Sun Microsystems and released as Open Source
    • Has a high degree of Microsoft Office compatibility
    • Can export directly to PDF
    • Includes integrated Word Processor, Spreadsheet, Presentation, and Drawing apps
    • Screenshoot of Mozilla browserLike AOL/Netscape does with “Mozilla,” Sun now uses as a basis for their commercial “StarOffice” product Writer

    • Screenshoot of oowriter Calc

    • sceenshoot of oocalc

    Examples of Open Source software you can use M$

    The Gimp – Graphics manipulation software.

    • Originally developed for Linux and Unix by students at UC Berkeley
    • Handles photo retouching, image composition, image authoring, and file format conversion
    • Includes layers, filters, full script-ability, batch processing capabilities, and much


    • Often dubbed “a free replacement for PhotoShop”

    The Gimp

    • screenshoot of the GIMP

    Examples of Open Source software you can use M$

    Flight Gear – Flight simulator

    • Goals include:
    • Creating a sophisticated simulation framework for research and academic environments
    • For development and pursuit of other simulation ideas
    • And, of course, as an end-user application

    Examples of Open Source software you can use on M$

    GCC – The GNU C Compiler

    • Famous Open Source compilers for C, C++, Java and Fortran
    • Ported to countless CPU architectures
    • Capable of cross-compiling between architectures

    Examples of Open Source software you can use on M$

    Audacity – Audio editor

    • Sound record and playback
    • Import and export, WAV, MP3, AIFF and more
    • Edit, mix and apply effects to sounds
    • Additional effects can be added via plug-ins

    Examples of Open Source software you can use on M$

    • Celestia – Real-time space simulation
    • Full 3D graphics
    • Visit the Solar System
    • Visit hundreds of thousands of stars

    Examples of Open Source software you can use TODAY

    Tux Paint – Drawing for young children

    • Easy enough for 3-year-olds
    • Can be 'locked down' (full-screen display, disable “Quit” and “Print” buttons, etc.)
    • Translated into over 30 languages

    Get Open Source Software!

    GNU Win II

    • A free software compliation for Windows.
    • Download any/all programs from the website.
    • Purchase a CDROM with select titles

    Get Open Source Software!

    Open Source Software CD

    • Another free software compliation for Windows.
    • Includes only software for a broad audience, which has been thoroughly tested.

    Get Linux

    • (No-commitment!)

    Knoppix - “Live CD” of Linux

    • NOT an install disc.
    • Doesn't place Linux on your hard disk...
    • Runs completely from CDROM!
    • When you're done, shut down and remove the disc; reboot and you're back in Windows!
    • Known for it's ability to detect
    • most hardware peripherals
    • without any configuration!
    • Sometimes used as an “emergency”
    • boot disc to recover a dead Windows system!

    Get Linux

    • (No-commitment!)

    Phaeronix - “Live CD” of Linux

    • an install disc.
    • Doesn't place Linux on your hard disk...
    • Runs completely from CDROM!
    • When you're done, shut down and remove the disc; reboot and you're back in Windows!

    Known for it's ability to detect

    • most hardware peripherals
    • without any configuration!
    • made by Egyptian volunteer
    • He is member of EGLUG.

    Linux Users Desktop

    • screen shoot of latest KDE

    Linux Users Desktop

    • screen shoot of latest KDE,showing the transparency.

    Linux Users Desktop

    • GNOME User desktop

    Linux Users Desktop

    • Other Window manger

    Linux Users Desktop

    • Window manger looks like XP


    *We would like to express about our grateful thanks to whom stand for finishing this seminar.


    • Eng.Mohamed Abou-Quresh.

  • EGLUG contributed Drupal modules


    Captcha module patch, to support those with textish browsers

    Since the captcha can only be read using graphical browsers, I thought of this idea to enable users with textish browsers to read the captcha code too.

    It's not secure though. Since the captcha code gets printed in a HTML tag (that's how textish browsers can read it), a script can read the code and bypass your captcha protection. I don't recommend applying the patch if you are going to use captcha in anything other than fighting spam comments :).


    --- captcha.module.orig	2005-01-19 17:00:08.000000000 +0200
    +++ captcha.module	2005-03-05 00:12:03.921875000 +0200
    @@ -83,9 +83,10 @@
       if (_captcha_istrue("captcha_user_register") && !$newuser->uid && !$user->uid)
       switch ($type) {
         case t("register"):
    -    // Add two items to the resigtration form.
    +    $string = _captcha_code();
    -    $output .= form_item("", '<img src="/'.url('captcha/image/'.time()).'" alt="Captcha Image: you will need to recognize the text in it."/>');
    +    // Add two items to the resigtration form.
    +    $output .= form_item("", '<img src="/'.url('captcha/image/'.time()).'" alt="Captcha: '.$string.'"/>');
         $output .= form_textfield(t('Word'), 'captchaword', NULL, 15, 15, 'Please type in the letters/numbers that are shown in the image above.', NULL, TRUE);
         return array(array('title' => t('Verify Registration'), 'data'=>$output));
    @@ -137,7 +138,8 @@
         case 'form':
           if (sess_read('captcha_comment_correct')!='ok') {
    -        $output .= form_item("", '<img src="/'.url('captcha/image/'.time()).'" alt="Captcha Image: you will need to recognize the text in it."/>');
    +	$string = _captcha_code();
    +        $output .= form_item("", '<img src="/'.url('captcha/image/'.time()).'" alt="Captcha: '.$string.'"/>');
             $output .= form_textfield(t('Word'), 'captchaword', NULL, 15, 15, 'Please type in the letters/numbers that are shown in the image above.', NULL, TRUE);
             return form_group(t('Verify comment authorship'), $output);
           } else return NULL;
    @@ -206,7 +208,7 @@
         header('Content-type: image/png');
    -    $string = _captcha_code();
    +    $string = sess_read('captcha');
         //set up image, the first number is the width and the second is the height
         $im = imagecreatetruecolor(120, 20);


    I'm stil having some problems with the wiki formatting breaking, But i think I'll dump the diff as it is without applying filters.
    It's in the unified diff format and not colored! It's inline diff, The underlined lines are new, The striked ones are deleted.
    I gave the admins and mods the permission to access it until I fix all of the remaining things.
    * diff to previous/next/beginning.
    * Admin interface to choose unified or inline diff.
    * Find a way to highlight.
    * Try to write the diff code instead of using pear. <?php

     * @file
     * Provides functionality to show a diff between two node revisions.

     * Number of items on one page of the revision list.

     * Implementation of hook_help().
    function diff_help($path$arg) {
      switch (
    $path) {
    $output '<p>'t('The diff module overwrites the normal revisions view. The revisions table is enhanced with a possibility to view the difference between two node revisions. Users with the %view_revisions permission will also be able to view the changes between any two selected revisions. You may disable this for individual content types on the content type configuration page. This module also provides a nifty %preview_changes button while editing a post.', array('%preview_changes' => t('View changes'), '%view_revisions' => t('view revisions'))) .'</p>';
    // the following string is copied from string copied from node_help('node/%/revisions')
    return '<p>'t('The revisions let you track differences between multiple versions of a post.') .'</p>';
    '<p>'t('Comparing two revisions:') .'</p>';

     * Implementation of hook_menu().
    function diff_menu() {
    $items = array();

       * By using MENU_LOCAL_TASK (and 'tab_parent') we can get the various revision-views to
       * show the View|Edit|Revision-tabs of the node on top, and have the Revisions-tab open.
       * To avoid creating/showing any extra tabs or sub-tabs (tasks below top level) for the
       * various paths (i.e. "Diff", "Show latest" and "Show a specific revision") that need
       * a revision-id (vid) parameter, we make sure to set 'tab_parent' a bit odd.
       * This solution may not be the prettiest one, but by avoiding having two _LOCAL_TASKs
       * sharing a parent that can be accessed by its full path, it seems to work as desired.
       * Breadcrumbs work decently, at least the node link is among the crumbs. For some reason
       * any breadcrumbs "before/above" the node is only seen at 'node/%node/revisions/%/view'.
    $items['node/%node/revisions/list'] = array(
    // Not used directly, but was created to get the other menu items to work well
    'title' => 'List revisions',
    'page callback' => 'diff_diffs_overview',
    'access callback' => 'diff_node_revision_access',
    'access arguments' => array(1),
    'file' => '',
    $items['node/%node/revisions/view/%/%'] = array(
    'title' => 'Diff',
    'page callback' => 'diff_diffs_show',
    'page arguments' => array(145),
    'type' => MENU_LOCAL_TASK,
    'access callback' => 'diff_node_revision_access',
    'access arguments' => array(1),
    'tab_parent' => 'node/%/revisions/list',
    'file' => '',
    $items['node/%node/revisions/view/latest'] = array(
    'title' => 'Show latest diff',
    'page callback' => 'diff_latest',
    'page arguments' => array(1),
    'type' => MENU_LOCAL_TASK,
    'access callback' => '_node_revision_access',
    'access arguments' => array(1),
    'tab_parent' => 'node/%/revisions/view',
    'file' => '',
    $items['node/%node/revisions/diff-inline'] = array(
    'page callback' => 'diff_inline_ahah',
    'page arguments' => array(1),
    'type' => MENU_CALLBACK,
    'access callback' => 'diff_node_revision_access',
    'access arguments' => array(1),
    'file' => '',

     * Implementation of hook_menu_alter().
    function diff_menu_alter(&$callbacks) {
    // Overwrite the default 'Revisions' page
    $callbacks['node/%node/revisions']['page callback'] = 'diff_diffs_overview';
    $callbacks['node/%node/revisions']['module'] = 'diff';
    $callbacks['node/%node/revisions']['file'] = '';

    $callbacks['node/%node/revisions/%/view']['tab_parent'] = 'node/%/revisions/list';
    $callbacks['node/%node/revisions/%/revert']['tab_parent'] = 'node/%/revisions/%/view';
    $callbacks['node/%node/revisions/%/delete']['tab_parent'] = 'node/%/revisions/%/view';


     * Access callback for the node revisions page.
    function diff_node_revision_access($node$op 'view') {
    $may_revision_this_type variable_get('enable_revisions_page_'$node->typeTRUE) || user_access('administer nodes');
    $may_revision_this_type && _node_revision_access($node$op);

     * Implementation of hook_block().
    function diff_block($op 'list'$delta 0$edit = array()) {
      if (
    $op === 'list') {
        return array(
    'inline' => array('info' => t('Inline diff')));
      elseif (
    $op === 'view' && $delta === 'inline' && user_access('view revisions') && $node menu_get_object()) {
    $block = array();
    $revisions node_revision_list($node);
        if (
    count($revisions) > 1) {
    $block['subject'] = t('Highlight changes');
    $block['content'] = drupal_get_form('diff_inline_form'$node$revisions);

     * Implementation of hook_nodeapi().
    function diff_nodeapi(&$node$op$teaser$page) {
      if (
    $page && $op == 'view' && user_access('view revisions') && variable_get('show_diff_inline_'$node->typeFALSE)) {
    // Ugly but cheap way to check that we are viewing a node's revision page.
    if (arg(2) === 'revisions' && arg(3) === $node->vid) {
    $node->content = array('#value' => diff_inline_show($node$node->vid));
    $node->content['#prefix'] = isset($node->content['#prefix']) ? "<div id='diff-inline-{$node->nid}'>" $node->content['#prefix'] : "<div id='diff-inline-{$node->nid}'>";
    $node->content['#suffix'] = isset($node->content['#suffix']) ? $node->content['#suffix'] . "</div>" "</div>";

     * Implementation of hook_form_alter().
    function diff_form_alter(&$form$form_state$form_id) {
      if (isset(
    $form['type']['#value']) && $form['type']['#value'] .'_node_form' == $form_id) {
    // Add a 'View changes' button on the node edit form.
    if (variable_get('show_preview_changes_'$form['type']['#value'], TRUE) && $form['nid']['#value'] > 0) {
    $form['buttons']['preview_changes'] = array(
    '#type' => 'submit',
    '#value' => t('View changes'),
    '#weight' => 12,
    '#submit' => array('diff_node_form_build_preview_changes')
      elseif (
    $form_id == 'node_type_form' && isset($form['identity']['type'])) {
    // Node type edit form.
        // Add checkbox to activate 'View changes' button per node type.
    $form['workflow']['diff'] = array(
    '#title' => t('Diff'),
    '#type' => 'item',
    '#tree' => FALSE,
    $form['workflow']['diff']['show_preview_changes'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show %preview_changes button on node edit form', array('%preview_changes' => t('View changes'))),
    '#weight' => 10,
    '#default_value' => variable_get('show_preview_changes_'$form['#node_type']->typeTRUE),
    $form['workflow']['diff']['show_diff_inline'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show diffs inline for this content type'),
    '#description' => t("You must enable the 'Inline diff' block to use this feature"),
    '#weight' => 10,
    '#default_value' => variable_get('show_diff_inline_'$form['#node_type']->typeFALSE),
    $form['workflow']['diff']['enable_revisions_page'] = array(
    '#type' => 'checkbox',
    '#title' => t('Enable the %revisions page for this content type', array('%revisions' => t('Revisions'))),
    '#weight' => 11,
    '#default_value' => variable_get('enable_revisions_page_'$form['#node_type']->typeTRUE),

     * Callback if 'View changes' is pressed.
    function diff_node_form_build_preview_changes($form, &$form_state) {
    $node node_form_submit_build_node($form$form_state);

    // Create diff of old node and edited node
    $rows _diff_body_rows(node_load($form_state['values']['nid']), $node);
    $cols _diff_default_cols();
    $header _diff_default_header();
    $changes theme('diff_table'$header$rows, array('class' => 'diff'), NULL$cols);

    // Prepend diff to edit form
    $form_state['node_preview'] = isset($form_state['node_preview']) ? $changes $form_state['node_preview'] : $changes;

     * Implementation of hook_theme().
    function diff_theme() {
      return array(
    'diff_node_revisions' => array(
    'arguments' => array('form' => NULL),
    'file' => '',
    'diff_table' => array(
    'arguments' => array('header' => NULL'rows' => NULL'attributes' => array(), 'caption' => NULL'cols' => array()),
    'file' => '',
    'diff_header_line' => array(
    'arguments' => array('lineno' => NULL),
    'file' => '',
    'diff_content_line' => array(
    'arguments' => array('line' => NULL),
    'file' => '',
    'diff_empty_line' => array(
    'arguments' => array('line' => NULL),
    'file' => '',
    'diff_inline_form' => array(
    'arguments' => array('form' => array()),
    'file' => '',
    'diff_inline_metadata' => array(
    'arguments' => array('node' => NULL),
    'file' => '',
    'diff_inline_chunk' => array(
    'arguments' => array('text' => '''type' => NULL),
    'file' => '',

     * Render a diff of two strings to a $rows array suitable for use with
     * theme('table') or theme('diff_table').
     * @param string $a
     *   The source string to compare from.
     * @param string $b
     *   The target string to compare to.
     * @param boolean $show_header
     *   Display diff context headers, e.g. "Line x".
     * @return
     *   Array of rows usable with theme('table').
    function diff_get_rows($a$b$show_header FALSE) {
    $a is_array($a) ? $a explode("\n"$a);
    $b is_array($b) ? $b explode("\n"$b);

    $formatter = new DrupalDiffFormatter();
    $formatter->show_header $show_header;
    $diff = new Diff($a$b);

     * Render a diff of two strings into HTML markup indicating additions, changes
     * and deletions.
     * @param string $a
     *   The source string to compare from.
     * @param string $b
     *   The target string to compare to.
     * @return
     *   String containing HTML markup.
    function diff_get_inline($a$b) {
    $diff = new DrupalDiffInline($a$b);

     * Form builder: Inline diff controls.
    function diff_inline_form($form_state$node$revisions) {
    $form = array();
    $form['node'] = array(
    '#type' => 'value',
    '#value' => $node
    $form['revision'] = array(
    '#type' => 'select',
    '#options' => array(=> '< 't('No highlighting') . ' >'),
    '#default_value' => (arg(2) === 'revisions' && arg(3) === $node->vid) ? $node->vid 0,
    '#ahah' => array(
    'path' => "node/{$node->nid}/revisions/diff-inline",
    'wrapper' => "diff-inline-{$node->nid}",
    'method' => 'replace',
      foreach (
    $revisions as $revision) {
    $form['revision']['#options'][$revision->vid] = t('@revision by @name', array(
    '@revision' => format_date($revision->timestamp'small'),
    '@name' => $revision->name,
    $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('View'),
    '#submit' => array('diff_inline_form_submit'),
    '#attributes' => array('class' => 'diff-js-hidden'),

     * Form submission handler for diff_inline_form() for JS-disabled clients.
    function diff_inline_form_submit(&$form, &$form_state) {
      if (isset(
    $form_state['values']['revision'], $form_state['values']['node'])) {
    $node $form_state['values']['node'];
    $vid $form_state['values']['revision'];
    $form_state['redirect'] = "node/{$node->nid}/revisions/{$vid}/view";


    <?php // -*-php-*-
     * Original module by Alaa Abd El Fatah.
     * Modifications to include 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.
     * 04/04/2005: Ported to drupal 4.6 API by Amr Mostafa
     * 29/01/2007: Ported to drupal 4.7 API by Amr Mostafa
     * 24/04/2008: Ported to drupal 5.7 API by Abdelrahman Ghareeb

    function lincount_help($path$arg) {
      switch (
    $path) {
    $output "<p>displays a block with the current Egypt statistics from Linux Counter Project</p>";


    lincount_cron() {
    $file '';
    $ch curl_init($file);
    $data curl_exec($ch);
      if (
    curl_errno($ch) != 0)
    $country variable_get("lincount_country""EG");
    $matches = array();

    $rank $matches[1];
    $country $matches[2];
    $users =  $matches[3] + $matches[4];
    $machines $matches[5];
    $userdensity $matches[6];


    lincount_block($op "list"$delta 0) {
      if (
    $op == "list") {
    $blocks[0]["info"] = t("Linux Counter Statistics");
      elseif (
    $op == "view")
    $country variable_get("lincount_country_long""Egypt");
    $block["subject"] = t("Linux Counter %s Statistics",array("%s" => $country));
    $block["content"] = lincount_display_block();
      else {

    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[] = array('title' => "Get Counted",
    'href' =>""
    $output_array[] = array('title' => "more...",
    'href' => "$country"
    $output .= "<div class=\"more-link\">";
    $output .= theme_links($output_array' | ');
    $output .= "</div>";

    $form['lincount_country'] = array(
    '#type' => 'textfield',
    '#title' => t("Enter the ISO code for the country:"),
    '#default_value' => variable_get("lincount_country""EG"),
    '#size' => 55,
    '#maxlength' => 100);



    lincount and rankvote modules ported to drupal 4.6

    Hello guys,

    I've ported our's lincount and rankvote modules to drupal 4.6 API. So we can move to drupal 4.6 once it's out. I've attached them. You will also find a "comments" file where I wrote some comments I thought they should be reported.

    I will also port BiDi module to drupal 4.6 and hopefully write a better version of it.

    - Amr

    Install fest 2005

    Preparing for 2005 Install fest


    • We need a logo for the installfest
    • We need an advertisement and we need to hang it all over the places.
    • Prepare an email to send to the various egyptian yahoo groups.
    • At the same time, It should be sent to all EGLUG members.
    • Another email after 2 weeks or so when we finalize the fest plan describing what they expect from it.
    • Any questions'll be handled by either posting on the website or by emailing [email protected]
    • Do we need to setup a mailing list so interrested people'll get more frequent updates ?
    • Can we have a camera taking live images during the fest time ?
    • Do we need a sponsor ? Arrange with the culturewheel.
    • Companies to be invited:


    September Install Fest/Mailing List/First Message

    Who We Are?


    We consist mostly of Egyptians from all ages.

    We are all GNU/Linux users and Free/Open Source Software enthusiasts. We are all volunteers.

    Some of us only use GNU/Linux on their computers.

    Some of us are computer professionals and students and some aren't. We have among us expert users and new users.

    Why We Exist

    Because we believe in the Free Software ideals, because we think Open Source makes sense.

    Because we know GNU/Linux is a more powerful platform and we trust Open Source to produce better software.

    Because we think Free/Open Source Software like GNU/Linux is better for Egypt.

    We exist to help all GNU/Linux users, to aid the international Free Software community and to promote the use of Free/Open Source software in Egypt>

    What We Provide

    We provide a space where we can help and support each other in using GNU/Linux for our everyday needs and a medium to communicate our experience and knowledge with GNU/Linux and Free/Open Source Software through our website which includes:

    * A WebForum with 1,250 members and a mailing list with 700 members covering all topics related to GNU/Linux where you'll find answers to all your questions, and help when you need it.

    * Articles and tutorials to help you learn and use GNU/Linux.

    * Free advertising and coverage for local business using or servicing GNU/Linux and Open Source Software.

    We also provide GNU/Linux CDs of the latest versions of Free/Open Source software complete with source code and free documentation. We organize and participate in events where we can advocate and promote Free/Open Source software and help with GNU/Linux.

    and remember you can meet us on the 10st of September.

    just drop by in Al Sakia Cultural Center (26th of July street, Zamalek, under 15th of May bridge) anytime between 9:00 AM and 5:00 PM.

    we'll answer all your questions, we'll show you and let you experience GNU/Linux and other high quality Free/Open Source software, we'll help you install GNU/Linux on your computers and we'll even give you free legal copies to take home and to give to friends and neighbours.

    من نحن؟

    كلنا مستخدمى لينكس و كلنا متحمسين لفلسفة البرمجيات الحرة و المفتوحة المصدر.

    نحن مجموعة من المتطوعين.

    بعضنا يعمل أو يدرس فى مجال تكنولجيا المعلومات و بعضنا مجرد مستخدمين.

    بيننا مستخدمين محترفين و مستخدمين جدد من كل الأعمار.

    لماذا نحن موجودين؟

    لأننا نؤمن بمبادئ البرمجيات الحرة و مقتنعين بفكرة المصادر المفتوحة.

    لأننا نعرف أن جنو/لينكس اقوى و لاننا نثق ان المصادر المفتوحة تنتج برمجيات أفضل.

    لاننا نؤمن ان الجنو/لينكس أكثر ملائمة للمصريين.

    نحن موجودين لدعم كل مستخدمى الجنو/لينكس فى مصر، لنتعاون مع مجتمع البرمجيات الحرة العالمى و لنشر استخدام البرمجيات المفتوحة المصدر فى مصر.

    ماذا نقدم؟

    نحن نقدم مساحة لنتعاون و ندعم بعضنا البعض فى كل ما يخص استخدام الجنو/لينكس و نوفر مجال للتواصل حتى نتبادل الخبرات و نتناقل المعلومات الخاصة بتكنولجيا المصادر المفتوحة، كل هذا من خلال موقع يحتوى على:

    * منتدى الكترونى به 1,2550 عضو و مجموعة بريدية بها 700، تجد بهم اجابات لكل اسئلتك فى شتى مواضيع اللينكس.

    * مقالات و دروس لتساعدكم فى تعلم و استخدام نظم الجنو/لينكس

    • دعاية و تغطية مجانية للشركات المصرية التى تخدم اللينكس و المصادر


    كما نقدم اسطوانات بها أحدث نسخ اللينكس و أخر اصدارات البرامج الحرة و المفتوحة المصدر بالاضافة الى المصادر البرمجية و كتب حرة و مجانية.

    كما ننظم و نشارك فى تجمعات و محافل نعرف فيها بالبرمجيات الحرة و المفتوحة المصدر و ندعو فيها لاستخدام نظم الجنو/لينكس.

    لا تنسوا، يمكنككم مقابلتنا وجها لوجه فى العاشر من سبتمبر.

    تعالوا الى ساقية عبد المنعم الصاوى (شارع 26 يوليو، الزمالك، تحت كوبرى 15 مايو) فى أى وقت فى الفترة من 9:00 صباحا الى 5:00 مساء.

    سنجاوب عن كل أسئلتكم، و سنعرض عليكم و نعطيكم الفرصة لاختبار نظم جنو/لينكس و باقى برامج المصادر المفتوحة، و سنساعدكم فى انزالها على اجهزتكم، بل و سنعطيكم نسخ مجانية و قانونية لتعودوا بها الى منازلكم و توزعونها على معارفكم.



    The Egyptian GNU/Linux User Group (EgLUG GNU/Linux Installfest in Sakia El-Sawy (culturewheel) on the 10th of September from 9:00am to 5:00pm.

    We would like to give you a general idea of some of the things you will be seeing there.

    If you have no idea what is an InstallFest. Make sure to visit this page:

    Traditionally in all installfests, the number one activity on that day will probably be linux installations; as we are sure you know, we will be ready to receive people who arrive with their computers to set linux up on with them.

    For people who are simply curious about linux and who want to know more, we will be demonstrating the operating system and the applications available on it. This covers a fairly large range of things. At the most basic level, we can show you what linux looks like, how it works, and describe how it differs from what you are used to, and why we feel this is better.

    On a more specific level, there will be volunteers ready to show you how many different and specific tasks can be accomplished under linux, such as programming with visual tools , graphics work, clustering, networking (LANs and some fancy tricks), and all the way up to getting a solid web server up and running in 15 minutes flat.

    We will be there to introduce you to the fascinating world of linux, so it is your questions and interests that matter.

    Thank you for your interest, and hope to see you there.

    [email protected]

    ندعوكم لثانى مهرجان للينكس فى ساقية الصاوى بالزمالك فى العاشر من سبتمبرمن الساعة التاسعة صباحاً حتى الساعة الخامسة مساءً.

    فكرنا أن نعطيكم فكرة عامة عن أنشطة المهرجان.

    هذا اليوم بالأساس مهرجان لتركيب اللينكس، و وفقا لعادات مجتمع اللينكس العالمى النشاط الأساسى فى تلك المهرجانات هو تنزيل و تركيب و ضبط اللينكس لكل من يريد، كما تعلمون لدينا متطوعين مستعدين للمساعدة كل من يحضر جهازه فى انزال اللينكس أو المساعدة فى أى مشكلة تواجههم فى ضبط أو استخدام نظم الجنو/لينكس.

    أما لمن يريد فقط أن يتعرف على نظم اللينكس سنقوم بعرض نظام اللتشغيل و التطبيقات المختلفة و استعراض امكانياته و مزاياه. سنغطى نطاق واسع من المواضيع، فعلى ابسط مستوى سنعرض شكل اللينكس و طريقة التعامل معه بصفة عامة و سنقوم بشرح كيفية اختلافه عن باقى النظم التى اعتدم عليها، و لماذا نظن أن طريقة اللينكس أفضل.

    أما على المستويات المتخصصة نوعا ستجدوا متطوعين مستعدين لعرض المهام المختلفة التى يمكن استخدام اللينكس لتحقيقها ابتدائا من البرمجة البصرية، و رسوم الحاسب و تصميم الجرافيكس، و الشبكات الداخلية (توقعوا أشياء مذهلة فى هذا المجال)، وصولا الى كيفية اعداد خادم صفحات وب متكامل فى أقل من 15 دقيقة.

    نحن موجودين لنعرفكم على عالم الجنو/لينكس المذهل و لذا فالمهم هو اسئلتكم و استفسارتكم.

    نشكركم على اهتمامكم و نرجو أن نراكم فى المهرجان.

    مجموعة جنو/لينوكس مصر

    [email protected]

    Websites announcements

    Khaled Hosny announced it at:

    BooDy announced at:

    Pronco announced at:

    I think all of us who have blogs or any webpage should announce it on his web page too



    YahooGroups That Had Been Informed About The Fest:

    CDs and Pamphlets

    • A CD with win32 FOSS

    Mandrake for fest 2005

    Some ideas:

    • Include kppp

    Phaeronix for fest 2005

    Here we will collect all ideas about the livecd we will be distributing in the fest 2005 .. Apparently phaeronix has a worked its way to being the most viable option ( joy! ).

    I currently have two options:

    1- Build a new updated system with the latest versions of everything and some very cool ideas I have. This will take time and effort both of which we don't have enough of to spare.

    2- Update and bugfix the currently released stable 0.8 version. This is a short procedure and this version has received wide testing, so this seems to be the most logical choice.

    This is for me to decide. However I'd love to get help regarding the following things:

    • Artwork: we need stuff related to the fest's theme. isolinux splash , bootsplash , gdm theme , gnome-session splash , wallpaper , theme and icons. Any of these contributions are welcome.
    • Inclusions : I think it's a good idea to include some docs with info about eglug, linux , GPL , FOSS etc.. on the CD. Maybe presentations or some small multimedia ( audio / video ) things. Keep in mind the space constraints please.

    please add anything else on your mind and links to contributions here, as I am not always available on IRC. Thanks in advance.


    Suggested demos:

    • Music composing and editing
    • Video editing
    • Graphics
    • network services
    • 3D cluster rendering??
    • From zero to web server demo
    • Arabeyes booth ?

    Looking Glass


    Presentaion for Newbies

    Presentation for Newbies

    Basicaly we need presentations relying on the distros we'll distribute. to assure this group of users that we're serious and that we're giving them good stuff.

    Follows are suggestions

    Installing Mandrake:

    This should work very well for those who want to install Gnu/Linux but did not bring their own PCs, a quick install with a successful boot would be great. We need a very fast PC for this, we don't want them waiting too long in the package installation phase. Very minimal desktop packages should be used to speed things up.

    General Desktop Usage on LiveCD:

    This should be a quick tour around a browser, an office suite, an email program, a music player, a movie player, a cute game an IM program etc. we can list here the apps we'll try to cover.

    Maybe this should be done in Arabbix to demonstrate how most (all) this stuff has arabic support.

    Detailed Desktop Usage on LiveCD:

    This one should be a bit slower than the general one, maybe focus on productivity and compatibility, demonstrate OpenOffice and its neat features (PDF export, flash export whatever). and import/export and M$ word document etc. this should be done on Mandrake Move I suppose.

    By having the two desktop presentations we can cover both Gnome and KDE without putting too much effort into it, just on a low key normal usage basis.

    These three presentations are IMO essential we have to do them, other ideas:

    Mandrake Control Center:

    Users who know they'll want to install Gnu/Linux would want assurance that they can manage it, demonstrating all apsects of the Control Center including a quick look at advanced features like server wizards and remote desktops would be great. Focus should be on tools that have similar alternatives on other distros, while we'll probably focus on Mandrake its purely due to lack of time and resources to cover more than one Major distro.

    Eye Candy Galore:

    Qucikly skim through the huge number of desktops and windowmanager themeing everything that passes your way. The idea here is not to give useful info but to impress users with the neat eye candy we're capable of.

    We might want to play with stuff like root-tail, gdesklets etc as long as its kept very simple. fortunatly MDK has menu entries for all these things.


    • How to setup a wireless access point using an old Linux box.

    I'll have to use Ad-Hoc mode since my PCMCIA doesn't support Master mode, Or if anyone has an orinoco, hostap or madwifi based card please lend it to me so I can demonstrate the Mastermode. I'll be setting up Masquerading through my laptop with dhcp and a caching nameserver using dnsmasq.

    During the event

    Main event activities to which volunteers will be distributed:


    Installation Team

    Installation Team

    • CVirus
    • BooDy
    • linux_addict
    • mohamed_707
    • BlueViper

    available distros

    available distros

    1. Mandrake (eglug Edition)
    2. Phaeronix
    3. Fedora core
    4. SuSE Linux 9.3

    what else ??

    Main presentation

    A general presentation to increase awareness and promote FOSS, GNU/Linux and EGLUG

    • FOSS philosophy and history
    • A clear example of FOSS in action 'LAMP'
    • EGLUG idea, activities and how to contribute

    What's needed

    • Multimedia material
    • Define criteria on timing
    • Presentation scenario

    How you can help Eglug organizing Installfest?

    any effort will be appreciated and remember this is voluntary work nothing enforced ,do what you can do.

    1. tell one of your friends about this event
    2. burn cds
    3. update data on pamphlets



    • Network Switches
    • Network cables
    • PC's and equipment for demos (DUH!!)
    • Pamphlets

    DJ KING: The Ferrari is already Parked there "Passion to Perform"

    DarKnesS_WolF: I can get my Computer (writer).

    SeRVeR:I'll get my laptop (MDK 10.1) (writer).

    Marwa: I'll get my laptop.

    linux_addict: I'll get my laptop (writer), I can bring blank CDs as well.

    Diaa Radwan : AMD64 Laptop with dvd writer.2 monitors 17" 15"

    SaFrOuT : i can bring my machine ( AMD64 ) but i will a car to pick me also since the case weights more than 12KG , i have a blank 27GB partition for any kind of dist. u want me to install beside i can get a

    BlueViper :i can get 3 Network cables ,3 Ethernet Cards, 8-ports HUB & few blank CDs

    Phaeronix : I can get my computer but I need transportation from Helwan

    CVirus: I'll get my 17`` monitor and a couple of meters of network cables and a power connector and an Ethernet card and a keyboard n' mouse .. gah

    Hashim: I'll get my laptop.

    Hardware (Network Switches,monitors)

    • Conceptor : 8 ports switch
    • DarKnesS_WolF : 8 port switch
    • LinuxLover : Network Switch 8 port and 2 cables length 2.5M and 3 cables length 5M and 1 cable length 10M and some blank cd
    • SaFrOuT : 5 port switch
    • BlueViper : I can get 20 gb hardisk, 3 Network cables ,3 Ethernet Cards & 8-ports HUB
    • bestofnay : cable tester -machine with 3 nic and many rj45's
    • DNA: Monitor and network cables
    • Msamer: home server 17"Monitor
    • CVirus: 17" : Monitor, Ethernet Card, a Couple of meters of Network Cable.

    feel free to donate we really need them and thanks


    Who'll be there to help ? Kindly add your name and the activity in which you can help most

    1. Mohammed Sameer
    2. Conceptor
    3. Ezabi (official driver)
    4. SeRVeR : I can help in installing GNU/Linux,some basic Linux support
    5. CVirus : I think I can help in installing GNU/Linux and in giving some basic Linux support
    6. DarKnesS_WolF : i hope i can show the ppl HPC clustering using ClusterKnoppix./anything in networking as long as i can help.
    7. Radi0ShacK "Amr Kamel"
    8. BooDy : Installation and tech support. maybe give a demo or anything
    9. Marwa Youssef
    10. BlueViper : I can help in installing Mandriva & Gentoo & some basic Linux support & configuration
    11. DJ KING (AKA Sameh Y. Sabry ) : I can help in installing GNU/Linux , giving support , DEMO ( WebCache "SQuid" , Transeprant Proxy , SSL Support ), Setting up the Network , general GNU/Linux introduction.
    12. Musicraft : I can help with installation of GNU/LINUX , setting up a network , setting up firewalls , give a basic intro on how to use GNU/LINUX such as how to install software & add users and groups & passwords etc.
    13. linux_addict: GNU/Linux installation, basic tech. support, burning CDs.
    14. QT4Dance: I will bring my laptop with me, Will try to show the others how linux is much better than windows I can also help them to install mandriva or something like that
    15. linuxawy : i can give intro to GNU/Linux, and demo in installing and configuring Mandriva
    16. ShErbO : Installation, Basic support
    17. LinuxLover: Installation, Novice support ,burning cds

    1. خالد حسنى:I can help in installing GNU/Linux (especially Madriva) and some basic linux support.
    2. robertoramsis : I can help in installing Linux Mandriva 10.2 and in giving some basic Linux support.
    3. theSamo: Showcase phaeronix 0.8 on my laptop. Help with installation/configuration of Audio(music) software and open-source games(?).
    4. Phaeronix: Making phaeronix update, and maybe showcasing it.. explaining gentoo(?)
    5. Hashim: Help in Linux Installation, Drupal , Any java related, MySql, Demo on my laptop.
    6. SaFrOuT: can help in installing Linux and some basic linux support beside some burning of cds
    7. Whirlpool: (official driver), Mandrake installation, desktop usage, inkscape, use my laptop for presentation, thats it i guess.
    8. Manal: mandrake installation, desktop usage, basic questions/advocacy, drupal, and I can use my laptop for presentation
    9. mohamed_707: Linux OS Installation Help(RedHat Mandrake Fedora...) and Providing Basic Technical Support for New Users introducing SW packages like OpenOffice ..etc Also using Gcc compiler.Maybe Burning CD's too
    10. MindSpark: Installation of all distributions. Setting up basic servers. Burning CD's, Transportation of hardware with Shirkhan, Roooaaarrrr !
    11. microx (Hesham Wahby): Helping in installation, demonstrations, shell tricks. Supply master copies of all distributions. Have original packaged copies of Ubuntu to distribute. MIGHT bring my box to burn CDs/DVDs. Anything else I can help with.
    12. Alaa: how to build a web server in 15 mins, drupal demo
    13. mostapha: Show why Linux makes a good peogramming env, I can show Python and Java under Linux. Show people Eclipse/KDevelop/NetBeans/etc. Introduce people to KDE and its apps. Show people FOSS altarnatives for their favorite non-FOSS. Show how to setup and use a LAMP combination.
    14. Ahmed_Magdy: Linux OS installation, troubleshooting, Network Services configuration (NFS,NIS,SAMBA,Apache,Squid,FTP,SSH,TCPwarppers IPTables firewalls, OpenLDAP,BIND,DHCP,SendMail,PoSTFix,ProcMail,FetchMail), eveything related to networking (GUI RedHat EL4, CLI any Distro).

    donation page

    here we accept your generous contribution .

    • Conceptor (Diaa Radwan) : donated 100 CD
    • Msameer : donated 100 CD
    • CVirus: donated 20 CD
    • Ramez.Hanna : donated 20 CD
    • Cyko :donated 20 cd
    • BooDy : donated 50 cd
    • SeRVeR : donated 20 cd
    • LinuxLover: donated 30 cd
    • LinuxAddict: donated 50 cd
    • MSameer,CVirus,Cyko,BooDy,phaeron,SeRVeR,LinuxLover,LinuxAddict,Conceptor: donated 450 cd "The total number"

    Call For Donations

    Regarding the GUC Installtion Fest. ... We've started gathering donations that will help us in buying the needed CDs and printing the pamphlets we'll be distributing. So far we've collected the following:

    • BooDy 50 CDs
    • CVirus 10 CDs
    • Mnabil 10 CDs
    • Bassist 10 CDs
    • MSameer 100 LE
    • Marwa Youssef 130 CDs

    Add you name to the list.

    Install fest 2008

    Preparing for 2008 Install fest

    Advocacy - Ways of Advertising.

    CDs and Pamphlets - To be distributed.

    During the event - What we'll be doing.


    Suggested demos:

    • Arabic support, Arabization and Arabeyes.
    • Command line (Shell)


    Please put what you'll need/have here

    • Microphones (Need)
    • projector (Need)
    • Speakers (Need)
    • Switch (Have 1)


    Who'll be there to help ? Kindly add your name and the activity in which you can help most.

    • Khaled Hosny: I can give a demo about Arabic support and Arabization, may help with installation if possible.
    • Nero : I can give a demo about the command line and installation demo, I can also help setting up a mirror server for the packages and setting up the network backbone .

    LPI Course outlines

    LPI Outlines

    got this info from, 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

    Course Goals

    • For the student to become familiar with the Linux OS.
    • Use Linux on the desktop
    • Understand Linux Basics
    • Candidate will be able to perform a basic installation of Linux
    • Candidate will learn where Linux is most effectively deployed.
    • Gain awareness of cost-effective Open Source alternatives to proprietary products.
    • Understand Linux Basics
    • Understand Command-Line Utilities
    • Manage the Linux Filesystem
    • Shutdown and start the system correctly
    • Locate and use local and web based resource and documentation for applications and support
    • Hardware configuration
    • Software management using source code and package managers
    • The X server architecture
    • Understand the file system layout (the File system Hierarchy Standard)
    • Process text files effectively
    • Manage processes effectively
    • Manage disks and file systems (including quotas)
    • Manage, configure and rebuild the kernel
    • The booting process
    • Manage users and groups
    • Bash shell scripting
    • Manage printers and queues
    • Configure serial modems
    • Implement and troubleshoot TCP/IP
    • Manage network services (inetd, sendmail, DNS, apache etc.)
    • Security Administration
    • Documentation
    • Linux Kernel
    • System Startup
    • File systems
    • Hardware
    • System Maintenance
    • System Customization and Automation
    • Troubleshooting
    • Networking
    • Mail & News
    • DNS
    • Web Services
    • Network Client Management
    • System Security
    • Network Troubleshooting

    Course Outlines

    • What is Linux?
    • Popular Open Source products/projects
    • Implementing Open Source projects effectively
    • How Open Source compares to Proprietary models
    • Installing RedHat and using GNOME
    • Installing SuSE and using KDE
    • Overview of desktop applications, and installing StarOffice
    • Deploying Linux properly - A practical example
    • Installation Basics
    • Basic Linux System Administration
    • Working on the command line
    • Controlling the system through run levels
    • Basic file management
    • Text processing
    • Using pipes and redirects
    • Maintaining file systems
    • File permissions and ownership
    • Documentation
    • The Linux Kernel
    • Booting Linux
    • Managing Groups and Users
    • Network Configuration
    • TCP/IP Networks
    • Network Services
    • Bash Scripting
    • Basic Security
    • Documentation
    • Linux System Administration
    • Setting up PPP
    • Printers
    • The Linux Kernel
      • Kernel Components
      • Compiling a Kernel
      • Patching a Kernel
      • Customising a Kernel
    • System Startup
      • Customising the Boot Process
      • System Recovery
      • Customised initrd
    • The Linux File system
      • Operating the Linux File system
      • Maintaining a Linux File system
      • Configuring auto mount
    • Hardware and Software Configuration
      • Software RAID
      • LVM Configuration
      • CD Burners and Linux
      • Configuring PCMCIA Devices
    • File and Service Sharing
      • Samba Client Tools
      • Configuring a SAMBA Server
      • Configuring an NFS Server
      • Setting up an NFS Client
    • System Maintenance
      • System Logging
      • Building Packaged (RPM) Software
    • System Automation
      • Writing Perl Scripts
      • Using the Perl taint Module
      • Installing Perl Modules (CPAN)
      • Check for Process Execution
      • Monitor Processes and Generate Alerts
    • Using rsync
    • Mail and Lists
      • Configuring Mailing Lists
      • Using Sendmail
      • Managing Mail Traffic
    • DNS
      • Using dig and host
      • Basic Bind 8 Configuration
      • Create and Maintain Zone Files
      • Securing a DNS Server
    • Web Services
      • Implementing a Web Server
      • Maintaining a Web Server
      • Implementing a Proxy Server
    • Network Client Management
      • DHCP Configuration
      • NIS Configuration
      • LDAP Configuration
      • PAM Authentication
    • System Security
      • Ipchains and Iptables
      • Network Security Tools

    Mandrake pekwm menu method

    this menu-methods script will generate a pekwm menu structure in /etc/X11/pekwm/menu which can then be included in your ~/.pekwm/menu file using this line

    INCLUDE = "/etc/X11/pekwm/menu"

    here goes

    # Generates PekWM menus for all registered applications
    # Written by Alaa Abd El Fatah <[email protected]>
    !include menu.h
    function ltitle()=translate(lang(),title());
      x11  = nstring(level(),"\t")"Entry = \""esc(ltitle(), "\"")"\" { Actions = \"Exec "esc($command,"\"")"\" }\n";
      wm   = nstring(level(),"\t")"Entry = \""esc(ltitle(), "\"")"\" { Actions = \"RestartOther "esc($command,"\"")"\" }\n";
      text = nstring(level(),"\t")"Entry = \""esc(ltitle(), "\"")"\" { Actions = \"Exec $TERM -T \\\""esc(ltitle(), "\"")"\\\" -e "esc($command,"\"")"\" }\n";
    preoutput="\n#Mandrake Menu, Automatically generated. DONT EDIT\n";
    postoutput="\n#end of Mandrake Menu";
    startmenu=ifelse(basename($section),nstring(level(),"\t")"Submenu = \""esc(ltitle(), "\"")"\" {\n","");

    New FOSSCON Egypt

    What about making a FOSSCON in Egypt in next July or 1st augst ?

    i wish we can talk about many topics/technologies in this FOSSCON like:

    - FOSS in education

    - FOSS in Medical Field

    - FOSS in Business

    - FOSS in Industrial field

    - FOSS in Agriculture field

    - Innovation in FOSS

    - Big Companies that support FOSS move

    - Case studies for Countries that move to FOSS

    - .... add yours here ...

    we can talk for example about Free Open Source Operating Systems like ( Linux, *BSD, OpenSolaris, Minix, Syllable, ReactOS ).

    we can talk about Free Software that serves Remote Education and how it can save the government money, time and efforts.

    we can talk about Free Software that serves small & medium enterprises like ERP, CRM, HRM, ...etc.

    we can distribute invitations, brouchores in universities, schools, companies and mosques/churches near the CON. area .

    i hope we will make this event in a university and invite some business men and for example ministers of education, high education, ...etc.

    can we do something like this ?

    Open Source in Business - The Egyptian Perspective -seminar ..

    Dear All ,
    An awareness building seminar will be held at Sawy Culture Wheel on the third of February 2006.
    Seminar precis:
    Open source software is making its mark worldwide and is rapidly entering the technological mainstream. What was previou sly regarded as the work of loosely knitted teams of amateur developers is increasingly coming to be recognized as the c ornerstone philosophy from which sustainable technological advantage may be realized. In Egypt, the levels of open source adoption at the business, enterprise, and government niveau suggest that such techno logy markets may not yet have fully appreciated the paradigm shift and the associated benefits offered by the open sourc e software revolution. The enterprise and government technology environment stands to achieve much through the adoption of open source software, especially in the context of a developing country such as Egypt. We present this seminar as an introduction to the aspects of open source which concern business and government. Open sou rce is technology for development; business and government constitute the most viable social strata through which sustai nable human development as realized through and supported by open source may be achieved. At the end of the day, open source is a profitable decision to make.
    Speaker: Mr. Youssef Assad ( representing EGLUG, the Arab Open Source Business Consortium,and IT Synergy. )
    The River Hall - Sawy Cultural Center
    Date: 3rd of February 2006 at 7:00 pm.
    Attendance is free
    If you know anyone who is interested in Open source or open source from a business perspective, please let them know that this session will be held.

    Preparation for the FOSS and Development conference

    only few days to the conference.

    as everything is left to the last possible moment.

    what do we need to do?

    • Presentations for the 2nd Day
    • Demonstrations for the 3rd day
    • Pamphlets

    apart from that we'll need volunteers to be present early everyday to prepare the place, the computers, the network etc.

    1st Day:


    Opening (brief intro to FOSS) (15 minutes)

    Manal will open the 2nd day with a quick rehash of what is FOSS, and what are the FOSS offerings, this is just laying the ground for the presentations that will follow

    • the GNU/Linux system
    • cross platform FOSS application
    • FOSS in servers
    • FOSS and the desktop
    • who is using it and for what

    The FOSS Desktop (30 minutes)

    (Phaeron?) will take take a few minutes to present the FOSS desktop and office offerings, and highlight professional desktop apps such as Gimp, inkscape etc

    Arabization (30 minutes)

    MohammedSameer will give a briefing on the current arabization efforts, what is done, what is missing and what needs to be done (focus is off course on the desktop)

    The FOSS Web Publishing platform (60 minutes)

    Alaa(and who else?) will give a long presentation on dynamic websites, content management systems and present an example of a personal publishing platform (WordPress), a Community CMS (Drupal) and an enterprise CMS (Typo3).

    Affordable computing (60 minutes)

    RamezHanna (and who else?) will give a long presentation on how FOSS can make computing cheaper, he will cover

    • low resource desktop software like abiword, gnumeric etc
    • thin clients
    • FOSS multimedia authoring software (typically these are too expensive for individuals and small organizations)
    • Enterprise software (SQLLedger, PHP Project, etc) (used to be only the big companies could afford them) (conceptor will help with this).
    • Ezabi will also present FOSS VoIP stuff

    Hands On demonstrations

    • Hula Server - whirlpool offered to do that, it will be installed on Conceptor's labtop.
    • Asterisk - Ezabi can you do that (pending)
    • Drupal - Manal can do that
    • WordPress - Manal can do that
    • Typo3 - Alaa can do that
    • Thin Clients - Alaa can do that
    • Desktop (knoppix) - Marwa can do that
    • Graphics software - whirlpool can do that
    • Phaeronix - phaeron off course
    • SQLLedger - who??
    • PHProject - BooDy can do that

    what else?

    we can have more than one person ding the same demo, so please volunteer, and please add ideas

    EGLUG Booth

    we will have a special table just for EGLUG, with a computer showing the EGLUG website and some pamphlets, who will man this booth, we need someone to show people the eglug website, explain who we are and what we do and invite them to join us.

    on the breaks in the 1st and 2nd day we'll have a couple of PCs showing off the FOSS desktop, we need two volunteers for this.


    • OpenCD 2.0 , with arabic interface (thanks DarknessWolf, Boody and whirlpool) and extra software in place of the blender videos
    • Knoppix

    whirlpool did the covers for the cds


    • About EGLUG (needs updating)
    • a short intro to FOSS and GNU/Linux (adapt the installfest pamphlets into a shorter document maybe)


    we will have 8-10 pcs, but ho knows maybe we'll need more so please anyone who can bring a GNU/Linux laptop list yourself here

    • Alaa
    • Manal
    • DJ KING
    • MohammedSameer
    • Ezabi
    • Conceptor
    • Marwa

    we will have a wireless lan so we should have a very flexible setup


    we need all sorts of volunteers, to give presentations, answer questions, setup computers, setup lan, help in organization etc. please volunteers list yourselves here

    1. Alaa
    2. Manal
    3. DJ KING
    4. MohammedSameer
    5. Ezabi
    6. Whirlpool
    7. Phaeron
    8. Boody?
    9. Conceptor
    10. Marwa
    11. RamezHanna
    12. DarknessWolf?
    13. ADminS
    14. Mohammed Yousif

    volunteers will be wearing special EGLUG tshirts, design by whirlpool

    volunteers, please tell us your prefered Tshirt size

    Preparing for New Vision crash course

    initial dump from my PDA, will clean up laters.

    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

    Renaming multiple files.

    In the old days, I was using a for loop to rename multiple files.

    Today I've discovered a new command: rename(1)

    rename is not a traditional UNIX command but it comes with perl, And I guess you'll find a system without perl these days ;)

    Imaginr that you have some files with underscores in their names and you want to change the underscores to spaces.
    In the old days I used to do:

    Now I can do:
    Note that s/_/ /g is a perl regular expression "perl regex"
    for more information:

    Report On The FOSS Conference 13-15 March 2005

    متطوعو مجموعة جنو/ليونكس مصر الذين شاركوا فى المؤتمر:

    1. ADminS
    2. Alaa
    3. BooDy
    4. Conceptor
    5. DarKnesS_WolF
    6. DJ KING
    7. Eg_linux
    8. Ezabi
    9. Manal
    10. Marwa
    11. MohammedSameer
    12. Mohammed Yousif
    13. Phaeron
    14. Pronco
    15. RamezHanna
    16. robertoramsis
    17. Whirlpool

    اليوم الأول:

    الجزء الأول:

    الكلمة الأفتتاحية للمؤتمر كانت للدكتورة/ مالين تدرس (مركز مجتمع المعرفة) . ثم تحدث الدكتور/ عادل الزعيم عن مكتب البحوث للتنمية الدولية و أمثلة لبعض المشروعات التى تعتمد على البرمجيات الحرة مفتوحة المصدر فى أفريقيا . وايضا تحدث مهندس / أحمد السبكى عن البرمجيات الحرة مفتوحة المصدر فى افريقيا و فلسفة البرمجيات الحرة مفتوحة المصدر.

    الجزء الثانى:

    تحدث الأستاذ/ محمد حجازى الأمين العام للمركز المصرى للملكية الفكرية و تكنولوجيا المعلومات عن الملكية الفكرية و مقارنة بين البرمجيات الحرة مفتوحة المصدر و البرمجيات مغلقة المصدر وعيوب و ميزات كلا منهما و أيضا تحدث عن ما هو مصطلح الملكية الفكرية. وبعد ذلك قام مهندس/ أحمد حسين من الشركة المصرية لنقل البيانات بالتعقيب و التعليق على الملكية الفكرية.

    الجزء الثالث:

    كانت هذة الفترة مخصصة لدراسة حالات محلية تعتمد على البرمجيات الحرة مفتوحة المصدر و كانت كالتالى:

    • مركز أبو النمرس لتكنولوجيا المعلومات (كوسبى) و قدم الحالة الأستاذ/ علاء عبد الفتاح
    • البرمجيات الحرة مفتوحة المصدر فى مدارس أبو قرقاص (التنمية العربية) و قدم الحالة الأستاذ/ شريف ماهر من التنمية العربية
    • انتقال شركة ملابس جاهزة إلى الاعتماد التام على البرمجيات الحرة مفتوحة المصدر و قدم الحالة الأستاذ/ شريف ناجى من مجموعة مستخدمى جنو/ليونكس مصر

    اليوم الثانى:

    الجزء الأول:

    تضمن هذا اليوم عرض لبعض التطبيقات و حالات التعريب فى نظام جنو/ليونكس حيث قام أعضاء جنو/ليونكس مصر بالأتى:

    • الأستاذ/ أسلام: بعرض تطبيقات العمل اليومية فى نظام جنو/ليونكس.
    • الأستاذ/ محمد سمير: بالتحدث عن حالات التعريب و المشاكل التى تواجة اللغة العربية.

    الجزء الثانى:

    • الأستاذ/ علاء عبد الفتاح: قدم ادوات النشر على الأنترنت مثل Drupal.

    الجزء الثالث:

    • قدم كلا من الأستاذ/ رامز حنا و الأستاذ/ضياء بعض التقنيات الغير مكلفة بواسطة البرمجيات الحرة مفتوحة المصدر.

    اليوم الثالث:

    قام متطوعى مجموعة جنو/لينوكس مصر بتقديم عروض عملية تفاعلية، و تواجدت بعض الشركات و الجمعيات المهتمة بالبرمجيات الحرة مفتوحة المصدر للتعارف و المناقشة و للإجابة على الأسئلة.

    وايضا يمكنك الحصول على الوثائق و ملفات الصوت لكل متحدث كلا التالى:

    • ملفات الصوت لليوم الأول:

    • ملفات الصوت لليوم الثانى:

    Report on the training in Menya 4,5 february 2005

    1. Manal
    2. Ezabi

    1st day:

    we took the 7:15 train from Cairo and arrived in el Menya @ 10:30 and went directly to Gam3eyet el Sa3eed hotel in Abu Qorqas.

    arrived @ Salah el Din school (for boys) in Abu Qorqas @ 13:00, we then started the installation of MandrakeLinux 10.1 Eglug edition in their computer lab. the teachers started to arrive while we were installing and we decided to explain the installation process to them all.

    After we finished the installation on 9 pcs out of 10, we started the training:

    • General desktop usage:
      • KDE and Gnome
      • OOwriter
      • Virtual desktops
      • Arabic keyboard layout

    we finished the training @ 18:00

    Attendants of the 1st day:

    • teachers:
      • 3 teachers from Salah el Din school
      • 3 teachers from Adeeb Wahba school
      • 1 teacher from Monsha2at al Fekrya school
      • 1 teacher from el Thanaweya al Gadeeda school
    • Officials:
      • the regional computer supervisor
      • the local computer supervisor

    2nd day:

    we arrived @ Adeeb Wahba prep school (for boys & girls) in Abu Qorqas @ 10:30.

    we re-explained the installation process for 2 teachers on 2 pcs, then the 2 teachers performed the installation of MandrakeLinux 10.1 Eglug edition on the other 8 pcs in their computer lab (the local supervisor insisted on installing on 1 machine).

    we arrived @ Salah el Din school @ 14:00 and started the training @14:30.

    4 of 1st day teachers have quit because they were not computer teachers and they found out that they wont b able to transfer what they learn to the students in the computer club groups which will start next week.

    but 2 new teachers joined the group, and supposedly 2 more will join.

    total attendance: 6 teachers.

    content of the training:

    • Mandrake Control Center in general
    • special stress on software mangement and installing dia and gqview as an example
    • KDE desktop configuration
    • Mandrake documentation
    • Apps:
      • OOwriter
      • OOcalc
      • OOimpress
      • Kivio (used dia stencils)
      • Gimp 2
      • Gqview
      • Amarok
      • Kaffiene
      • Konquerer
      • Gnucash

    we didn't have internet access, so we didn't install internet aps or demonstrate them, but we talked about:

    • Mozilla
    • Kopete

    we also talked about other application without demonstrating them:

    • Dia
    • Mplayer

    at the end of the day, we gave them free time to choose some application and explore it. they showed interest in oowriter, oocalc, ooimpress and kivio.

    the teachers stressed on the importance of arabic documentation and Howtos, and some requested to get training on using the Gimp.

    we agreed that the next visit will be in a couple of weeks, so that the teachers get some time to get more aquinted with the platform and give us their feedback.

    we had 3 copies of Mandrake 10.1, we left a copy to the computer lab @ Salah el Din school, a copy to the computer lab @ Adeeb Wahba and the 3rd to the regional supervisor.

    we finished @ 18:00 and took the 19:00 train back to cairo.



    1. lack of arabic documentation
    2. 4 teachers quiting after the 1st day
    3. some computers had faulty hardware:
      • we couldn't install on a pc @ Salah el Din school due to cdrom malfunction
      • 2 pcs @ Salah el Din school had no sound detection
    4. no internet in both schools
    5. no network @ Salah el Din school
    6. Interruption in the training to fix internal formalities


    1. the train was comfortable
    2. the hotel and food were very good

    1. teachers and officals were very enthusiastic to learn about GNU/Linux
    2. they showed apperciation to the initiative
    3. some teachers showed promising improvement in the 2nd day
    4. the teachers @ Adeeb Wahba school installed GNU/Linux on 8 pcs on their own
    5. the initiative to start delivering this knowledge to their students and to other people in the local society.

    SSTE conference preparation


    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

    • MohammedSammeer
    • Toni
    • Angoranimi
    • Ramez Hanna
    • MarwaYoussef

    follows is a list of people who promised to provide old laptops

    • Alaa
    • Ezabi

    and here is a list of potential laptop owners, guys can you attend and bring your lappies??

    • YoussefAssad
    • SoppyBoy
    • DJ-King


    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)

    • Alaa
    • Manal
    • Toni
    • Angoranimi
    • Ezabi
    • MoahmmedSameer
    • Phaeron
    • linux_addict (not so sure yet :( )
    • Conceptor
    • Red_Dot
    • MarwaYoussef
    • SeeKeR " depends on My Boss..hope he is in good mood "
    • Mody
    • BooDy

    what else

    Normal user Case

    individual cases

    Mohammed Sameer

    • pharmacology student
    • deeply interested in computers
    • several attempts to become a programmer before GNU/Linux
    • had very limited access to source code or any source of experience, most was toy scripts, his early attempts all had no mentors, users or collegues.
    • discovered GNU/Linux and got hooked quickly
    • began trying to become a GNU/Linux programmer
    • Arabeyes presented an immediate oppertunity to do useful work and not just toy projects
    • we had no decent arabic text editors
    • GTK+2 betas released with Arabic support, udit released as a very simple hack to satisfy a need for a temorary period until someone else does a proper job
    • quickly gaining users with demands and reports
    • easy access to previous experiecne and knowledge, cooperation from GTK developers themselves made it easy to gain knowledge quickly an to learn by doing
    • search for more creative approaches and features
    • katoob being adopted by arabeyes, learning how to fit within a team, how to look at grander scale
    • katoob taken to new places, very inovative and competitive features, learned how to seek the unique requirments of his audience (the arab user)
    • katoob translated to several languages, some users contribute.
    • experience gained helped in doing tests, patches and generaly helping the cause of arabization
    • community experience helped find a purpose and goal in life, plus earned respect of peers.
    • variety of users taught new lessons not just in programming
    • now working professionaly as an admin with frequent need for his programming skills
    • study combined to present new oppertunities, help with ain shams pharmacetical computing system

    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 Met3eb

    • medical student
    • strong interest in computers
    • always tried to build things without particularly being interested in programming.
    • found out about GNU/Linux
    • was building a custom server for a college lan and experimental website
    • no existing distro satisfied him completly
    • in the course of looking for the perfect distro found out about livecds and loved the idea
    • was interested in finding out how the system worked and how liveCDs in particular functioned
    • began making his own distro based on the LFS document, and by dissecting knoppix (in true medical student fashion)
    • distro perfectly fitting his taste and running the server
    • found the local community welcoming and very supportive, which inspired him to keep going and to start thinking of others benefit
    • project taking shape as providing an alternative desktop that fits egyptians needs and runs on modest hardware to fit egyptians pockets
    • getting some feedback and ideas and help in both developing the distro, in distributing it and orgaizing the project
    • interaction with the developer community of the various little projects he included
    • the involvment on an international scale made him realise how small and connected the world is, and how all are equal and all can learn and should continue to learn.
    • his project lead to testing arabic support in many packages and to start of work on arabizing them.
    • learning new things everyday, exploring new uses, new systems, and exploring new skills, a bit of programming form here, abit of artwork there, abit of webmastering here etc

    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.

    Mostafa Hussein

    • Medical student
    • interested in technology, science and culture in general
    • found out GNU/Linux loved its reliability and became an avid user
    • was mildly interested in programming just to understand more about the world around
    • began learning a simple language python
    • python was very useful for performing repetitive tasks, doing things that are not typicaly possible or very unique to his own usge patterns
    • the local community directed him to how to start the first steps
    • the communty also provided lots of examples, lessons, and scripts
    • mostafa ended up releasing software to the public after only one month

    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.

    SSTE Conference Report by SSTE

    الموضــــوع : بخصوص تقرير الجمعيه العلمية لمهندسي الاتصالات عن اليــوم

    الاول (الاربعاء 22/9/2004) لندوتـها " المصادر المفتوحـــــه ومناهضة الاحتكار والهيمنه في صناعة الاتصالات والمعلومات"

    عقدت الندوه بنقابة الصحفيين .

    الندوه تهدف للتوعيه بأستخدام مصادر المعرفه المفتوحه في التنميه في البلدان الناميه بأعتبارها منهج مضاد للهيمنه والاحتكار. تناولت الندوه في بومها الاول (الاربعاء 22/9/2004) موضوعات :

    • نظره عامه علي منهج المصادر المفتوحه في التنميه المستقله وعرض لحركات المصادر المفتوحه في شتي المجالات .
    • الفرص أمام البلدان الناميه بأستخدام المصادر المفتوحه .
    • عرض لبعض نماذج وقصص نجاح أستخدام مصادر المعرفه المفتوحه من واقع قطاع الاتصالات والمعلومات المصري .
    • عرض لتجربة المجموعه من شباب المصريين لتطوير أستخدام المصادر المفتوحه (مجموعه مستخدمي جنو/لينوكس والتي تأسست في مصر عام 2004).

    شارك في اليوم الاول للندوه :

    • السيد الاستاذ / جمال غيطاس (رئيس تحرير مجلة لغة العصر)
    • السيد الدكتور / أحمد طنطاوي (شركة I B M)
    • السيد المهندس / أحمد حسين (شركة تي . أي . داتا)
    • المجموعه المصريه الشابه لتطوير أستخدام المصادر المفتوحه (مجموعه مستخدمي جنو/لينوكس) . . مجموعه من المتطوعين

    وسط حضور كبير من فئات عمريه مختلفه من اعضاء الجمعيه – المهندسين – الجهات الاكاديميه – قطاع الاعمال – بعض منظمات المجتمع المدني – طلبة الجامعه من كليات العلوم والحاسبات والهندسه – المهتمين – الاعلام التكنولوجي ... تم عرض الموضوعات التاليه:

    • مصادر المعرفه المفتوحه تمثل منهجا مضادا للاحتكار والهيمنه وطريقا مستقلا يضمن للبلدان الناميه العمل من أجل النهضه والتطوير والتنميه .. الكل يتعاون في مناخ أجتماعي ديمقراطي من أجل تبادل ونشر المعرفه.
    • الترويج الزائف للمغالطات حول أستخدام مصادر المعرفه المفتوحه يخفي حقيقه وأطماع كبريات الشركات الاحتكاريه الكبري فـــــي الهيمنه علي الاسواق وخصوصا أسواق البلدان الناميه.
    • برغم أن المصادر المغلقه ( التي لاتتاح فيها السر التكنولوجي للصنعه ) قد بنيت علي أنجازات وأبداعات الحضاره الانســـــــانيه الاأن الاحتكار والهيمنه قد حول المنتجات المبنيه علي أحتكار سر الصنعه .. طوق يبطء من عملية تطور الحضاره الانســـــــــــانيه واداه لتسـخير قطاع عريض من البشر علي وجه الارض تحت رحمه الاحتكارات والمصالح والاطماع وتركيز السلطه والثروه في أيدي قليله
    • في مواجهة المنهج الاحتكاري . . تصاعدت حده المواجهه والمعترضين علي ممارسات الشركات والمؤسسات والاحتكاريه الكـبري عالميا .. وأبتدعت هذه المقاومه المتصاعده منهجا للتنميه ويخفض عن البشر وطأه الوقوع فريسه لاصحاب هذه الاحتــــــــكارات والساعين للهيمنه علي الاسواق ومصير الانسانيه .
    • كان الرواد الاوائل أصحاب المنهج الجديد في التنميه جاءوا من صناعة تكنولوجيا المعلومات والاتصالات بالولايات المتحده .. مركز الاحتكارات والهيمنه العالميه.

    للمصادر المفتوحه أساس فكري نابع من المنهج العلمي السائد في شتي التخصصات . . فالنتائج العلميه حتي تكون مثبته ومبرره لابد أن تكون قابله للتكرار بالطريقه نفسها . . وبالتالي فان الشرط الرئيسي للاكتشاف هو التعامل معه من خلال المشاركه في المعلومـــات وتمكين الآخرين من الحصول علي المصدر حتي يمكن أزالة كافه العوائق أمام المنهج العلمي في التطوير والتنميه بما يضمن اسـتمرار التقدم بلا توقف . . وهذا المنهج يطابق مع ماينادي به أصحاب منهج المصادر المفتوحه .

    المعرفه الانسانيه القائمه علي مصادر مفتوحه ليست منهج الكسالي أو الباحثين عن أشياء جاهزه أو مجانيه ولكنها منهج من يؤمنون بالحريه ويمارسون الانفتاح والعطاء والمشاركه والتعاون مع الآخرين . . وهي ثقافه جديده للمقاومه .

    ينشط منهج المصادر المفتوحه في مجالات تصنيع الاجهزة والمعدات والبرمجيات والمعالجات والمحتوي والكتب والبحث العلمـــــــــــي والتعليم والاليكترونيات . . ويبني أصحاب الحركه في هذا الاتجاه هدفا رئيسيا هو الوصول الي أجهزة يتم تصميمها وأنتاجها بنمـوذج معاكس للنموذج المغلق المحمي بحقوق الملكيه الفكريه وحقوق النشر والتأليف وقوانين الاسرار التجاريه وقوانين البراءات ( هــــــذا الوضع أتاح للشركات الاحتكاريه الكبري السيطره علي الاسواق وعلي مقدرات التنميه في البلدان الناميه ) تقوم الحركه علي الركائز التاليه :

    • أن يشمل حق المستهلكين معرفه السر التكنولوجي .
    • أن يتاح السر الكودي للتطبيقات والبرمجيات المستخدمه وأمكانية التعديل .
    • أن تتوفر كافه الحوافز وعوامل التشجيع الممكنه للبناء علي القديم .
    • أن تتاح المعرفه علي نطاق واسع أمام المنظمات الاهليه وغير الحكوميه بالبلدان الناميه .

    حقق حركه المعرفه في مجال البرمجيات ذات المصدر المفتوح ( المتاح سرها الكودي . . لامكانية تعديلها طبقا لاحتياجات المستهلكين . . البلدان الناميه ) . . نجاحات عديده فهناك . . حركه البرمجيات الحره . . مبادره البرمجيات مفتوحه المصدر . . وتنادي الحركه الاولي بأتاحه الحصيله المعرفيه التي تسمح بتشغيل البرنامج والتي يطلق عليها البناء الكودي أو شفرة المصدر . . أتاحه حريــــــــــه تشغيل البرنامج . . حرية دراسه كيفية عمل البرنامج وأمكانية تعديله . . حرية توزيع نسخه من البرنامج . . حرية التعديل . . خلـو ترخيص الاستخدام من التمييز . . الترخيص يكون محايد تكنولوجيا .

    حققت الحركات السابقه نجاحا في خلق الاطار القانوني الذي يكفل الحريات السابقه .

    يمثل المحتوي المعرفي ركيزه محوريه ونقطه فاصله . . وعنق زجاجه في الانتقال عبر طريق التنميه لبلدنا . . والتمدد في البنيـــــه الاساسيه بدون أن يوازيه تطويرا للمحتوي . . يشكل اعباء كبيره تعيق حركه التنميه ولاتمثل سوي أنفتاحا استهلاكيا علــــــــــــــــــي التكنولوجيا سواء الصناعيه أو سواء في الخدمات . . خدمات الاتصالات والمعلومات وقد بدي واضحا أن الانترنت تمثل وعاء هائــــلا لجمع وتخزين ومعالجة وتحليل واداره المعلومات وتنظيمها وتدويرها بين الجهات التي تطلبها . . وأما المعلومات فهي المحتوي الذي يملء به هذا الوعاء . . وتعددت أنماط المحتوي . . وأصبحنا أمام نتاج أبداعي يتساوي في القيمه مع المحتويات المغلقــــــــــــه . . محتـوي مفتوح أمام الجميع وتم أنتاجه بشكل تعاوني . . ويشمل :
    المقالات والصور والمواد المسموعه والمرئيه والاعمال الفنيه والبحوث والتقارير والاخبار . . وهذا يفتح أبواب المشاركه وتنميــــــة الذات بالافاده المتبادله القائمه علي مبدأ النديه مع الآخر بعيدا عن سطوه الاحتكارات ومحظورات وقيود السياسه ومنهجا يســــــــــمح للجادين والطامحين للنمو والاستقلال بالبلدان الفقيره .

    أثبتت خبرات وتجارات الأخذ بمنهج المعرفه مفتوحة المصدر في التجارب المحليه من بعض شركات التكنولوجيا في مجال الاتصـــالات والمعلومات . . التأمين والاعتماديه . . وأنخفاض التكلفه الاقتصاديه . . وتطويرا للقدرات البشريه المحليه في مجالات البحــــــــوث والتطوير والاضافه والتعديل .

    يتصاعد أستخدام التطبيقات والبرامج مفتوحه المحتوي المعرفي بواسطة شركات السوفت وير الكبري في العالم مثل أوراكل ، IBM . حتي أن أنفاق شركة مثل IBM علي التطوير في هذا الاتجاه بلغ أربعة مليارات دولار .

    اعتمدت بعض البلدان في العالم كالصين واسرائيل علي البرمجيات مفتوحة المحتوي المعرفه في التطبيقات المختلفه في حياة المجتمع . . ويمثل هذا نموذجا أحري بالبلدان الناميه والفقيره بالاتجاه نحو هذه الحركه .

    حدود الامان الناتج من أستخدام المعرفه مفتوحه المصدر يتعدي حدود الامان في حاله أستخدام المصادر المغلقه . . فمثلا الدبابـــــــه والطائره تعمل بالسوفت وير . . ويمكن من بعد توجيهها لمـــن يعرف أسرار محتوي هذه البرامج . . ويمثل هذا خطرا شديدا علـــي البلدان الناميه التي تستخدم هذه التكنولوجيا بدون معرفه كيف تعمل . . اذ حين أستخدامها يمكن أن يوجهها آخرون لصدور ومدن مستخدميها .

    يمثل أستخدام مصادر المعرفه المفتوحه فرصا جديده للاعمال ومواجهة مشاكل التنميه والبطاله .

    طرحت تجربه مجموعه مستخدمي جنو / لينوكس . . وهي مجموعه من المتطوعين من مختلف الاعمار . . متخصصين ، هـــــواه ، مستخدمين عاديين . . نموذجا مشرفا . . أنتج اتصالات وتعاون مع بعض الجهات الاكاديميه . . شبكة المعلومات العربيه لمعلومــات حقوق الانسان . . مركز دعم التنميه . . مركز مجتمع المعرفه . . منظمات مجتمع مدني بأيطاليا . . وجمعية تنمية المجتمع المحلي بأبو النمرس . . جمعية التنميه العربيه . . وقد أنتج هذا التعاون . . بناء مركز حاسب مفتوح للجماهير مبني علي البرمجيات الحـره والمصادر المفتوحه . . تنظيم دورات تدريبيه في نظم الجنو / لينوكس لطلاب المدارس الاعداديه في محافظة المنيا . . تنظيـم دورات تدريبيه مجانيه للمبتدئين . . تنظيم ورش عمل متخصصه عن برمجة الوب ، أمان الشبكات ، الاستخدام المتقدم لنظم الجنو لينوكس . . تعريب نظم الاداره للمحتوي وبناء المجتمعات علي الانترنت . . القيام بدراسات حاله لتجارب أستخدام البرمجيات الحره فـــــــــــــي مؤسسات المجتمع المدني ومؤسسات الاعمال الصغيره . . مشاركة بعض المؤتمرات الخاصه بهندسة اللغه بجامعة عين شــــــــ مس وقد أثبتت تجربة هؤلاء الشباب ايضا مدي فاعلية التعاون والحركه في أتجاه المعرفه مفتوحه المصدر في التطوير والتنميه والمقاومه أستمرت الندوه من الساعه 19 وحتي الساعه 22 يوم الاربعاء القادم 29 سبتمبر يستكمل الجزء الثاني في الندوه .

    مع أطيب تمنيات الجمعية العلمية لمهندسي الاتصالات

    المراسلات : أ.د محمود الحديدي - أ.د مجدي سعيد السوداني / قسم هندسة الاليكترونيات والاتصالات الكهربائيه / كلية الهندسه - جامعة القاهره تليفون : م/ محمود أبوشادي 0122117247 - م/ عبد الوهاب الدقي 0122114410 - م/ محمد أبو قريش (02)3959999-0122170009- أ.د محمود الحديدي 0101504699 بريد اليكتروني abukrish @ intouch. Com فاكس (02)3939946

    SSTE conference second day suggested eglug note (Opportunities)

    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


    University Course Outline

    ArabDev/EGLUG Introduction to GNU/Linux workshop

    training will be split into 3 parts, duration of each part is roughly 9 hours.

    EGLUG volunteers will be quiclkly introducing concepts and covering abstract ideas, Trainees are expected to work out the details on their own.

    In the third part one topic is is chosen and the trainees will attempt to learn it in details, the volunteers will be there to facilitate and help.

    this plan is a prilimenary one, we expect to find among the trainees preexisting experience that may require changes in the plan, we also hope to integrate any such experience in the training (workshop style).

    tha training will be done by EGLUG's most experienced volunteers, these volunteers are all active Free/Open Source developers and contributors mostly working in Arabization with the project.

    Part 1: Free/Open Source Software background

    1st Day, Session 1 (2 hours)

    Historical Background

    • History of GNU/Linux
      • Unix
      • GNU Project
      • Linux Kernel
      • LAMP stack
      • Today
    • The FOSS Model
      • What is Free Software
      • What is Open Source Software
      • Copyleft and the GPL
    • The FOSS community
      • Developers
      • Support and user communities
      • Academia
    • Companies
    • Benefits of FOSS and GNU/Linux pros
      • Macro Economical benefits
      • Low barrier of entry
      • Knowledge
      • Portability
      • scalability
      • reliability
      • Modularity
      • Security

    1st Day, Session 2 (2:30 hours)

    Quick Look at GNU/Linux

    • Installation
      • GNU/Linux distributions
    • Desktop Usage

    2nd Day, Session 1 (2 hours)

    Quick Look at GNU/Linux

    • GNU/Linux operating system concepts and components
      • Unix heritage
      • Everything is a file
      • basic compo0nents and subsystems
      • The GNU/Linux security model

    2nd Day, Session 2 (2:30 hours)

    Quick Look at GNU/Linux

    • Command Line Usage
      • command line basics
      • file manupilation
      • process control
      • text utilities
      • package management
      • task automation
      • network utilities
    • Basic administration
      • wizards
      • configuration files

    Learning More

    • how to get help?
    • how to ask questions?
    • how to find documentation?
    • how to find source code?
    • resources

    Part 2: GNU/Linux in Different Scenarios

    1st Day, Session 1 (2 hours)

    Deskop GNU/Linux

    • GNU/Linux in the office
    • Multimedia authering
    • Scientific workstation
    • alternative productivity

    1st Day, Session 2 (2:30 hours)

    GNU/Linux as a development platform

    • languages
    • basic development tools
    • advanced development tools

    GNU/Linux as a LAN server

    • router/firewall
    • file/print server
      • Unix environment
      • Windows environment
    • remote access

    2nd Day, Session 1 (2 hours)

    GNU/Linux as an Internet server

    • mail
    • web
    • more

    2nd Day, Session 2 (2:30 hours)

    GNU/Linux webdevelopment platform

    • apache
    • LAMP stack
    • ZOPE
    • prepackaged apps
    • not only for the internet

    Extreme uses

    • embedded
    • clusters
    • thin clients

    Part 3: Specialized workshop

    based on feedback from the two previous parts one area of use is identified and explored in details.

    Installing Fedora Core3 From Your Hard Disk HDD تثبيت فيدورا من على القرص الصلب

    all U want to start installing the fedora core 3 distro from Your hard disk :

    Upgrading to Drupal 4.7

    We don't usually upgrade immediatly with a new release, it's always better to give it some time, if the release proves to be sound and safe, we upgrade. But until we decide to upgrade, let's make sure we will be ready for the upgrade when we want to.

    What we should do now is to make sure that we have versions ready for Drupal 4.7 of the following components:

    • The modules we use.
    • Our php code snippets (which can be found in some nodes and blocks).
    • Our theme(s).

    Let's see what are we missing to achieve the goal above.

    Modules (0 modules need to be resolved)

    This is a list of all contrib modules:

    PHP Snippets




    We have only one theme

    This upgrading procedure is one of the administrators team tasks. But of course everyone is more than welcome to volunteer in many ways, like porting remaining modules, correcting/updating this page (as for example, some of modules above my be updated later with a 4.7 port by Drupal community).

    The PHP Snippets may not need any effort at all, the above list is actually the result of a search in the database for all nodes with inline PHP code. Also, not everyone may be able to edit these nodes, but let's keep it here for now to make this document a complete list.


    If you would volunteer in porting any code, it's recommended that you update this page to indicate this. That is to avoid having multiple volunteers working on the same thing without coordinating with each other.

    Upgrading to Drupal 5.x

    Monitoring 5.x upgrade process.

    Modules (12 modules need to be resolved)

    This is a list of all contrib modules and the availability of their 5.x versions:

    PHP Snippets



    • Icons Bar block (this block of icons on the left).


    We have only one theme

    • EGLUG theme.

    This upgrading procedure is one of the administrators team tasks. But of course everyone is more than welcome to volunteer in many ways, like porting remaining modules, correcting/updating this page (as for example, some of modules above my be updated later with a 5.x port by Drupal community).

    The PHP Snippets may not need any effort at all, the above list is actually the result of a search in the database for all nodes with inline PHP code. Also, not everyone may be able to edit these nodes, but let's keep it here for now to make this document a complete list.


    If you would volunteer in porting any code, it's recommended that you update this page to indicate this. That is to avoid having multiple volunteers working on the same thing without coordinating with each other.

    Using Screen

    Ever happened to you while working on a compile or any other operation through ssh and just before the end you get disconnected and lose all the work in that session, how frustrating . . .

    Well no more tears ! screen is here

    Screen is simply a command that gives several virtual terminal from one ssh session and they don't expire with ssh

    After you start your ssh session just type screen and start working and if the connection is diconected when you log back in just type screen -ls to list the screen sessions available, output as follows

    There is a screen on: 10244.pts-0.ramezhanna (Attached)

    then you type:

    One last trick, if you want to logoff while the command executes you can detach screen using the CTRL-A + d key combination which gets you out of the screen session while it is still running then you can log out of the ssh session and then log back in and resume the screen session when appropriate, when you want to end the screen session just type exit in that session



    Who is Attending Mark Spencer presentation

    1. manal
    2. alaa
    3. Karim Ratib
    4. Ezabi
    5. Mohammed El-Hakim
    6. alienbrain
    7. Ashraf

    how to merge media files

    $ ogmcat file1.ogg file2.ogg file3.ogg -o merged.ogg

    $ avimerge -i file1.avi file2.avi file3.avi -o merged.avi

    mpegs are even nicer, you can simply concatenate them together

    $ cat file1.mpg file2.mpg file3.mpg > merged.mpg

    $ mkvmerge -o MyMovie-with-sound.mkv -A MyMovie.avi MyMovie.ogg

    kuwait linux 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

    quick intro to drupal's cache system

    Drupal modules can cache results of complex database queries in the cache table to reduce system load.

    large drupal websites tend to have nodes and blocks with embedded php code, EGLUG has a bunch of php nodes but non of them involves complex queries.

    however the iconbar block which is based on a flexinode type involves a relativly large number of queries, these queries get executed on every page view yet the content of the iconbar rarely changes.

    so the eglug performance can be improved by caching the icon bar, admins please modify the block to look like this

    $html = "";
    $cid = "eglug:iconbar_block";
    $cached = cache_get($cid);
    if ($cached){
      $html = $cached->data;
    } else {
      /* iconbar code here */
    $html = /* put output here */;
    cache_set($cid, $html, CACHE_PERMANENT);
    print $html;

    so basically you select a unique identifier for the data you're about to cache or retireve from the cache table ($cid), cache_get attempts to load the data from cache, if it fails to find the data it returns 0.

    if cache_get succeeds we simply print the cached data, if it fails we do our queries and generate the desired html, then store it in cache using cache_set before we print it.

    cache_set takes an $expire argument, this can be a timestamp, CACHE_PERMANENT or CACHE_TEMPORARY, we chose CACHE_PERMANENT here because icon bar hardly ever changes, modules would usually take care of clearing the cache when needed, in eglug's case I guess admins will have to delete the 'eglug:iconbar_block' entry manually, or maybe create a php node that does that, all it takes is one single function call


    on for instance I have custom php blocks that list latest entires from Aggregator2 feeds, since aggregator2 runs every hour the cache $expire is set to time()+(60*60) to make it expire after an hour, highly volatile data should use CACHE_TEMPORARY which get's cleared on fairly regularly.

    test upgrade

    a 4.7 copy of (08-11-2006 9:30 pm GMT+2) is now running over here:

    see if you are good enough to spot some errors, and add them to the list..

    List of upgrade47 gotchas:
    • theme tables are ugly.
    • revisions lost.
    • lost diff module, no 4.7 version. a patch exists but doesn't apply to recent HEAD. MSameer contributed the port to 4.7. Thanks!
    • new access permissions introduced. need to check and assign them for roles.
    • many hardcoded relative links where assuming <base> tag, in 4.7 we should manually prefix each link by base_path().
    note for self and others.. things to be tested/done
    • flexinode. as in project page they mention that not all fields were ported to 4.7. all ported
    • theme uses hardcoded forms, should use 4.7's Forms API.
    • image_filter, diff, rankvote, wiki, members are all cvs modules. should test.
    • consider the comments here done, most of them suggest better ways of doing things.
    • Search button in header is devoid of text.

    احتفالية تنصيب لينكس، تعريف بالبرمجيات الحرة - 2007

    الموعد: السبت 1-9-2007 الساعة 11 صباحا


    العنصر البشري: باب التطوع مفتوح للجميع، ونتمى أن يكون العدد مناسبا

    العنصر المادي:

    بالنسبة لفعاليات اليوم:

    الأفكار الموجودة حتى الآن:

    1. احتفالية تنصيب جنو لينكس تحديدا توزيعة اوبنتو كوبنتو.
    2. جلسات وتشمل على:
      1. شرح "لفلسفة" البرمجيات الحرّة BooDy
      2. "مقدمه "لسطر اﻷوامر AMS
      3. تنصيب لينكس والتعريف بالواجهة الرسومية
      4. Linux for every level of users,, Advantages, cons, and Dual Booting - DGamer
      5. تعريف وشرح لفكرة "الويكي" zsamir and rana saied
      6. شرح الـ ار اس اس و social bookmarking dr_drsh
      7. تعريف وشرح للمبادرات العربية "عرب‌آيز كمثال"
      8. تعريف ببعض برمجيات الويب وورد برس كمثال
      9. دروبال
      10. شرح عن استخدامات جنو/لينكس في تأمين البيانات والشبكات واختبارات النفاذية (penetration testing)عزبي
      11. windows linux back2back عمر عبدالوهاب - DGamer
      12. audio
      13. أسئلة شائعة DJ KiNG
      14. لماذا تختار لينكس كنظام تشغيل Egyptianu
      15. Development on GNU/Linux (languages,compiler,IDE's ) Mnabil
      16. Security - Exploits (perl exploits - C_C++_Bugz - Flood - SPam - Programmerz Errorz by : ix-S3cur1ty

    بعد الجدل الحاصل حول أسعار الدي اس ال البعض مهتم بجلسة عن اللاسلكي عن طريق علب الصفيح"المياه الغازية والسمنه" "مفتوح للإضافة"

    ""هل من الممكن كل متطوع يدخل يكتب هو ممكن يعمل ايه؟ممكن الناس متكسلش لو سمحتوا ؟؟؟؟؟؟""

    أسماء المتطوعين من المجموعة

    1. BooDy
    2. alienbrain
    3. ezabi
    4. linuxawy
    5. mogaio
    6. MSameer
    7. alwotwat
    8. AMS
    9. MaLek
    10. phaeronix
    11. Ahmed Mohamed Rabieh
    12. aboyousif
    13. Mnabil
    14. fredmorcos
    15. DJ KING
    16. Rana Said
    17. Amr Ahmed
    18. Samer
    19. moa7amed
    20. dr_drsh
    21. iMeMo
    22. eg_linux
    23. Nero
    24. Ahmed Koraiem "DGamer"
    25. Eman Abdel Razek
    26. Egyptianu
    27. محمد عادل
    28. mostafa khattab
    29. Moaz Reyad (Ubuntu Egypt LoCo Team)
    30. tego
    31. theSamo
    32. Ibtihal Ahmed
    33. Ix-S3cur1ty
    36. h-idrisi

    يرجى اضافة اسمك ان كنت تود المشاركة

    2nd fest email.


    The Egyptian GNU/Linux User Group (EgLUG GNU/Linux Installfest in the rawabet theatre on the 1st of September from 11:00am.

    We would like to give you a general idea of some of the things you will be seeing there.

    If you have no idea what is an InstallFest. Make sure to visit this page:

    Traditionally in all installfests, the number one activity on that day will probably be linux installations; as we are sure you know, we will be ready to receive people who arrive with their computers to set linux up on with them.

    For people who are simply curious about linux and who want to know more, we will be demonstrating the operating system and the applications available on it. This covers a fairly large range of things. At the most basic level, we can show you what linux looks like, how it works, and describe how it differs from what you are used to, and why we feel this is better.

    On a more specific level, there will be volunteers ready to show you how many different and specific tasks can be accomplished under linux, such as programming with visual tools , graphics work, clustering, networking (LANs and some fancy tricks), and all the way up to getting a solid web server up and running in 15 minutes flat.

    We will be there to introduce you to the fascinating world of linux, so it is your questions and interests that matter.

    Thank you for your interest, and hope to see you there.

    [email protected]

    ندعوكم لرابع مهرجان للينكس فى مسرح روابط بجوار التاون هاوس فى وسط البلد فى الاول من سبتمبر من الساعة الحادية عشرة صباحاً.

    فكرنا أن نعطيكم فكرة عامة عن أنشطة المهرجان.

    هذا اليوم بالأساس مهرجان لتركيب اللينكس ، ووفقا لعادات مجتمع اللينكس العالمى النشاط الأساسى فى تلك المهرجانات هو تنزيل و تركيب و ضبط اللينكس لكل من يريد، كما تعلمون لدينا متطوعين مستعدين للمساعدة كل من يحضر جهازه فى انزال اللينكس أو المساعدة فى أى مشكلة تواجههم فى ضبط أو استخدام نظم الجنو/لينكس.

    أما لمن يريد فقط أن يتعرف على نظم اللينكس سنقوم بعرض نظام اللتشغيل و التطبيقات المختلفة و استعراض امكانياته و مزاياه. سنغطى نطاق واسع من المواضيع، فعلى ابسط مستوى سنعرض شكل اللينكس و طريقة التعامل معه بصفة عامة و سنقوم بشرح كيفية اختلافه عن باقى النظم التى اعتدم عليها، و لماذا نظن أن طريقة اللينكس أفضل.

    أما على المستويات المتخصصة نوعا ستجدوا متطوعين مستعدين لعرض المهام المختلفة التى يمكن استخدام اللينكس لتحقيقها ابتدائا من البرمجة البصرية، و رسوم الحاسب و تصميم الجرافيكس ، والشبكات الداخلية (توقعوا أشياء مذهلة فى هذا المجال)، وصولا الى كيفية اعداد خادم صفحات وب متكامل فى أقل من 15 دقيقة.

    نحن موجودين لنعرفكم على عالم الجنو/لينكس المذهل و لذا فالمهم هو اسئلتكم و استفسارتكم.

    نشكركم على اهتمامكم و نرجو أن نراكم فى المهرجان.

    مجموعة جنو/لينوكس مصر

    [email protected]


    use this flyer for printed material if anybody can get us a good offer to print 1000 of these in the next 24 hrs please say it here now or forever remain silent.


    Here is a list of the yahoo group i sent to:

    fest 2007 email

    مهرجان لينكس 2007....تحب تشارك ؟

    إمتى وفين ؟

    1-9-2007 من الساعة 11 لحد 9 مساء مسرح روابط بجوار التاون هاوس ومقهى التكعيبة

    يعني ايه مهرجان لينكس ؟

    يعني يوم عشان اللينكس يعني تنزل لينكس على جهازك ؟ يعني تتعرف على اللينكس وبرامجه ؟ يعني تتعرف على قوة اللينكس يعني تتعرف على الكائنات اللي شغاله بلينكس يعني وانت مروح يا معلم تاخد اسطوانة لينكس مجانا يعني يوم تتعلم فيه مجانا أيوه مجاناااا

    سمعت عن لينكس ؟

    لينكس هو نظام تشغيل حر وهو الأشهر في عالم البرمجيات مفتوحة المصدر لينكس هو الإبن المدلل والأشهر لفكرة البرامج المفتوحة المصدر

    ايه هو اللينكس؟

    هو نظام تشغيل حر مفتوح المصدر لاينتمي لأي شركة يعني مافيش حد له حق احتكاره او المطالبة بحق إستغلال

    إزاي تطور اللينكس

    ,تم تطوير اللينكس من الناس للناس وعلى مر السنين تطور اللينكس ليصبح نظام تشغيل حر وقوي جدا بالمقارنة بالنظم الأخرى,وعشان كدا وجدت مجموعتنا "مجموعة مستخدمي لينكس مصر".

    احنا مين؟

    احنا مجموعة مستخدمي لينكس مصر هدفنا هو نشر فكرة البرامج المفتوحة المصدر في كل مكان ومحاولة نشر اللينكس لإيجاد بدائل قوية وحره ومجانية عن الانظمة الموجودة حاليا.

    ازاي تشارك؟

    تقدر تتواصل معنا عن طريق موقعنا الإلكتروني

    المهرجان الرابع، ماله وماعليه

    هذه صفحة ويكي للمشاركة في تقييم المهرجان لنخرج بدروس مستفادة


    1. ياريت نكون كسبنا ناس جديده
    2. عدد الحضور كان جيد جدا
    3. الروح العامة للمتطوعين كان جيدا


    1. الناس مش عارفه تستخدم الويكي... فضيحه
    2. الدنيا كانت سايحه و ماحدش فاهم حاجه في الترتيبات
    3. بعض الناس وعدت و مانفذتش
    4. كان فيه ناحيه من سوء التنظيم من اجل التحضير للمهرجان الليله السابقه عليه
    5. مكان الاحتفال كان ضيق جدا بالنسبة لعدد الحاضرين
    6. كان المفروض أن يكون هناك فواصل خشبية بين المحاضرات لعدم تداخل الأصوات
    7. لم يكن هناك mirror على الشبكة مما سبب بطء عند محاولة بنصيب برامج
    8. لم يكن هناك لوحات ارشادية لتوضيح مكان المحاضرات
    9. كثير من الناس ما كانوش محضرين اللى حيقولوه
    10. المنظر الخارجى للمكان كان سىء
    11. الانطباع العام كان عدم التنظيم
    12. Important yet missing presentations: Graphics software on Linux, WINE emulation to major industry Apps (AutoCAD, Flash), Gaming (Native and WINE, not so important but still impressive, 3d desktop sessions over the years have proven "impressive" is good), A full blown Advanced security session held for once.

    الموارد المتوفرة والمطلوبة "تصور"

    الموارد المتوفرة


    6أجهزة سطح مكتب

    المسرح متوفر فيه أجهزة صوت جيدة

    الكهرباء سيتم إعدادها قبل الإحتفالية بيوم هي والشبكة

    عرض اكثر من عضو ان يأتي بالسويتش الخاص به ولدينا حوالي 3 رواتر+سويتش وايرليس

    سيتوفر نسخ مطبوعة من الاعلان في نهاية الأسبوع ده، يعني السبت 25

    بروجيكتور نعرض عليه التقديمات "تقديمة عن سطر الأوامر,عرب ايز,فلسفة المصادر المفتوحة,بعض أدوات المصادر المفتوحه المعتمد عليها الويب اعتماد كلي الخ" : تم توفيره من احدى الشركات الداعمه

    تصور عن الموار المطلوب توفرها

    2- عدد 20 تي شيرت يحملون شعار اللج

    3- حنعمل تقييف لإسطوانة أبونتو (في انتظار اسلام)، ستقوم احدى الشركات المشاركة بطع الاسطوانات حين توافرها

    طبع عدة ورقات عن اللينوكس "شرح تعريف مفهوم مدخل "والمصادر المفتوحة.

    عمل تغطية إعلامية جيدة لليوم ومحاولة الإتصال بأكبر عدد ممكن من القنوات والجرائد

    الموارد التى تم توفيرها:

    • eSpace: مواصلات من والى الاسكندرية لمن يريد الحضور + بروجكتور
    • linuxawy: سويتش 8 بورت + لابتوب عليه اوبونتو يمكن عمل ديمو عليه + وايرلس راوتر يمكن استعماله لعمل هوت سبوت
    • OpenCraft: 500 اسطوانه أوبنتو. في انتظار النسخه المعدله
    • IT Synergy: 4 Computers
    • HaniGamal: 2 Computers

    كيف تصل الى موقع مهرجان لينكس 2007

    إنظر للصورة بالأسفل وإتبع التعليمات

    حسنا ان كنت تمل سيارة فالأفضل ان تقوم بإيقافها في اي موقف عمومي في وسط البلد,وان تكمل سيرا على الأقدام متبعاالتعليمات التالية

    ان كنت توجهت الى ميدان طلعت حرب

    اتخذ الشارع الذي سيكون على يمينك وانت مقابل لمحل جروبي الشارع يدعى محمود بسيوني استمر في

    الشارع حتى تجد سوبرماركت على ناصيةثاني شارع اسلك هذا الشارع دع اول تقاطع,عند

    ثاني تقاطع ستجد مقهى التكعيبه,تخطى المقهى,ستجد بعد ذلك التاون هاون وبجواره المسرح.

    ان كنت توجهت الى ميدان عبد المنعم رياض

    اجعل تمثال عبد المنعم رياض على يسارك والمتحف المصري خلفك واعبر في الاتجاه الأخر "اي اجعل وجهتك شارع محمود بسيوني وفي ظهرك المتحف"امض في الشارع حتى اول تقاطع عنده اتجه يسارا ستجد

    محل كباب وكفته شهير يدعى ابو خالد على اول شارع لج الشارع ستجد في نهايته مقهى التكعيبه عند انتهاء المقهى اتجه يسارا ستجد التاون هاوس وبجواره المسرح

    طريقة تانية للوصول للمهرجان !!

    شوف الصورة وإتبع الشرح

    إركب المترو خط المرج وإنزل محطة جمال عبد الناصر أول ما تطلع من المحطة هتلاقى قدامك دار القضاء العالى ومكتوب ( محكمة النقض ) إمشى علطول قدامها وإدخل أول شارع شمال هتلاقى نقابة الصحفيين أو إسأل على نقابة الصحفيين المهم أول ما تدخل شارع نقابة الصحفيين وتشوف النقابة على إيدك الشمال إدخل أول شارع يمين يقابلك هو ده شارع شمبليون إفضل ماشى فيه وعدى أول تقاطع عند تانى تقاطع هتلاقى محل كشرى مشهور إسمه كشرى أبو طارق على ناصية التقاطع التانى إمشى بعد كشرى أبو طارق علطول زى ما أنت وإدخل أو شارع شمال يقابلك هتلاقيه شارع صغير ومليان شجر كبير فى الشارع ده هتلاقى التكعيبة شوية كراسى مترصصة ناس قاعدة بتشيش إسألهم على التاون هاوس أو مسرح روابط وهما هيقلولك لو مش عاوز تسأل إمشى فى وسط الشارع لحد أول شارع على إيدك الشمال تلاقى مبنى لونه أصفر هو ده التاون هاوس الجراش اللى جنبه علطول هو ده مسرح روابط وحمد الله على السلامة وصلت :)

    لو عايز مساعدة اتصل بأحد المتطوعين:

    • مالك 0121340370
    • محمد 0127000136
    • محمود 0122799096
    • عمرو 0121700502


    يمكن للشركات المساهمة في نشاطات المهرجان عن طريق نسخ سيديهات، تي شيرتات، مطبوعات، الخ..

    أضف اسم الشركة للقائمة وتحديد المساهمة

    المقبول من الشركات المساهمة

    • كل شركة تود ان تقدم اسطوانات على الاقل 500 إسطوانة لكل شركة
    • كل شركة ترسل اللوجو الخاص بها لإيجي لج وسيتم تضمينه للتصميم الخاص بالإسطوانات ويعاد ارسال التصميم الى الشركة لكي تقوم بالنسخ.

    سيتم توفير اوتوبيس 50 فرد لنقل المهتمين بحضور المهرجان من الاسكندرية الى القاهرة والعكس مجانا. وسيتم توفير بروجكتور

    ملصق مهرجان تنصيب لينكس 2007

    ملصق مهرجان تنصيب لينكس 2007

    Banner 75% size

    Banner 75% size

    ملصق مهرجان تنصيب لينكس 2007

    البانر الخاص بالمهرجان

    يوم جنو لينكس الخامس

    احتفالية تنصيب جنو لينكس الخامسة

    السبت 9-2-2008 الساعة 10 صباحا


    مسرح روابط"تم الحسم لصالح روابط"

    تنصيب جنو لينكس للزوار بالإضافة للجلسات التقنية المقدمة من المتطوعين

    برجاء تعديل الصفحة و إضافة اسمك لقائمة المتطوعين إذا أردت المساهمة

    1. BooDy

    1. Ezabi

    1. Nero

    1. dr_drsh

    1. Ibrahim Taha
    2. خالد حسني

    تحضير مهرجان لينكس 5

    تم تحديد يوم المهرجان 9-2 لسه راجع النهاردة من ميعاد مع المسؤولين على روابط,تم الإتفاق على السبت 9-2,مسموح لنا بإستخدام المسرح من اليوم اللي قبلها من الساعه 11 بالليل. ممكن نفتح النقاش لكل اللي حنحتاجه في الاحتفالية اللي جايه

    1. بانر
    2. التوزيعة
    3. الإسطوانة المعدلة
    4. الدعاية"نت,ورق,ملصقات الخ"
    5. الاتصال بوسائل الإعلام"ضمنا تغطية من قناة الساعة لحد الأن"
    6. الشركات والرعاية

    حد بيكون بيستخدم الويكي احسن مني

    يوم جنو لينوكس فى مكتبة مبارك العامة بالأورمان

    الموعد :

    الجمعة 27/1/2006

    المكان :

    مكتبة مبارك العامة 4 ش الطحاوية متفرع من شارع النيل الجيزة أمام مديرية أمن الجيزة

    المشاركون :

    1. Khaled Hosny
    2. bestofnay
    3. Ahmed Amin
    4. Mohamed Tawfik (zamaliphe)
    5. Mohamed Samy
    6. Diaa Radwan (Conceptor)
    7. BlueViper
    8. MoudyMan (Ahmed Magdy)

    الأنشطة :


    1. introdcution to GNU/linux (Conceptor will do it )
    2. linux and games. (who can do it)
    3. open ofice .(who can do it)
    4. how to install linux in your pc? (conceptor & bestofnay will help on it)
    5. programming under linux. (who can do it)
    6. the kind of desktop in linux kde&gnome. (Khaled Hosny will do it)
    7. phaeronix live cd.(who can do it) is phaeronix ready or not will someone bring cds.
    8. Linux Networking Services + DeskTop TroubleShooting. "Including "SMB, NFS, DHCP, BIND, FTP, APACHE, SQUID" (Ahmed Magdy)



    here we work on translating articles.

    البرامج الموسيقية على لينوكس

    حضر الجلسة ستة أعضاء باستثناء ضياء. كنت أتوقع أن يحضر ما لا يقل عن عشرة، لذا انتظرت حتى الخامسة والربع، ثم ابتدأنا الجلسة.

    كنت قد خططت أن أركز على أنواع الملفات الشائعة الاستخدام فى إنتاج الموسيقى (وليس لمجرد الاستماع إليها)، وأن أعطى فكرة مختصرة عن البرامج التى تعطى هذه الأنواع من الملفات، فضلاً عن مقدمة عن التقنيات والمكتبات الضرورية لجعل كل ذلك ممكنـًا.

    ناقشت أولاً ملفات الصوت .wav و .aiff ذات البيانات غير المضغوطة (بخلاف .mp3 مثلاً)، وأخذت الحاضرين فى زيارة خاطفة لمحررات الصوت: Audacity, Ardour, DAP, ReZound.

    ثم أتى دور نوع .mid حيث ناقشت الفارق بينه وبين النوع الأول، مبيّنـًا كيف أنه يحتوى على بيانات الأداء وليس الصوت الناتج عن الأداء. ثم تبعت هذا بزيارة سريعة لـ Rosegarden (لم نتمكن من تشغيل MusE لسبب ٍ ما). أيضـًا ذكرت أن العيب الأساسى لملفات الـ MIDI هو أن جودة الصوت تعتمد كلية ً على معدات إصدار الصوت المستخدمة، ولذا فذات الملف يعطى أصواتـًا مختلفة تبعـًا لكروت الصوت أو أجهزة الأورج المستخدمة فى العزف.

    ثم ناقشت ملفات الـ .mod التى تحتوى على بيانات الأداء وعينات من أصوات الآلات المستخدمة فى كل ملف. ثم أخذت الحاضرين فى جولة ٍ سريعة فى SoundTracker و CheeseTracker المتنافسين الرئيسيين.

    بعدها تكلمت عن نوع .sf2 وهو عكس الـ .mid تمامـًا، إذ هو كالـ .mod بدون بيانات الأداء. وألقى الحاضرون نظرة سريعة على Swami و FluidSynth.

    ثم تحدثت بسرعة عن مخلقات الصوت (مثل amSynth) وبرامج تجهيز الإيقاعات باعتبارها برامج مساعدة.

    ثم بعد ذلك أعطيت مقدمة ً سريعة عن البرامج التحتية التى يعتمد عليها معظم، إن لم يكن كل، البرامج الموجودة لاستيفاء حاجاتها الأساسية للتعامل مع الصوت والـ MIDI: مثل ALSA, Jack, LADSPA, EcaSound .

    وأخيرًا تكلمت باختصار ٍ شديد عن برامج كتابة النوتة الموسيقية (على الأخص NoteEdit و LilyPond) حيث لم يُبدِ معظم الحاضرين اهتمامـًا ب

    لمزيد من المعلومات قم بزيارة الموقع المذكورالموسيقى المكتوبة.

    InkScape تعلم برنامج الرسوم

    الهدف من هذة السلسلة هو تعلم كيف تستخدم هذا البرنامج لعمل أيقونات متميزة.


    Inkscape محرر ممتاز للرسوم القابلة لتغيير حجمها SVG. يمكن عن طريقه عمل أيقونات رائعة بسهولة.فى هذا الجزء سوف تتعلم كيف تعد صفحتك لعمل أيقونات.

    على جانب الصفحة تجد أزرار الأداوات، و أعلى الصفحة أزرار خاصة بكل أداة. اذا تركت المؤشر فوق أحد الأزرار سيظهر تلميح عن وظيفة الزر. يمكنك روئية حدود الورقة (الوثيقة) التى سترسم بداخلها.

    يجب اعداد الورقة قبل البدء فى رسم الأيقونات. عادة ما تكون الايقونات مربعة لذا وجب اعداد الصفحة بحيث تكون مربعة أيضا.

    من قائمة الحوارات (Dialogs menu), أضغط على أختيارات (Document Options). ستظعر نافذة مثل التالية. قم بتغير طول و عرض الورقة ليصيرا متساويان، فى حالتنا سنختار 64×64 و هو الحجم المتعارف عليه للأيقونات.

    بعد ذلك، أستخدم عجلة الفأرة أو المتزلجات الجانبية و السفلية لنافذة InkScape الرئيسة لنوسط الورقة.

    ثم، أستخدم مفتاح الـ + أو الـ - على لوحة مفاتيحك لتكبير ورقتنا. يمكنك أيضا أستخدام أداة الزووم فى الناحية السفلية على الجهة اليسرى من النافذة الرئيسة هكذا:

    يمكنك كتابة أى قيمة تكبير تختارها فى هذا المربع.

    الأن نحن على اتم الأستعداد للبدأ فى الرسم. لنختار (Fill and Stroke) و (Item Properties) من قائمة الحوارات (Dialogs menu). حرك هاتان النافذتان ليكونا فى وضع مريح لك، كهذا المثال :

    الأيقونة الأولى

    لنصنع أول ايقونة، فلغرد التبسيط سنصنع أيقونة مبسطة تماما، سوف تستخدم كمؤشر التواجد فى برنامج Gossip.

    هل انت مستعد لعمل أول أيقونة على أنكسكايب ؟

    ستتعلم معظم الأدوات التى قد تحتاجها لعمل أيقونات. الأيقونة التى سنرسمها سيكون شكلها هكذا:


    أبدء برنامج Inkscape و جهز ورقتنا كما هو مكتوب فى الأسس.

    1. أختر أداة الأختيار (Selection tool)
    2. حرك دائرتك الى وسط النافذة بالنقر عليها و تحريكها.
    3. و أنت ضاغط على مفتاحى ال Shift و ال Ctrl ، أستخدم مقبض التحجيم لتحول حجم الدائرة للمثال التالى:


    أجعل أسلوب الملء (Fill Style) للمتدرج (Gradient) نافذة المتدرجات (Gradients Dialogue) شكلها هاكذا


    translation of How To Ask Questions The Smart Way

    التنصل :

    العديد من مواقع المشاريع بتحط رابط لهذه الوثيقة فى صفحة كيفية طلب المساعدة الخاصة بموقعهم. شيئ جميل . ده الاستخدام المقصود -- لكن لو انت مسئول عن موقع و بتحط الرابط ده فى موقع مشروعك , يا ريت توضح قريب من الرابط ان احنا مش الدعم الفنى المخصوص بالمشروع بتاعك !

    احنا اتعلمنا بالطريقة الصعبة ان من غير الملحوظة دى هيتكرر اننا نستقبل رسائل مؤرفة كتير جدا من مجموعة مهاطيل معتقدين ان احنا بنشرنا للوثيقة دى نكون مسئولين عن حل المشاكل التقنية فى العالم كله.

    لو كنت بتقرأ هذه الوثيقة بحثا عن مساعدة , و مشيت و انت واخد الانطباع ان انت ممكن تحصل عليها مباشرة من المؤلفين , يبقى انك واحد من المهاطيل المذكورين , لا تسألنا اى أسئلة , هنتجاهلها, احنا هنا علشان نوريك ازاى تحصل على المساعدة من الناس اللى فى الواقع يعرفوا عن البرامج او المعدات اللى انت بتتعامل معها, لكن بنسبة ٩٩% مش هيكونوا احنا, الا لو انت متأكد ان واحد من المؤلفين خبير فى الشيئ اللى بتتعامل معاه , سيبنا فى حالنا و الجميع هيكون مبسوط اكثر .


    فى دنيا الهاكرز نوع الاجابات اللى بتحصل عليها لاسئلتك التقنية يعتمد على الطريقة اللى بتسأل بها زى ما بيعتمد على صعوبة استنتاج الاجوبة , الدليل ده هيعلمك ازاى تسأل بطريقة تزود من فرص حصولك على الاجوبة التى ترضيك .

    حاليا استخدام المصادر المفتوحة انتشر , عادة يمكنك الحصول على أجوبة من من مستخدمين اخر اكثر خبرة غير الهاكرز , ده شيئ جيد , المستخدمين بيميلوا لانهم يكونوا أكثر تسامحا مع نوع الفشل بتاع المبتدئين , لكن لا يزال التعامل مع المستخدمين الأكثر خبرة مثل الهاكرز بالطرق اللى بنقترحها هنا هيوصلك عامة لتخريج أحوبة مفيدة منهم, أيضا .

    أول حاجة تفهمها ان الهاكرز فى الواقع بيحبوا المشاكل الصعبة , و الاسئلة الجيدة المثيرة للتفكير عن هذه المشاكل , لو لم نكن لما كنا هنا , لو اعطيتنا سؤال مثير للاهتمام نتسلى بيه هنكون شاكرين , الاسئلة الجيدة حافز و هدية , الاسئلة الجيدة بتساعدنا على تطوير فهمنا , و عادة بتكشف مشاكل يمكن مكناش لاحظناها أو فكرنا فيها , بين الهاكرز "سؤال جيد!" يعتبر تقدير قوى و مخلص .

    على الرغم من هذا , الهاكرز لهم سمعة عن مقابلة الاسئلة البسيطة بما يبدو كعدوانية أو غرور , فى بعض الاحيان يظهر بشكل انعكاسى اننا وقحين مع المبتدئين و الجاهلين , لكن ده مش حقيقى فعل ا

    احنا بدون اعتذار عدوانيين تجاه الناس الذين لا يبدو ان عندهم الرغبة فى التفكير او عمل واجباتهم المنزلية قبل ان يسألوا , ناس زى دول بيشفطوا الوقت -- بياخذوا و لا يردوا , بيضيعوا وقت كان من الممكن انوا يستخدم فى الرد على سؤال اخر اكثر اهمية و شخص اخر احق بالرد عليه , الناس دول بنطلق عليهم الفشلة .

    ونحن ندرك ان هناك الكثير من الناس لا يريدون سوى استخدام البرامج نكتب ، وليس لها من مصلحة في التعلم من التفاصيل التقنيه. For most people, a computer is merely a tool, a means to an end; they have more important things to do and lives to live. بالنسبة لمعظم الناس ، والحاسوب هو مجرد اداة ، وسيلة لتحقيق غاية لها اشياء اكثر اهمية للقيام حياة والعيش. We acknowledge that, and don't expect everyone to take an interest in the technical matters that fascinate us. ونحن نعترف بان ، ولا نتوقع ان يتخذ كل فرد لديه مصلحة في الامور الفنية التي اسحر علينا. Nevertheless, our style of answering questions is tuned for people who do take such an interest and are willing to be active participants in problem-solving. ومع ذلك ، فإن فرض اسلوب الاجابه عن الاسءله هو ليتوافق مع الشعب من القيام اتخاذ مثل هذا الاهتمام وعلى استعداد للمشاركة فعالة في حل المشاكل. That's not going to change. وهذا لن يؤدي الى تغيير. Nor should it; if it did, we would become less effective at the things we do best. ولا ينبغي له ؛ اذا فعلت ذلك ، نود ان اصبح اقل فعالية في امور نفعل افضل.

    We're (largely) volunteers. نحن (الى حد كبير) متطوعين. We take time out of busy lives to answer questions, and at times we're overwhelmed with them. ونحن من يحتاج الى وقت مشغول حياة للاجابة على الاسءله ، ونحن في بعض الاحيان تطغى معها. So we filter ruthlessly. مرشح لذلك نحن بلا رحمة. In particular, we throw away questions from people who appear to be losers in order to spend our question-answering time more efficiently, on winners. على وجه الخصوص ، ونحن رمى بعيدا عن اسءله الناس من الخاسرين ويبدو ان تنفق من أجل الاجابه على سؤالنا - الوقت بكفاءه أكبر ، وعلى الفائزين.

    If you find this attitude obnoxious, condescending, or arrogant, check your assumptions. اذا وجدت ان هذا الموقف البغيض ، والتنازل ، او الغطرسه ، والتحقق من الافتراضات الخاصة بك. We're not asking you to genuflect to us — in fact, most of us would love nothing more than to deal with you as an equal and welcome you into our culture, if you put in the effort required to make that possible. نحن لا نطلب منكم اركع لنا -- فى الحقيقة ، معظمنا الحب ليس اكثر من التعامل معك كشريك على قدم المساواة وارحب بكم في ثقافتنا ، وانك اذا وضعت في الجهد المطلوب لجعل ذلك ممكنا. But it's simply not efficient for us to try to help people who are not willing to help themselves. ولكن ببساطة ليست فعالة بالنسبة لنا في محاولة لمساعدة الناس على من ليسوا على استعداد لمساعدة انفسهم. It's OK to be ignorant; it's not OK to play stupid. انه موافق على ان الجاهل ؛ انه غير موافق للعب غبيه.

    So, while it isn't necessary to already be technically competent to get attention from us, it is necessary to demonstrate the kind of attitude that leads to competence — alert, thoughtful, observant, willing to be an active partner in developing a solution. ذلك ، وفي حين انه ليس من الضروري ان يكون بالفعل من الناحية الفنية المختصة للحصول على الاهتمام منا ، ومن الضروري لاثبات نوع من الموقف الذي يؤدي الى اختصاص -- الانذار ، ومدروس ، ملاحظ ، على استعداد لتكون شريكا نشطا فى ايجاد حل. If you can't live with this sort of discrimination, we suggest you pay somebody for a commercial support contract instead of asking hackers to personally donate help to you. اذا كنت لا تستطيع العيش مع هذا النوع من التمييز ، نقترح عليك أن تدفع شخص ما لعقد تجاري لدعم العقد بدلا من مطالبة القراصنه تبرع شخصيا لمساعدة لكم.

    If you decide to come to us for help, you don't want to be one of the losers. اذا قررت ان تأتي الينا للمساعدة ، كنت لا تريد ان تكون من الخاسرين. You don't want to seem like one, either. كنت لا تريد ان تبدو مثل واحد ، اما. The best way to get a rapid and responsive answer is to ask it like a person with smarts, confidence, and clues who just happens to need help on one particular problem. أفضل طريقة للحصول على استجابة سريعه والجواب هو ان يطلب اليها مثل شخص يشعر بالخجل ، والثقة ، والقرائن ويحدث من مجرد الحاجة الى مساعدة احد على مشكلة معينة.

    (Improvements to this guide are welcome. You can mail suggestions to [email protected] or [email protected] . Note however that this document is not intended to be a general guide to netiquette , and we will generally reject suggestions that are not specifically related to eliciting useful answers in a technical forum.) (ادخال تحسينات على هذا الدليل هي موضع ترحيب. يمكنك إرسال الاقتراحات الى [email protected] او [email protected] ومع ملاحظه ان هذه الوثيقة لا يقصد بها ان تكون دليلا عاما للnetiquette ، وعموما نحن نرفض ان الاقتراحات لا تتصل تحديدا الى الحصول على اجابات مفيدة في المنتدى التقني.) Before You Ask قبل ان تسأل

    Before asking a technical question by e-mail, or in a newsgroup, or on a website chat board, do the following: وقبل أن أطرح مسألة تقنيه عن طريق البريد الالكتروني ، أو في مجموعة الأخبار ، أو على موقع على شبكة الانترنت الدردشه المجلس ، والقيام بما يلي :


    Try to find an answer by searching the archives of the forum you plan to post to. في محاولة لإيجاد إجابة عن طريق البحث في الأرشيف للمنتدى كنت تخطط لفترة ما بعد الى. 2.

    Try to find an answer by searching the Web. في محاولة لإيجاد إجابة عن طريق البحث في الشبكه العالمية. 3.

    Try to find an answer by reading the manual. في محاولة لإيجاد إجابة عن طريق قراءة الدليل. 4.

    Try to find an answer by reading a FAQ. في محاولة لايجاد اجابة الاسءله الشاءعه في القراءة. 5.

    Try to find an answer by inspection or experimentation. في محاولة لإيجاد إجابة عن طريق التفتيش او الاختبار. 6.

    Try to find an answer by asking a skilled friend. في محاولة لإيجاد إجابة السؤال ماهرة صديق. 7.

    If you're a programmer, try to find an answer by reading the source code. اذا كنت مبرمج ، في محاولة لإيجاد إجابة عن طريق قراءة شفره المصدر.

    When you ask your question, display the fact that you have done these things first; this will help establish that you're not being a lazy sponge and wasting people's time. عندما كنت أسأل سؤالك ، تظهر حقيقة ان ما قمتم به ، أول هذه الاشياء ؛ هذا من شأنه ان يساعد انشاء انك لا يشكل كسلان الاسفنج واضاعة وقت الناس. Better yet, display what you have learned from doing these things. والافضل من ذلك ، عرض ما لديك علم عن القيام به هذه الاشياء. We like answering questions for people who have demonstrated they can learn from the answers. ونحن مثل الاجابه عن الاسءله من الناس لانها اثبتت ان نتعلم من الاجابات.

    Use tactics like doing a Google search on the text of whatever error message you get (searching Google groups as well as Web pages). استخدام تكتيكات مثل أداء صور البحث عن نص رسالة الخطأ أيا كانت تحصل عليه (البحث عن صور المجموعات فضلا عن صفحات الويب). This might well take you straight to fix documentation or a mailing list thread answering your question. هذا قد ياخذك مباشرة الى تحديد الوثائق في قائمة بريديه او خيط الاجابه على سؤالك. Even if it doesn't, saying “ I googled on the following phrase but didn't get anything that looked promising ” is a good thing to do in e-mail or news postings requesting help, if only because it records what searches won't help. وحتى اذا لم يحدث ذلك ، قائلا : "انا googled على العبارة التالية ولكن لم احصل على اي شيء واعدا" امر جيد ان تفعل في البريد الالكتروني او اخبار التعيينات التي تطلب المساعدة ، اذا كان فقط لأنه ما سجلات عمليات البحث وفاز ' ر مساعدة. It will also help to direct other people with similar problems to your thread by linking the search terms to what will hopefully be your problem and resolution thread. وستساعد ايضا على شعب آخر المباشر مع مشاكل مماثلة الى حسابك في الخيط من خلال ربط مصطلحات البحث الى ما يؤمل أن المشكلة التي تعاني منها والخيط القرار.

    Take your time. خذ الوقت الكافي. Do not expect to be able to solve a complicated problem with a few seconds of Googling. لا نتوقع ان تكون قادرة على حل مشكلة معقدة مع بضع ثوان من googling. Read and understand the FAQs, sit back, relax and give the problem some thought before approaching experts. قراءة وفهم الاسءله المتكررة ، ويستريح ، والاسترخاء واعطاء هذه المشكلة قبل ان تقترب من الفكر وبعض الخبراء. Trust us, they will be able to tell from your questions how much reading and thinking you did, and will be more willing to help if you come prepared. نحن على ثقة ، انهم سيتمكنون من أسئلتك اقول كم القراءة والتفكير فعلتم ، وسوف يكون اكثر استعدادا للمساعدة اذا كنت على استعداد. Don't instantly fire your whole arsenal of questions just because your first search turned up no answers (or too many). لا النار فورا الخاص بك ترسانة كاملة من الاسءله الخاصة بك لمجرد ان البحث الاولي ولم يتمخض الاجوبه (أو كثيرة جدا).

    Prepare your question. اعداد سؤالك. Think it through. اعتقد انه من خلال. Hasty-sounding questions get hasty answers, or none at all. - التسرع في الحصول على سبر الاسءله اجابات متسرعه ، أو لا شيء على الاطلاق. The more you do to demonstrate that having put thought and effort into solving your problem before seeking help, the more likely you are to actually get help. وكلما لاثبات ان تفعل بعد ان طرح الفكر والجهد في حل المشكلة التي تعاني منها قبل طلب المساعدة ، على الارجح انت فعلا الى الحصول على مساعدة.

    Beware of asking the wrong question. حذار من السؤال السؤال الخطأ. If you ask one that is based on faulty assumptions, J. Random Hacker is quite likely to reply with a uselessly literal answer while thinking “ Stupid question... ”, and hoping the experience of getting what you asked for rather than what you needed will teach you a lesson. اذا طلبت من احد ان يقوم على افتراضات خاطءه ، J. عشواءيه هاكر على الارجح للرد بشكل عديم الفاءده الحرفي مع التفكير في حين ان الاجابه "سؤال غبي..." ، وآملا في الحصول على تجربة ما طلبته بدلا من التركيز على ما انت بحاجة وسوف يعلمك درسا.

    Never assume you are entitled to an answer. أبدا تحمل يحق لك جوابا. You are not; you aren't, after all, paying for the service. انت لا ؛ انت لا ، على كل حال ، دفع لهذه الخدمة. You will earn an answer, if you earn it, by asking a substantial, interesting, and thought-provoking question — one that implicitly contributes to the experience of the community rather than merely passively demanding knowledge from others. هل سيحصلون على جواب ، اذا كنت تكسب ، ومطالبة كبيرة ، للاهتمام ، ويشحذ الفكر مسألة -- واحد ضمنا ان تساهم الخبرة المكتسبه من المجتمع بدلا من مجرد طلب المعرفه بشكل سلبي من الآخرين.

    On the other hand, making it clear that you are able and willing to help in the process of developing the solution is a very good start. ومن ناحية اخرى ، مما يوضح ان كنت قادرا وعلى استعداد للمساعدة في عملية وضع الحل هو بداية طيبة جدا. “ Would someone provide a pointer? ”, “ What is my example missing? ”, and “ What site should I have checked? ” are more likely to get answered than “ Please post the exact procedure I should use. ” because you're making it clear that you're truly willing to complete the process if someone can just point you in the right direction. "شخص ما من شأنه ان يوفر المؤشر؟" ، و "ما هو مثالي المفقودين؟" ، و "ما الموقع الذي يجب ان تأكد لي؟" على الارجح للحصول على رد من "يرجى على وجه الدقه ما بعد اجراء لي أن أستخدم." أنك موضحه إن كنت حقا على استعداد لاكمال العملية اذا كان هناك من يمكن لكم مجرد نقطة في الاتجاه الصحيح. When You Ask عندما كنت أسأل Choose your forum carefully اختر منتدى بعناية

    Be sensitive in choosing where you ask your question. ان تراعى في اختيار حيث كنت أسأل سؤالك. You are likely to be ignored, or written off as a loser, if you: يمكن أن تكون أنت تجاهلها ، او شطب خاسرا ، وإذا كنت :


    post your question to a forum where it's off topic نشر سؤالك الى منتدى يمكن فيه لانها تخرج عن الموضوع *

    post a very elementary question to a forum where advanced technical questions are expected, or vice-versa مرحلة ما بعد الابتداءيه للغاية في المساله الى المنتدى مسائل تقنيه متقدمة حيث من المتوقع ، او العكس بالعكس *

    cross-post to too many different newsgroups عبر عدد كبير جدا من الوظائف لمختلف مجموعات الأخبار *

    post a personal e-mail to somebody who is neither an acquaintance of yours nor personally responsible for solving your problem بعد شخصي البريد الالكتروني لشخص ما ليس من التعارف وجود لك ولا مسؤولا بصفة شخصية عن حل مشكلتك

    Hackers blow off questions that are inappropriately targeted in order to try to protect their communications channels from being drowned in irrelevance. القراصنه ضربة من الاسءله التي هي في غير موضعها المستهدفة فى محاولة لحمايه مصالحها من قنوات الاتصال لقوا مصرعهم غرقا في عدم جواز الاحتجاج. You don't want this to happen to you. كنت لا تريد لهذا أن يحدث لكم.

    The first step, therefore, is to find the right forum. الخطوة الاولى ، ولذلك ، هو العثور على الحق في المنتدى. Again, Google and other Web-searching methods are your friend. مرة اخرى ، وصور وغيرها من اساليب البحث على شبكة الانترنت هي رفيقك. Use them to find the project webpage most closely associated with the hardware or software giving you difficulties. استخدامها للعثور على صفحة ويب معظم المشاريع التي ترتبط ارتباطا وثيقا أجهزة او برامج اعطائك الصعوبات. Usually it will have links to a FAQ (Frequently Asked Questions) list, and to project mailing lists and their archives. وعادة ما سيكون لها روابط الى الاسءله الشاءعه (اسءله واجوبه) قائمة ، ومشروع لقوائم عناوين البريد الالكتروني والمحفوظات. These mailing lists are the final places to go for help, if your own efforts (including reading those FAQs you found) do not find you a solution. هذه القوائم البريديه النهائي الذهاب الى اماكن للمساعدة ، اذا كانت جهودكم (بما لكم قراءة هذه الاسءله المتكررة وجدت) لا تجد لك الحل. The project page may also describe a bug-reporting procedure, or have a link to one; if so, follow it. الصفحه المشروع ويمكن ايضا وصفا لعله - اجراءات تقديم التقارير ، او وصلة لأحد ؛ واذا كان الامر كذلك ، ومتابعته.

    Shooting off an e-mail to a person or forum which you are not familiar with is risky at best. اطلاق النار من اي بالبريد الالكتروني الى شخص او المنتدى الذي أنت لم تكن مالوفه مع خطر هو في احسن الاحوال. For example, do not assume that the author of an informative webpage wants to be your free consultant. فعلى سبيل المثال ، لا تفترض ان صاحب اعلامي على صفحة الويب الخاصة بك تريد ان تكون حرة خبير استشاري. Do not make optimistic guesses about whether your question will be welcome — if you're unsure, send it elsewhere, or refrain from sending it at all. لا تجعل التفاؤل التكهنات حول ما إذا كان سؤالك سيكون محل ترحيب -- اذا كنت غير متأكد ، وارسل الى مكان آخر ، او تمتنع عن ارسال عليها على الاطلاق.

    When selecting a Web forum, newsgroup or mailing list, don't trust the name by itself too far; look for a FAQ or charter to verify your question is on-topic. عند اختيار شبكة منتدى ، مجموعة الاخبار او القوائم البريديه ، لا يثقون الاسم في حد ذاته بعيدا ؛ البحث عن الاسءله الشاءعه او ميثاق للتحقق من سؤالك - على الموضوع. Read some of the back traffic before posting so you'll get a feel for how things are done there. قراءة بعض من عودة حركة المرور قبل النشر وهكذا لن تضطر في التعود على الكيفيه التي تجري بها الامور هناك. In fact, it's a very good idea to do a keyword search for words relating to your problem on the newsgroup or mailing list archives before you post. في الواقع ، انها فكرة جيدة جدا للقيام الكلمات الرئيسية للبحث عن الكلمات المتعلقة مشكلتك على مجموعة الاخبار او ارشيف القوائم البريديه قبل ان تقوم بعد. It may find you an answer, and if not it will help you formulate a better question. إن كنت قد تجد اجابة ، واذا لم يكن الامر سوف تساعدك على وضع هذه المساله على نحو افضل.

    Don't shotgun-blast all the available help channels at once, that's like yelling and irritates people. لا بندقيه - الانفجار كل القنوات المتاحة للمساعدة في مرة واحدة ، مثل هذا الصراخ ويهيج الناس. Step through them softly. خطوة منها عن طريق ناعم.

    Know what your topic is! نعرف ما هو الموضوع الخاص بك! One of the classic mistakes is asking questions about the Unix or Windows programming interface in a forum devoted to a language or library or tool portable across both. واحدة من الاخطاء هو كلاسيكي واستفسرت عن يونيكس او واجهة برمجة ويندوز في منتدى مخصص لاو اللغة او مكتبه او عبر أداة محمولة على حد سواء. If you don't understand why this is a blunder, you'd be best off not asking any questions at all until you get it. اذا كنت لا أفهم السبب في ذلك هو خطأ ، وكنت افضل ان لا نطلب من اي اسءله على الاطلاق حتى تحصل عليه.

    In general, questions to a well-selected public forum are more likely to get useful answers than equivalent questions to a private one. وبصفة عامة ، بالاضافة الى مسائل عامة مختارة - منتدى الارجح للحصول على اجابات مفيدة من الاسءله ما يعادل واحدا الى القطاع الخاص. There are multiple reasons for this. وهناك أسباب متعددة لذلك. One is simply the size of the pool of potential respondents. واحد هو مجرد حجم مجموعة من الردود المحتملة. Another is the size of the audience; hackers would rather answer questions that educate many people than questions serving only a few. وثمة عامل آخر هو حجم الجمهور ؛ القراصنه بدلا من الرد على الاسءله التي تثقيف العديد من الناس من الاسءله التي تخدم سوى عدد قليل.

    Understandably, skilled hackers and authors of popular software are already receiving more than their fair share of mis-targeted messages. ومن المفهوم ان المتسللين والمهرة واضعي البرامج الشعبية هي بالفعل تلقى اكثر من نصيبها العادل من الرسائل التي تستهدف نظم المعلومات الاداريه. By adding to the flood, you could in extreme cases even be the straw that breaks the camel's back — quite a few times, contributors to popular projects have withdrawn their support because collateral damage in the form of useless e-mail traffic to their personal accounts became unbearable. عن طريق اضافة الى الفيضانات ، يمكنك القيام بذلك حتى في الحالات القصوى ان يكون سترو ان تكسر ظهر الجمل -- عدد غير قليل من الأحيان ، إلى المساهمة في المشاريع الشعبية قد سحبت دعمها لان الاضرار الجانبية في شكل البريد الالكتروني عديم الفاءده حركة المرور الى الحسابات الشخصيه لل واصبح لا يطاق. Web and IRC forums directed towards newbies often give the quickest response منتديات الإنترنت والموجهة نحو المركز newbies في كثير من الاحيان اسرع استجابة

    Your local user group, or your Linux distribution, may advertise a Web forum or IRC channel where newbies can get help. مجموعة المستخدم المحلي الخاص بك ، او توزيع لينكس الخاص بك ، قد اعلن على شبكة الانترنت او المركز منتدى قناة newbies حيث يمكن الحصول على مساعدة. (In non-English-speaking countries newbie forums are still more likely to be mailing lists.) These are good first places to ask, especially if you think you may have tripped over a relatively simple or common problem. (في غير البلدان الناطقه بالانكليزية مبتدئ المنتديات لا تزال اكثر من المرجح ان تكون القوائم البريديه.) وهذه هي أولى جيدة اماكن لاسال ، لا سيما إذا كنت تعتقد أنك قد تكون اكثر متعثر بسيطة نسبيا او مشكلة مشتركة. An advertised IRC channel is an open invitation to ask questions there and often get answers in real time. الاعلان عن وجود قناة المركز هو دعوة مفتوحة لطرح الاسءله وهناك في كثير من الاحيان احصل على اجوبه في الوقت الحقيقي.

    In fact, if you got the program that is giving you problems from a Linux distribution (as common today), it may be better to ask in the distro's forum/list before trying the program's project forum/list. وفي الواقع ، اذا كنت قد حصلت وهذا هو البرنامج مما يتيح لك المشاكل من توزيعات لينكس (كما المشتركة اليوم) ، وقد يكون من الافضل ان تسأل في منتدى distro / قائمة قبل محاولة البرنامج مشروع المنتدى / قائمة. The project's hackers may just say, “ use our build ”. المشروع قد المتسكعين فقط ان اقول ، "استعمل البناء".

    Before posting to any Web forum, check if it has a Search feature. قبل ان ترسل رسالة إلى أي منتدى على الشبكه العالمية ، ومعرفة ما اذا كان لديها ميزة البحث. If it does, try a couple of keyword searches for something like your problem; it just might help. إذا فعلت ذلك ، حاول اثنين من الكلمات الرئيسية للبحث عن شيء مثل مشكلتك ، بل قد يساعد فقط. If you did a general Web search before (as you should have), search the forum anyway; your Web-wide search engine might not have all of this forum indexed recently. اذا كنت لم عامة للبحث في صفحات الانترنت قبل (كما ينبغي ان يكون) ، بحث المنتدى على أية حال ؛ الويب الخاص بك - محرك البحث على نطاق واسع قد لا يكون جميع من في هذا المنتدى مفهرسه في الاونة الاخيرة.

    There is an increasing tendency for projects to do user support over a Web forum or IRC channel, with e-mail reserved more for development traffic. وهناك ميل متزايد للمشاريع لدعم ما يزيد على القيام مستخدم على الشبكه العالمية منتدى قناة او المركز ، والتعامل مع البريد الالكتروني أكثر محفوظة للتنمية حركة المرور. So look for those channels first when seeking project-specific help. فانظر لتلك القنوات الأولى عند طلب مساعدة لمشاريع محددة. As a second step, use project mailing lists وكخطوه ثانية ، ومشروع استخدام القوائم البريديه

    When a project has a development mailing list, write to the mailing list, not to individual developers, even if you believe you know who can best answer your question. عندما أطلق مشروع التنمية القائمة البريديه ، والكتابة الى القائمة البريديه ، وليس لفرد مطورين ، حتى اذا كنت تعتقد انك تعرف افضل من يستطيع الاجابه على سؤالك. Check the documentation of the project and its homepage for the address of a project mailing list, and use it. التحقق من وثائق المشروع وعنوان الصفحه الرئيسية للمشروع من القائمة البريديه ، واستخدامها. There are several good reasons for this policy: وهناك عدة أسباب وجيهه لهذه السياسة :


    Any question good enough to be asked of one developer will also be of value to the whole group. أي مسألة جيدة بما فيه الكفايه لأحد ان يطلب من المطور وسوف يكون ذا قيمة ايضا لتلك المجموعة. Contrariwise, if you suspect your question is too dumb for a mailing list, it's not an excuse to harass individual developers. على النقيض من ذلك ، اذا كنت تظن سؤالك غبيه جدا لقائمة بريديه ، انها ليست ذريعة لمضايقه الفرديه مطورين. *

    Asking questions on the list distributes load among developers. طرح الاسءله على لائحة توزيع الحموله فيما بين المطورين. The individual developer (especially if he's the project leader) may be too busy to answer your questions. الفرد المطور (لا سيما اذا كان للرئيس المشروع (قد تكون مشغوله جدا للإجابة على اسئلتكم. *

    Most mailing lists are archived and the archives are indexed by search engines. معظم القوائم البريديه الارشيف والمحفوظات مفهرسه بحسب محركات البحث. If you ask your question on-list and it is answered, a future querent could find your question and the answer on the Web instead of asking it again. اذا كنت أسأل سؤالك - على قائمة والاجابه هي انه ، في المستقبل querent يمكن ان تجد سؤالك والجواب على شبكة الانترنت بدلا من مطالبة مرة اخرى. *

    If certain questions are seen to be asked often, developers can use that information to improve the documentation or the software itself to be less confusing. واذا كانت بعض الاسءله التي ينظر اليها على ان يطلب في كثير من الاحيان ، يمكن للمطورين استخدام تلك المعلومات لتحسين وثائق او البرنامج نفسه الى ان تكون اقل التشويش. But if those questions are asked in private, nobody has the complete picture of what questions are asked most often. ولكن اذا كانت تلك هي الاسءله التي طلب في القطاع الخاص ، لا احد لديه صورة كاملة عن ما طرح الاسءله في اغلب الاحيان.

    If a project has both a “ user ” and a “ developer ” (or “ hacker ”) mailing list or Web forum, and you are not hacking on the code, ask in the “ user ” list/forum. اذا كان هذا المشروع على حد سواء "المستخدم" و "مطور" (او "هاكر" (قائمة بريديه او منتدى على الشبكه العالمية ، وأنت لا تقطيع على المدونه ، اسال في "المستخدم" قائمة / المنتدى. Do not assume that you will be welcome on the developer list, where they're likely to experience your question as noise disrupting their developer traffic. لا تفترض ان انت سيكون محل ترحيب على قائمة المطور ، حيث انهم من المرجح ان التجربه سؤالك ضجيجا المطور على تعطيل حركة المرور.

    However, if you are sure your question is non-trivial, and you get no answer in the “ user ” list/forum for several days, try the “ developer ” one. ومع ذلك ، اذا كنت متاكد من سؤالك غير تافهه ، وكنت احصل على أي جواب في "المستخدم" قائمة / المنتدى لعدة أيام ، في محاولة "المطور" واحدة. You would be well advised to lurk there for a few days before posting to learn the local folkways (actually this is good advice on any private or semi-private list). هل يستحسن ان ترصد هناك لبضعة أيام قبل النشر لمعرفة folkways المحلية (وهذا هو في الواقع على اي نصيحه جيدة خاصة او شبه خاصة قائمة).

    If you cannot find a project's mailing list address, but only see the address of the maintainer of the project, go ahead and write to the maintainer. اذا لم تتمكن من العثور مشروع القائمة البريديه للمعالجة ، ولكن فقط أنظر العنوان من maintainer من المشروع ، والمضي قدما في الكتابة الى maintainer. But even in that case, don't assume that the mailing list doesn't exist. ولكن حتى في تلك الحاله ، لا تفترض ان القائمة البريديه التي لا وجود له. Mention in your e-mail that you tried and could not find the appropriate mailing list. اذكر في البريد الالكتروني الخاص بك ولقد حاولت أن تعذر العثور على المناسبه القائمة البريديه. Also mention that you don't object to having your message forwarded to other people. اذكر ايضا ان كنت لا يعترض على رسالتك وبعد أن أحيل الى اشخاص آخرين. (Many people believe that private e-mail should remain private, even if there is nothing secret in it. By allowing your message to be forwarded you give your correspondent a choice about how to handle your e-mail.) (كثير من الناس يعتقدون ان البريد الالكتروني الخاص ينبغي أن يظل القطاع الخاص ، حتى اذا كان هناك اي شيء في السر. بالسماح رسالتك على ان تقدم لكم قم مراسل الاختيار حول كيفية التعامل مع البريد الالكتروني الخاص بك.) Use meaningful, specific subject headers استخدام ذات مغزى ، موضوع محدد رؤوس

    On mailing lists, newsgroups or Web forums, the subject header is your golden opportunity to attract qualified experts' attention in around 50 characters or fewer. المدرجه في القوائم البريديه ، المجموعات الاخباريه او المنتديات على الشبكه العالمية ، وهذا الموضوع هو العنوان الخاص بك فرصة ذهبية لخبراء مؤهلين وجذب اهتمام في حوالى 50 حرفا أو أقل. Don't waste it on babble like “ Please help me ” (let alone “ PLEASE HELP ME!!!! ”; messages with subjects like that get discarded by reflex). لا النفايات على الضجيج مثل "يرجى مساعدتي" (ناهيك عن "الرجاء مساعدتي!"! ؛ الرسائل مع مواضيع مثل التخلص من قبل ان احصل على رد الفعل). Don't try to impress us with the depth of your anguish; use the space for a super-concise problem description instead. لا تحاول اقناع لنا عمق الخاص بك الكرب ؛ استخدام الفضاء لعظمى موجزة وصف المشكلة بدلا من ذلك.

    One good convention for subject headers, used by many tech support organizations, is “ object - deviation ”. جيد واحد على اتفاقيه لرؤوس الموضوع ، وتستخدم من قبل العديد من المنظمات دعم فني ، هو "وجوه -- الانحراف". The “ object ” part specifies what thing or group of things is having a problem, and the “ deviation ” part describes the deviation from expected behavior. "وجوه" الجزء يحدد شيء ما أو مجموعة من الأشياء هو وجود مشكلة ، و "الانحراف" ويصف الجزء الانحراف عن السلوك المتوقع.

    Stupid: غبي :

    HELP! مساعدة! Video doesn't work properly on my laptop! الفيديو لا يشتغل على الكمبيوتر المحمول بلدي! Smart: الذكيه : 6.8.1 misshapen mouse cursor, Fooware MV1005 vid. 6.8.1 ممسوخ مؤشر الماوس ، fooware mv1005 vid. chipset الشرائح Smarter: اذكي : 6.8.1 mouse cursor on Fooware MV1005 vid. 6.8.1 مؤشر الماوس على fooware mv1005 vid. chipset - is misshapen الشرائح -- هو ممسوخ

    The process of writing an “ object-deviation ” description will help you organize your thinking about the problem in more detail. عملية كتابة "اوجه الانحراف" وصف يساعدك على تنظيم الخاصة بك التفكير في المشكلة بمزيد من التفصيل. What is affected? ما هو المتضرر؟ Just the mouse cursor or other graphics too? مجرد مؤشر الماوس او غيرها من الرسومات ايضا؟ Is this specific to the version of X? هذا هو محدد الى الاصدار العاشر من؟ To version 6.8.1? الى النسخه 6.8.1؟ Is this specific to Fooware video chipsets? هذا هو على وجه التحديد fooware رقائق الفيديو؟ To model MV1005? نموذج لmv1005؟ A hacker who sees the result can immediately understand what it is that you are having a problem with and the problem you are having, at a glance. أ هاكر من يرى ان النتيجة يمكن ان يفهم على الفور ان ما هو انت مع وجود مشكلة ومشكلة انت بعد ، في لمحة.

    More generally, imagine looking at the index of an archive of questions, with just the subject lines showing. وبوجه اعم ، تصوروا عند النظر الى الرقم القياسي للارشيف من الاسءله ، فقط مع هذا الموضوع تبين الخطوط. Make your subject line reflect your question well enough that the next guy searching the archive with a question similar to yours will be able to follow the thread to an answer rather than posting the question again. اجعل سطر الموضوع تعكس سؤالك جيدا بما فيه الكفايه في ان يكون الاجتماع المقبل غي البحث في ارشيف مع سؤال مماثل للك ان يتابعوا الخيط الى الاجابه بدلا من نشر هذه المساله مرة اخرى.

    If you ask a question in a reply, be sure to change the subject line to indicate that you're asking a question. اذا كنت اطرح سؤال في رده ، تأكد من تغيير سطر الموضوع تشير إلى أن كنت طالبا في مسألة ما. A Subject line that looks like “ Re: test ” or “ Re: new bug ” is less likely to attract useful amounts of attention. موضوع خط يشبه "اعادة : اختبار" او "اعادة : البق الجديدة" هو اقل احتمالا لجذب كميات مفيدة من الاهتمام. Also, pare quotation of previous messages to the minimum consistent with cluing in new readers. كما ان الاسعار المعدلة للرسائل السابقة الى الحد الادنى الذي يتفق مع دلالة جديدة في القراء.

    Do not simply hit reply to a list message in order to start an entirely new thread. ببساطة لا تصل الى قائمة ردا على رسالة من اجل البدء في موضوع جديد تماما. This will limit your audience. هذا وسوف تحد من جمهورك. Some mail readers, like mutt, allow the user to sort by thread and then hide messages in a thread by folding the thread. بريد بعض القراء ، مثل المغفل ، يتيح للمستعمل الترتيب حسب الخيط ثم اخفاء الرسائل في الموضوع من قبل للطي الخيط. Folks who do that will never see your message. من أهل ذلك لن أنظر رسالتك.

    Changing the subject is not sufficient. تغيير الموضوع لا يكفي. Mutt, and probably other mail readers, looks at other information in the e-mail's headers to assign it to a thread, not the subject line. المغفل ، وربما غيرها من قراء البريد ، وتنظر الى غيرها من المعلومات في البريد الالكتروني للرؤوس ان يسند الى الخيط ، وليس سطر الموضوع. Instead start an entirely new e-mail. وبدلا من بداية جديدة تماما البريد الالكتروني.

    On Web forums the rules of good practice are slightly different, because messages are usually much more tightly bound to specific discussion threads and often invisible outside those threads. منتديات الانترنت على قواعد الممارسه الجيدة هي مختلفة قليلا ، لان الرسائل عادة ما تكون اكثر بكثير باحكام ملزمة لمناقشة محددة وخيوط غير مرئية في كثير من الأحيان خارج تلك الخيوط. Changing the subject when asking a question in reply is not essential. تغيير الموضوع عندما تطلب وردا على سؤال ليست ضروريه. Not all forums even allow separate subject lines on replies, and nearly nobody reads them when they do. لا تسمح للجميع المحافل حتى خطوط موضوعا منفصلا عن الردود ، وتقريبا لا أحد يقرأ لهم عندما تفعل ذلك. However, asking a question in a reply is a dubious practice in itself, because it will only be seen by those who are watching this thread. ومع ذلك ، فان مطالبة سؤال في رده هو مشكوك فيه الممارسه في حد ذاته ، لأنه لن يؤدي الا الى أن ينظر اليه من قبل من هم في مشاهدة هذا الخيط. So, unless you are sure you want to ask only the people currently active in the thread, start a new one. كذلك ما لم ، انت متأكد من انك تريد فقط ان نسأل الشعب العاملة حاليا في الخيط ، بداية جديدة. Make it easy to reply تجعل من السهل على الرد

    Finishing your query with “ Please send your reply to... ” makes it quite unlikely you will get an answer. الانتهاء من الاستفسار مع "يرجى ارسال الرد على..." يجعل من غير المحتمل تماما انك سوف تحصل على الجواب. If you can't be bothered to take even the few seconds required to set up a correct Reply-To header in your mail agent, we can't be bothered to take even a few seconds to think about your problem. اذا كنت لا يمكن ازعجت الى اتخاذ بضع ثوان حتى اللازمة لانشاء صحيحة الرد الى العنوان غير موجود في بريدك الوكيل ، ونحن لا يمكن ازعجت الى اتخاذ بضع ثوان حتى الى التفكير في المشكلة التي تعاني منها. If your mail program doesn't permit this, get a better mail program . اذا كان برنامج البريد الالكتروني الخاص بك لا تسمح بذلك ، الحصول على معلومات افضل برنامج بريد. If your operating system doesn't support any e-mail programs that permit this, get a better operating system. اذا كان نظام التشغيل الخاص بك لا يدعم اي برامج البريد الالكتروني التي تسمح لهذا ، الحصول على معلومات افضل ونظام التشغيل.

    In Web forums, asking for a reply by e-mail is outright rude, unless you believe the information may be sensitive (and somebody will, for some unknown reason, let you but not the whole forum know it). في منتديات الانترنت ، مطالبين بالحصول على رد عن طريق البريد الالكتروني هو rude الصريحة ، الا اذا كنت مقتنعا بأن المعلومات قد تكون حساسه (وسوف شخص ما ، غير معروف بالنسبة لبعض السبب ، ولكن ليس لك كله يعرف ان المنتدى). If you want an e-mail copy when somebody replies in the thread, request that the Web forum send it; this feature is supported almost everywhere under options like “ watch this thread ”, “ send e-mail on answers ”, etc. إذا أردت أن البريد الإلكتروني نسخة عند شخص ما في ردود الخيط ، وطلب ان يرسله على الشبكه العالمية منتدى ؛ ويدعم هذه الميزه في كل مكان تقريبا في اطار الخيارات مثل "مشاهدة هذا الخيط" ، و "ارسال البريد الالكتروني على اجوبه" ، الخ. Write in clear, grammatical, correctly-spelled language في الكتابة واضحة وقواعد اللغة ، اللغة بشكل صحيح - توضيح

    We've found by experience that people who are careless and sloppy writers are usually also careless and sloppy at thinking and coding (often enough to bet on, anyway). لقد وجدنا من خلال التجربه هي ان الناس من غير المدروسه وsloppy الكتاب وعادة ما تكون ايضا بالاهمال وsloppy في التفكير والترميز (وكثيرا ما يكفي لالرهان علي ، على أي حال). Answering questions for careless and sloppy thinkers is not rewarding; we'd rather spend our time elsewhere. الاجابه عن الاسءله لsloppy بالاهمال والمفكرين ليست مجزيه ؛ كنا بدلا من انفاق وقتنا في اماكن اخرى.

    So expressing your question clearly and well is important. واذ تعرب عن ذلك السؤال واضح وبالاضافة الى أمر هام. If you can't be bothered to do that, we can't be bothered to pay attention. اذا كنت لا تستطيع ان تكون ازعجت ان نفعل ذلك ، فاننا لا يمكن ازعجت الى ايلاء الاهتمام. Spend the extra effort to polish your language. انفاق الجهد الاضافي الى اللغة البولنديه. It doesn't have to be stiff or formal — in fact, hacker culture values informal, slangy and humorous language used with precision. انه ليس بالضروره ان يكون الشرسه او الرسمي -- فى الحقيقة ، هاكر الثقافة والقيم غير الرسمية ، ومضحك لغوي عامي اللغة المستخدمة بدقة. But it has to be precise; there has to be some indication that you're thinking and paying attention. ولكن يجب ان يكون دقيقا ؛ ويجب ان يكون هناك ما يشير الى ان انك تفكر والانتباه.

    Spell, punctuate, and capitalize correctly. توضيح ، نقط ، والاستفادة بشكل صحيح. Don't confuse “ its ” with “ it's ”, “ loose ” with “ lose ”, or “ discrete ” with “ discreet ”. لا نخلط بين "ب" مع "انه" ، و "فضفاضة" مع "تفقد" ، او "المتميزة" مع "رصين". Don't TYPE IN ALL CAPS; this is read as shouting and considered rude. لا النوع في جميع القبعات ؛ وهذا هو نصها كما الصراخ ونظرت rude. (All-smalls is only slightly less annoying, as it's difficult to read. Alan Cox can get away with it, but you can't.) (جميع smalls - ألا يقل قليلا مزعج ، لأنه من الصعب قراءتها. كوكس الآن يمكن ان تفلت من العقاب ، ولكن لا يمكنك ان.)

    More generally, if you write like a semi-literate boob you will very likely be ignored. وبوجه اعم ، إذا كنت أكتب مثل الخطأ شبه الملمين بالقراءه والكتابة لكم ومن المرجح جدا ان تتجاهله. So don't use instant-messaging shortcuts. حتى لا تستخدم المراسله الفوريه - اختصارات. Spelling "you" as "u" makes you look like a semi-literate boob to save two entire keystrokes. املائي "انت" "ش" يجعلك تبدو شبه الملمين بالقراءه والكتابة لانقاذ اثنين من الخطأ كله ضربات المفاتيح. Worse: writing like a l33t script kiddie hax0r is the absolute kiss of death and guarantees you will receive nothing but stony silence (or, at best, a heaping helping of scorn and sarcasm) in return. أسوأ من ذلك : مثل كتابة السيناريو l33t الطفل hax0r هو قبلة الموت المطلقة والضمانات التي ستحصل على الصمت ولا شيء غير حجري (أو ، في أحسن الأحوال ، يكوم مساعدة من الازدراء والتهكم) في العودة.

    If you are asking questions in a forum that does not use your native language, you will get a limited amount of slack for spelling and grammar errors — but no extra slack at all for laziness (and yes, we can usually spot that difference). اذا كنت طرح الاسءله في المنتدى ان لا تستخدم اللغة الاصليه الخاصة بك ، سوف تحصل على كمية محدودة من الركود لالاخطاء الاملاءيه والنحويه -- ولكن عدم احتساب اي تراخ في كل لكسل (ونعم ، يمكننا ان الفرق عادة البقعه). Also, unless you know what your respondent's languages are, write in English. ايضا ، الا اذا كنت تعرف ما هي المدعي الخاص بك لغات ، وتكتب باللغه الانجليزيه. Busy hackers tend to simply flush questions in languages they don't understand, and English is the working language of the Internet. مشغول المتسكعين تميل الى الاحمرار مجرد اسءله في اللغات فهم لا يفهمون ، واللغة الانجليزيه هي لغة العمل في شبكة الانترنت. By writing in English you minimize your chances that your question will be discarded unread. من خلال كتابة باللغه الانكليزيه في التقليل الى أدنى حد من فرصك لك أن سؤالك سيتم التخلص منها غير مقروء. Send questions in accessible, standard formats ارسال الاسءله في الوصول اليها ، والاشكال النموذجيه لل

    If you make your question artificially hard to read, it is more likely to be passed over in favor of one that isn't. اذا كنت تجعل من الصعب على سؤالك بطريقة مصطنعة ليصبح نصها كما يلي ، ومن الارجح ان يكون في تجاوزها لمصلحة احد ان لا يكون. So: ذلك :


    Send plain text mail, not HTML. ارسال البريد الالكتروني نص عادي ، وليس لغة تأشير النص الفائق. (It's not hard to turn off HTML .) (أنه ليس من الصعب ايقاف تشغيل لغة تأشير النص الفائق.) *

    MIME attachments are usually OK, but only if they are real content (such as an attached source file or patch), and not merely boilerplate generated by your mail client (such as another copy of your message). وعادة ما تكون تمثيليه صامتة ملحقات طيب ، ولكن فقط اذا كانت مضمون حقيقي (مثل تولي ملف المصدر او التصحيح) ، وليس مجرد النمطي التي تولدها بريدك العملاء (مثل آخر نسخة من رسالتك). *

    Don't send e-mail in which entire paragraphs are single multiply-wrapped lines. عدم ارسال البريد الالكتروني في كامل الفقرات التي هي واحدة مضاعفة خطوط الملفوفه. (This makes it too difficult to reply to just part of the message.) Assume that your respondents will be reading mail on 80-character-wide text displays and set your line wrap accordingly, to something less than 80. (وهذا يجعل من الصعب جدا الرد على مجرد جزء من الرسالة.) نفترض ان المدعي الخاص بك وسيتم قراءة البريد الالكتروني على 80 حرفا - عرض النص على نطاق واسع وقم الخط الختاميه وبناء على ذلك ، الى شيء اقل من 80. *

    However, do not wrap data (such as log file dumps or session transcripts) at any fixed column width. ومع ذلك ، لا لف البيانات (مثل ملف الدخول او مقالب الدورة نسخ) في أي عرض محدد العمود. Data should be included as-is, so respondents can have confidence that they are seeing what you saw. ينبغي ان تدرج البيانات كما هو ، حتى يمكن ان يكون لها ثقة المجيبين انهم رؤية ما رأيت. *

    Don't send MIME Quoted-Printable encoding to an English-language forum. لا ترسل تمثيليه صامتة للطبع - ونقلت الى ترميز اللغة الانكليزيه المنتدى. This encoding can be necessary when you're posting in a language ASCII doesn't cover, but many e-mail agents don't support it. هذا يمكن ان يكون من الضروري ترميز عندما كنت في نشر لغة اسكي لا يغطي ، ولكن العديد من وكلاء البريد الالكتروني لا يؤيده. When they break, all those =20 glyphs scattered through the text are ugly and distracting — or may actively sabotage the semantics of your text. عندما كسر ، كل هذه = 20 glyphs متناثره من خلال نص قبيحة واشغال -- ايار / مايو بنشاط او تخريب للدلاليه النص الخاص بك. *

    Never, ever expect hackers to be able to read closed proprietary document formats like Microsoft Word or Excel. ابدا ، ابدا المتسللين ونتوقع ان تكون قادرة على قراءة مغلقة وثيقة من وثائق ملكيه الاشكال مثل مايكروسوفت وورد او اكسل. Most hackers react to these about as well as you would to having a pile of steaming pig manure dumped on your doorstep. معظم المتسللين عن الرد على هذه وكذلك بعد ان كنت على كومة من السماد المغرقه تبخير خنزير على عتبة داركم. Even when they can cope, they resent having to do so. حتى وان كانت قادرة على التفاوض ، بعد ان استاء لذلك. *

    If you're sending e-mail from a Windows machine, turn off Microsoft's stupid “ Smart Quotes ” feature. اذا كنت ارسال البريد الالكتروني من ويندوز آلة ، وايقاف تشغيل مايكروسوفت غبي "الذكيه ونقلت" الميزه. This is so you'll avoid sprinkling garbage characters through your mail. وهذا هو وهكذا لن تضطر تجنب القمامه ورش حرفا من خلال البريد الالكتروني الخاص بك. *

    In Web forums, do not abuse “ smiley ” and “ HTML ” features (when they are present). في منتديات الانترنت ، وعدم اساءة استعمال "وجه مبتسم" و "لغة تأشير النص الفائق" السمات (عندما الوقت الحاضر). A smiley or two is usually OK, but colored fancy text tends to make people think you are lame. وجه مبتسم احد أو اثنين عادة طيب ، ولكن المنقوشه الملونة النص يميل الى جعل الناس يفكرون انت عرجاء. Seriously overusing smileys and color and fonts will make you come off like a giggly teenage girl, which is not generally a good idea unless you are more interested in sex than answers. افراط في استعمال الوجوه الضاحكه خطير واللون والخطوط وسوف تجعلك تأتي من مثل giggly فتاة في سن المراهقه ، وهي ليست فكرة جيدة بصفة عامة ، الا اذا كنت أكثر اهتماما في ممارسة الجنس من الاجابات.

    If you're using a graphical-user-interface mail client such as Netscape Messenger, MS Outlook, or their ilk, beware that it may violate these rules when used with its default settings. اذا كنت تستخدم واجهة رسوميه لمستخدمي البريد الالكتروني - واجهة العملاء مثل نتسكيب رسول ، السيدة التوقعات ، او الجنس ، حذار انه قد ينتهكون هذه القواعد عندما تستخدم مع الاعدادات الافتراضيه. Most such clients have a menu-based “ View Source ” command. معظم هؤلاء العملاء قائمة على اساس "عرض المصدر" القيادة. Use this on something in your sent-mail folder, verifying sending of plain text without unnecessary attached crud. استخدام هذا على شيء في ارسال البريد الالكتروني الخاص بك مجلد ، والتحقق من ارسال نص عادي من دون لزوم لها تعلق الخام. Be precise and informative about your problem يكون دقيقا وغني بالمعلومات عن مشكلتك


    Describe the symptoms of your problem or bug carefully and clearly. وصف أعراض المشكلة التي تعاني منها أو علة واضح ودقيق. *

    Describe the environment in which it occurs (machine, OS, application, whatever). وصف البيئة التي يحدث فيها (الإله ، السراج ، والتطبيق ، وأيا كان). Provide your vendor's distribution and release level (eg: “ Fedora Core 7 ”, “ Slackware 9.1 ”, etc.). البائع الخاصة بك تقديم والافراج عن مستوى التوزيع (على سبيل المثال : "فيدورا الاساسية (7)" ، "سلاكوير 9،1" ، وما الى ذلك). *

    Describe the research you did to try and understand the problem before you asked the question. وصف البحث فعلتم لمحاولة فهم المشكلة وقبل السؤال. *

    Describe the diagnostic steps you took to try and pin down the problem yourself before you asked the question. وصف التشخيص لكم اتخذت خطوات في محاولة لخفض الرقم المشكلة قبل انت سألت نفسك السؤال. *

    Describe any possibly relevant recent changes in your computer or software configuration. وصف أي ربما ذات الصلة التغييرات الاخيرة فى جهاز الكمبيوتر الخاص بك او برامج التكوين.

    Do the best you can to anticipate the questions a hacker will ask, and answer them in advance in your request for help. هل يمكنك ان افضل لاستباق الاسءله التي سيطلب أ هاكر ، وأجيب عليها مسبقا في طلبك للحصول على مساعدة.

    Simon Tatham has written an excellent essay entitled How to Report Bugs Effectively . سيمون tatham ممتازة كتبت مقالة عنوانها كيفية تقرير البق على نحو فعال. I strongly recommend that you read it. وأوصي بشدة ان تقرأ. Volume is not precision ليس حجم الدقه

    You need to be precise and informative. عليك ان تكون دقيقة وغنية بالمعلومات. This end is not served by simply dumping huge volumes of code or data into a help request. هذه الغاية هى التى لا تخدمها بكل بساطة القاء كميات ضخمة من البيانات المدونه او الى طلب المساعدة. If you have a large, complicated test case that is breaking a program, try to trim it and make it as small as possible. اذا كانت لديك كبيرة ومعقدة حالة اختبار وهذا هو كسر برنامج ، في محاولة لتقليم وجعله اصغر ما يمكن.

    This is useful for at least three reasons. وهذا امر مفيد لأسباب ثلاثة على الأقل. One: being seen to invest effort in simplifying the question makes it more likely you'll get an answer, Two: simplifying the question makes it more likely you'll get a useful answer. الاول : ينظر اليه للاستثمار الجهد في مسألة تبسيط يجعل من الارجح سوف تحصل على اجابة ، وهما : مسألة تبسيط يجعل من الارجح سوف تحصل على اجابة مفيدة. Three: In the process of refining your bug report, you may develop a fix or workaround yourself. الثالث : في عملية التحسين على علة التقرير ، يمكنك تحديد أو وضع حل نفسك. Don't claim that you have found a bug لا ندعي ان لديك وجدت علة

    When you are having problems with a piece of software, don't claim you have found a bug unless you are very, very sure of your ground. عندما واجهت مشكلات مع قطعة من البرامج ، لا ندعي لديك الا اذا وجدت عله انت جدا جدا للتأكد من حسابك ارض الواقع. Hint: unless you can provide a source-code patch that fixes the problem, or a regression test against a previous version that demonstrates incorrect behavior, you are probably not sure enough. تلميح : اذا لم يمكنك ان توفر مصدرا لقانون التصحيح - ان يحدد المشكلة ، او التراجع عن اختبار ضد النص السابق يدل على ان السلوك غير صحيحة ، وربما أنت غير متأكد بما فيه الكفايه. This applies to webpages and documentation, too; if you have found a documentation “ bug ”, you should supply replacement text and which pages it should go on. وينطبق ذلك على صفحات الويب والوثائق ، ايضا ، إذا كنت قد وجدت وثائق "علة" ، يجب ان استبدال نص العرض والصفحات التي يجب ان تستمر.

    Remember, there are many other users that are not experiencing your problem. تذكر ان هناك العديد من المستخدمين الآخرين التي لا تعاني من المشكلة التي تعاني منها. Otherwise you would have learned about it while reading the documentation and searching the Web (you did do that before complaining, didn't you ?). والا كنت قد تعلمنا عنه اثناء قراءة الوثائق والبحث في الشبكه العالمية (انت لم تفعل ذلك قبل ان تشتكي ، أليس كذلك؟). This means that very probably it is you who are doing something wrong, not the software. وهذا يعني انه من المحتمل جدا ان لكم ان تفعل شيئا من الخطأ ، وليس البرامج.

    The people who wrote the software work very hard to make it work as well as possible. شعب كتب من البرامج تعمل بجد لجعله العمل وكذلك ممكن. If you claim you have found a bug, you'll be impugning their competence, which may offend some of them even if you are correct. اذا كنت لديك المطالبة وجدت عله ، فسوف يكون التفنيد اختصاصها ، والتي قد تسيء الى بعض منها حتى لو كنت على صواب. It's especially undiplomatic to yell “ bug ” in the Subject line. ولا سيما انه غير دبلوماسية ليصيح "علة" في سطر الموضوع.

    When asking your question, it is best to write as though you assume you are doing something wrong, even if you are privately pretty sure you have found an actual bug. عند طلب سؤالك ، من الافضل ان يكتب كما لو كنت أنت تحمل نفعل شيئا خطأ ، حتى لو انت متأكد من انك جميلة من القطاع الخاص وقد وجدت فعلى علة. If there really is a bug, you will hear about it in the answer. اذا كان هناك فعلا هو علة ، ستسمع عن ذلك في الجواب. Play it so the maintainers will want to apologize to you if the bug is real, rather than so that you will owe them an apology if you have messed up. ولذلك تقوم به مشرفون يريد أن أعتذر لكم اذا كان هو علة حقيقية ، وليس حتى يتسنى لك مدينون لهم الاعتذار اذا كان لديك messed. Grovelling is not a substitute for doing your homework Grovelling ليست بديلا عن العمل المنزلي الخاص بك

    Some people who get that they shouldn't behave rudely or arrogantly, demanding an answer, retreat to the opposite extreme of grovelling. بعض الناس من الحصول على انه لا ينبغي لها ان تتصرف بوقاحه او بعجرفه ، تطالب جواب ، إلى عكس ذلك التراجع الشديد للgrovelling. “ I know I'm just a pathetic newbie loser, but... ”. "وانا اعلم انا مجرد مبتدئ للشفقة الخاسر ، ولكن...". This is distracting and unhelpful. وهذا هو اشغال وغير مفيد. It's especially annoying when it's coupled with vagueness about the actual problem. انه مزعج وخصوصا عندما يقترن 'sالغموض عن واقع المشكلة.

    Don't waste your time, or ours, on crude primate politics. لا النفايات وقتكم ، او لنا ، على الخام الرئيسيات السياسة. Instead, present the background facts and your question as clearly as you can. وبدلا من ذلك ، عرض وقائع ومعلومات أساسية عن سؤالك كما هو واضح ما تستطيع. That is a better way to position yourself than by grovelling. وهذا هو افضل طريقة لنفسك الموقف من جانب grovelling.

    Sometimes Web forums have separate places for newbie questions. في بعض الاحيان على الشبكه العالمية المنتديات اماكن منفصلة للمبتدئ الاسءله. If you feel you do have a newbie question, just go there. اذا كنت تظن انك مبتدئ أن يكون السؤال ، مجرد الذهاب الى هناك. But don't grovel there either. لا تذلل ولكن هناك ايضا. Describe the problem's symptoms, not your guesses وصف أعراض المشكلة ، وليس التكهنات الخاصة بك

    It's not useful to tell hackers what you think is causing your problem. ومن غير المفيد ان تقول رأيك في المتسكعين يسبب المشكلة التي تعاني منها. (If your diagnostic theories were such hot stuff, would you be consulting others for help?) So, make sure you're telling them the raw symptoms of what goes wrong, rather than your interpretations and theories. (اذا كان تشخيص هذه النظريات هي مادة ساخنه ، هل يكون استشارة لمساعدة الآخرين؟) ذلك ، تأكد من انك يقولون لهم الخام من أعراض ما يجري خطأ ، بدلا من النظريات والتفسيرات الخاصة بك. Let them do the interpretation and diagnosis. هل نسمح لها تفسير والتشخيص. If you feel it's important to state your guess, clearly label it as such and describe why that answer isn't working for you. اذا كنت تظن انه من المهم ان الدولة الخاصة بك تخمين ، علامة واضحة على هذا النحو ووصف ان الجواب هو لماذا لا تعمل لصالح لكم.

    Stupid: غبي :

    I'm getting back-to-back SIG11 errors on kernel compiles, and suspect a hairline crack on one of the motherboard traces. انني اتلقى من ظهر الى ظهر sig11 نواة يجمع على الاخطاء ، والاشتباه منبت الشعر الكراك على واحد من آثار اللوحه. What's the best way to check for those? ما هي افضل طريقة للتأكد من تلك؟ Smart: الذكيه :

    My home-built K6/233 on an FIC-PA2007 motherboard (VIA Apollo VP2 chipset) with 256MB Corsair PC133 SDRAM starts getting frequent SIG11 errors about 20 minutes after power-on during the course of kernel compiles, but never in the first 20 minutes. بيتي - k6/233 بني على اللوحه pa2007 - fic (عن طريق الشرائح vp2 ابولو) مع 256 ميجابايت SDRAM corsair pc133 يبدأ sig11 الاخطاء المتكررة للوصول الى حوالي 20 دقيقة بعد على السلطة اثناء نواة يجمع ، ولكن لم يحدث قط في الدقائق ال 20 الاولى . Rebooting doesn't restart the clock, but powering down overnight does. اعادة تشغيل لا اعادة عقارب الساعة ، ولكن هل تشغيل اسفل بين عشية وضحاها. Swapping out all RAM didn't help. المقايضه بها كل رام لم يساعد. The relevant part of a typical compile session log follows. ذات الصلة جزءا من الدورة النموذجيه تجميع سجل التالي.

    Since the preceding point seems to be a tough one for many people to grasp, here's a phrase to remind you: "All diagnosticians are from Missouri." منذ النقطه السابقة ويبدو ان صعبة بالنسبة لكثير من الناس على الفهم ، واليك عبارة أذكركم : "جميع مشخص الامراض هم من ميسوري". That US state's official motto is "Show me" (earned in 1899, when Congressman Willard D. Vandiver said "I come from a country that raises corn and cotton and cockleburs and Democrats, and frothy eloquence neither convinces nor satisfies me. I'm from Missouri. You've got to show me.") In diagnosticians' case, it's not a matter of skepticism, but rather a literal, functional need to see whatever is as close as possible to the same raw evidence that you see, rather than your surmises and summaries. ان الولايات المتحدة شعار الدولة الرسمي هو "ارني" (حصل في عام 1899 ، عندما ويلارد في الكونغرس دال vandiver قال "انا انتمي الى بلد ان يثير والذرة والقطن وcockleburs والديمقراطيين ، ومزبد بلاغة لا يقتنع ولا يرضى لي أنا من ميسوري. عندك لاظهار لى. ") مشخص الامراض فى' حال ، انها ليست على سبيل التشكك ، وانما والحرفي والفنية بحاجة الى ان نرى ما هو أقرب ما يمكن الى نفس الخام دليل على ان ترى ، بل من الظنون والملخصات الخاصة بك. Show us. وتظهر لنا. Describe your problem's symptoms in chronological order وصف المشكلة التي تعاني منها أعراض حسب التسلسل الزمني

    The clues most useful in figuring out something that went wrong often lie in the events immediately prior. القرائن ومفيدة للغاية في الاعتقاد بان شيئا من أصل الخطأ الذي كثيرا ما تكمن في الاحداث التي سبقت مباشرة. So, your account should describe precisely what you did, and what the machine and software did, leading up to the blowup. ذلك ، ينبغي أن يصف حسابك بالضبط ما فعلتم ، ولما لم آله والبرمجيات ، وصولا الى بلو أب. In the case of command-line processes, having a session log (eg, using the script utility) and quoting the relevant twenty or so lines is very useful. في حالة قيادة خط العمليات ، وبعد ان سجل دوره (على سبيل المثال ، باستخدام البرنامج النصي المنفعه) ونقلا عن والعشرين ذات الصلة أو حتى خطوط مفيد جدا.

    If the program that blew up on you has diagnostic options (such as -v for verbose), try to select options that will add useful debugging information to the transcript. اذا كان البرنامج الذي نسفت لقد كنت على تشخيص الخيارات (مثل لمضجر - الخامس) ، في محاولة لتحديد الخيارات التي سوف تضيف المعلومات المفيدة لتصحيح الاخطاء نسخة. Remember that more is not necessarily better; try to choose a debug level that will inform rather than drowning the reader in junk. تذكر أن أكثر يست بالضروره أفضل ؛ محاولة لاختيار مستوى التصحيح التي تعلم بدلا من ان يغرق القارئ في الزباله.

    If your account ends up being long (more than about four paragraphs), it might be useful to succinctly state the problem up top, then follow with the chronological tale. اذا كان حسابك ينتهي يجري طويلة (اكثر من حوالي اربع فقرات) ، قد يكون من المفيد لمشكلة الدولة وجيزة حتى اعلى ، ومن ثم اتباع التسلسل الزمني مع الحكايه. That way, hackers will know what to watch for in reading your account. وبهذه الطريقة ، وسوف تعرف ما هي المتسكعين لمشاهدة لحسابك في القراءة. Describe the goal, not the step وصف الهدف ، وليس خطوة

    If you are trying to find out how to do something (as opposed to reporting a bug), begin by describing the goal. اذا كنت تحاول التعرف على كيفية القيام بشيء ما) بدلا من الابلاغ عن وقوع علة) ، ابدا وصف الهدف. Only then describe the particular step towards it that you are blocked on. وعندئذ فقط وصف ولا سيما ان خطوة نحو سد على انت.

    Often, people who need technical help have a high-level goal in mind and get stuck on what they think is one particular path towards the goal. في كثير من الاحيان ، الناس من الحاجة للمساعدة التقنيه قد رفيع المستوى في الاعتبار الهدف والحصول على تلصق على ما اعتقد هو أحد وخاصة الطريق المؤدي الى الهدف. They come for help with the step, but don't realize that the path is wrong. وهم ياتون للحصول على مساعدة هذه الخطوة ، ولكنها لا تدرك أن الطريق الخطأ. It can take substantial effort to get past this. قد يستغرق جهدا كبيرا للحصول على هذا الماضي.

    Stupid: غبي :

    How do I get the color-picker on the FooDraw program to take a hexadecimal RGB value? كيف أحصل على اللون بيكر - على foodraw برنامج لاتخاذ ستعشري RGB قيمة؟ Smart: الذكيه :

    I'm trying to replace the color table on an image with values of my choosing. انا محاولة ليحل محل اللون على الجدول مع صورة من بلدي اختيار القيم. Right now the only way I can see to do this is by editing each table slot, but I can't get FooDraw's color picker to take a hexadecimal RGB value. الآن الطريقة الوحيدة التي استطيع ان ارى لتحقيق ذلك هي عن طريق تعديل الجدول كل فتحة ، لكنني لا استطيع ان احصل على foodraw الوان منتق لاتخاذ ستعشري RGB القيمه.

    The second version of the question is smart. الإصدار الثاني من السؤال هو الذكيه. It allows an answer that suggests a tool better suited to the task. انها تسمح اجابه ان تقترح وسيلة اكثر ملائمة لهذه المهمة. Don't ask people to reply by private e-mail لا تسأل الناس من القطاع الخاص للرد البريد الالكتروني

    Hackers believe solving problems should be a public, transparent process during which a first try at an answer can and should be corrected if someone more knowledgeable notices that it is incomplete or incorrect. القراصنه نعتقد حل المشاكل ينبغي ان تكون عامة ، وخلال عملية تتسم بالشفافيه والتي تحاول اولا في الاجابه يمكن وينبغي تصحيحه ادري اذا كان هناك من ملاحظات انها غير كاملة او غير صحيحة. Also, helpers get some of their reward for being respondents from being seen to be competent and knowledgeable by their peers. ايضا ، الحصول على مساعدات من بعض مكافاه ليجري من المجيبين ينظر اليه على انه المختصة ومعرفة من قبل نظرائهم.

    When you ask for a private reply, you are disrupting both the process and the reward. عندما تسألون عن القطاع الخاص وردا على ذلك ، أنت على حد سواء الى تعطيل العملية ومكافاه. Don't do this. لا تفعل ذلك. It's the respondent's choice whether to reply privately — and if he does, it's usually because he thinks the question is too ill-formed or obvious to be interesting to others. ومن المدعى عليه الى اختيار ما إذا كان الرد من القطاع الخاص -- واذا كان لا ، فهو عادة لأنه يرى ان السؤال هو ايضا اساءة واضحة لتشكيل او للاهتمام الآخرين.

    There is one limited exception to this rule. وهناك استثناء محدود واحد لهذه القاعده. If you think the question is such that you are likely to get many answers that are all closely similar, then the magic words are “ e-mail me and I'll summarize the answers for the group ”. اذا كنت تعتقد ان مثل هذا السؤال هو ان انت من المحتمل ان احصل على الكثير من الاجوبه التي كلها وثيقة مماثلة ، ثم الكلمات السحريه "البريد الالكتروني لي وأنا تلخيص الاجابات بالنسبة لمجموعة". It is courteous to try and save the mailing list or newsgroup a flood of substantially identical postings — but you have to keep the promise to summarize. ومن لطف في محاولة لانقاذ القائمة البريديه او مجموعة الاخبار طوفان من الاعلانات مطابقه كبيرة -- ولكن عليك ان تبقى لتلخيص الوعد. Be explicit about your question يكون صريحا عن سؤالك

    Open-ended questions tend to be perceived as open-ended time sinks. اسءله مفتوحة تميل الى ان تكون ينظر اليها على انها مفتوحة الوقت المصارف. Those people most likely to be able to give you a useful answer are also the busiest people (if only because they take on the most work themselves). هؤلاء الناس من الأرجح ان تكون قادرة على اعطاء جواب مفيد لكم ايضا ازدحاما الشعب (إذا كان فقط لانها تأخذ على نفسها معظم العمل). People like that are allergic to open-ended time sinks, thus they tend to be allergic to open-ended questions. اشخاص مثل الحساسيه التي هي مفتوحة في الوقت المصارف ، وبالتالي فإنها تميل إلى أن تكون حساسيه اسءله مفتوحة.

    You are more likely to get a useful response if you are explicit about what you want respondents to do (provide pointers, send code, check your patch, whatever). أنت أكثر احتمالا للحصول على استجابة مفيدة اذا كنت صريحا حول ما تريد ان تفعل المجيبين (تقديم مؤشرات ، وارسال المدونه ، افحص التصحيح ، وأيا كانت). This will focus their effort and implicitly put an upper bound on the time and energy a respondent must allocate to helping you. هذا وسوف تركز جهودها ووضع ضمنا على الحد الأعلى من الوقت والطاقة المدعى عليه ويجب ان تخصص لمساعدتك. This is good. وهذا جيد.

    To understand the world the experts live in, think of expertise as an abundant resource and time to respond as a scarce one. لفهم العالم يعيشون فى الخبراء ، كما اعتقد خبرة وافره من الموارد والوقت للرد على النحو النادرة واحدة. The less of a time commitment you implicitly ask for, the more likely you are to get an answer from someone really good and really busy. أقل من الوقت الذي كنت ضمنا التزام لاسال ، أنت أكثر احتمالا للحصول على جواب من شخص جيد حقا وفعلا مشغول.

    So it is useful to frame your question to minimize the time commitment required for an expert to field it — but this is often not the same thing as simplifying the question. ذلك انه من المفيد ان الاطار سؤالك الى الحد الادنى من الوقت اللازم لخبير لأنه الميدان -- ولكن في كثير من الأحيان وهذا لا يختلف عن تبسيط المساله. Thus, for example, “ Would you give me a pointer to a good explanation of X? ” is usually a smarter question than “ Would you explain X, please? ”. وهكذا ، على سبيل المثال ، "هل تعطيني مؤشر جيد لشرح العاشر؟" عادة ما يكون أكثر ذكاء من السؤال "هل شرح العاشر ، من فضلك؟". If you have some malfunctioning code, it is usually smarter to ask for someone to explain what's wrong with it than it is to ask someone to fix it. اذا كان لديك بعض عطل القانون ، وهي عادة ما تكون أكثر ذكاء لشخص ما ان نسأل لشرح ما هو الخطأ في انه مما هو عليه لأطلب من شخص لتصحيح الامر. When asking about code وعندما يسأل عن المدونه

    If you simply want a code review, say as much up front, and be sure to mention what areas you think might particularly need review and why. اذا كنت تريد ببساطة مدونة الاستعراض ، كما يقول الكثير مقدما ، ومما لا شك فيه ان نذكر ما هي المجالات التي تعتقدون قد لا سيما الحاجة إلى استعراض والسبب في ذلك. Don't post homework questions لا المنزلية ما بعد الاسءله

    Hackers are good at spotting homework questions; most of us have done them ourselves. القراصنه جيدة في اكتشاف اسءله الواجبات المنزلية ؛ معظمنا عليها القيام به لأنفسنا. Those questions are for you to work out, so that you will learn from the experience. هذه الاسءله بالنسبة لك للعمل ، حتى يتسنى لك الاستفادة من تجربة. It is OK to ask for hints, but not for entire solutions. وهو موافق لاسال لتلميحات ، ولكن ليس للحلول بأسره.

    If you suspect you have been passed a homework question, but can't solve it anyway, try asking in a user group forum or (as a last resort) in a “ user ” list/forum of a project. اذا كنت تظن انك قد اصدر في مسألة الواجبات المنزلية ، ولكن لا يمكن ايجاد حل لها على أي حال ، محاولة السؤال في منتدى او مجموعة مستخدمين (كملاذ اخير) في "المستخدم" قائمة / المنتدى للمشروع. While the hackers will spot it, some of the advanced users may at least give you a hint. وفي حين ان المتسللين سوف سبوت ، وبعض المستخدمين قد المتقدمه على الاقل اعطيكم تلميح. Prune pointless queries الاجاص المجفف من العبث الاستفسارات

    Resist the temptation to close your request for help with semantically-null questions like “ Can anyone help me? ” or “ Is there an answer? ” First: if you've written your problem description halfway competently, such tacked-on questions are at best superfluous. مقاومه اغراء قريبة من طلبك للحصول على مساعدة لاغيه دلاليا - اسءله مثل "هل يمكن لأحد مساعدتي؟" او "هل هناك جواب؟" اولا : اذا كنت قد كتب وصفا المشكلة التي تعاني منها بكفاءه في منتصف الطريق ، tacked - على مثل هذه الاسءله في افضل لزوم لها. Second: because they are superfluous, hackers find them annoying — and are likely to return logically impeccable but dismissive answers like “ Yes, you can be helped ” and “ No, there is no help for you. ” ثانيا : لانها زائدة عن الحاجة ، يمكن العثور عليها القراصنه مزعج -- ويحتمل ان تؤدي الى عودة منطقيا لا تشوبه شاءبه ولكن رافض اجابات مثل "نعم ، يمكنك أن تكون ساعدت" و "لا ، ليس هناك مساعدة لك."

    In general, asking yes-or-no questions is a good thing to avoid unless you want a yes-or-no answer . وبصفة عامة ، السؤال بنعم أو لا توجد اسءله امر جيد لتفادي ما لم ترغب في وجود بنعم او لا توجد اجابة. Don't flag your question as “ Urgent ”, even if it is for you لا علم سؤالك بانها "ملحة" ، حتى لو كان لك

    That's your problem, not ours. ان مشكلتك ، وليس في مصلحتنا. Claiming urgency is very likely to be counter-productive: most hackers will simply delete such messages as rude and selfish attempts to elicit immediate and special attention. المطالبة الملحه من المحتمل جدا ان يأتي بنتائج عكسيه : ان معظم المتسللين سوف ببساطة حذف هذه الرسائل كما rude الانانيه ومحاولات للحصول على الفور واهتماما خاصا.

    There is one semi-exception. وثمة شبه استثناء. It can be worth mentioning if you're using the program in some high-profile place, one that the hackers will get excited about; in such a case, if you're under time pressure, and you say so politely, people may get interested enough to answer faster. ويمكن ان يذكر اذا كنت تستخدم البرنامج في بعض البارزة ، ان احد المتسللين بالاثاره عن ما سيحصل عليه ؛ وفي مثل هذه الحاله ، إذا كنت تحت ضغط الوقت ، وكنت اقول ذلك بأدب ، وستحصل على الشعب مهتمة بما فيه الكفايه للاجابة على نحو اسرع.

    This is a very risky thing to do, however, because the hackers' metric for what is exciting probably differs from yours. وهذا خطر جدا يجب أن نفعله ، ولكن نظرا لأن المتسللين 'متري الى ما هو مثير وربما يختلف عن لك. Posting from the International Space Station would qualify, for example, but posting on behalf of a feel-good charitable or political cause would almost certainly not. الارسال من المحطة الفضاءيه الدولية مؤهلة ، على سبيل المثال ، ولكن نشرها علي صالح احد يشعر جيدة - قضية سياسية او خيريه أو شبه المؤكد لا. In fact, posting “ Urgent: Help me save the fuzzy baby seals! ” will reliably get you shunned or flamed even by hackers who think fuzzy baby seals are important. وفي الواقع ، نشر "عاجل : ساعدني على انقاذ الطفل ضبابي الاختام!" موثوق به وسوف تحصل على تجنب او ملتهب حتى من قبل المتسللين من الاختام الطفل ضبابي اعتقد انها هامة.

    If you find this mysterious, re-read the rest of this how-to repeatedly until you understand it before posting anything at all. اذا وجدت هذه غامضة ، واعادة قراءة بقية هذه الطريقة مرارا وتكرارا - لانك تفهم انه حتى قبل نشر اي شيء على الاطلاق. Courtesy never hurts, and sometimes helps المجامله يضر ابدا ، ويساعد في بعض الاحيان

    Be courteous. ان يكون مهذب. Use “ Please ” and “ Thanks for your attention ” or “ Thanks for your consideration ”. استخدام "الرجاء" و "شكرا لاهتمامكم" او "الشكر لتنظروا فيه". Make it clear you appreciate the time people spend helping you for free. ان اوضح لكم عن تقديرنا للوقت تنفق مساعدة الناس لك مجانا.

    To be honest, this isn't as important as (and cannot substitute for) being grammatical, clear, precise and descriptive, avoiding proprietary formats etc.; hackers in general would rather get somewhat brusque but technically sharp bug reports than polite vagueness. ان نكون صادقين ، وهذا ليس مهما كاهميه (ولا يمكن ان تكون بديلا ل) يجري نحوي ، واضحة ودقيقة وصفية ، وتجنب اشكال الملكيه ، وما الى ذلك ؛ المتسكعين في العام بدلا من الحصول على بعض الشيء من الناحية الفنية ولكنها حاده brusque تقارير الاخطاء مؤدب من الغموض. (If this puzzles you, remember that we value a question by what it teaches us.) (واذا كانت هذه الالغاز لكم ، ونحن نتذكر ان قيمة سؤال ما يعلمنا.)

    However, if you've got your technical ducks in a row, politeness does increase your chances of getting a useful answer. ومع ذلك ، اذا كنت قد حصلت على العمل الفني لديك البط في الصف ، هل التادب زيادة فرص الحصول على اجابة مفيدة.

    (We must note that the only serious objection we've received from veteran hackers to this HOWTO is with respect to our previous recommendation to use “ Thanks in advance ”. Some hackers feel this connotes an intention not to thank anybody afterwards. Our recommendation is to either say “ Thanks in advance ” first and thank respondents afterwards, or express courtesy in a different way, such as by saying “ Thanks for your attention ” or “ Thanks for your consideration ”.) (يجب ان نلاحظ ان الاعتراض الجدي الوحيد لقد تلقينا من المتسللين الى المخضرم howto هذا هو ما يتعلق السابق توصية الى استخدام "ويعود الفضل في ذلك مقدما". يشعر بعض المتسكعين هذا لا يعني وجود نية لاشكر احدا بعد ذلك. توصيتنا أما القول "ويرجع الفضل في ذلك مقدما" اولا وبعد ذلك أشكر المجيبين ، أو يعبر عن المجامله في طريقة مختلفة ، مثل يقول "شكرا لاهتمامكم" او "الشكر لتنظروا فيه".) Follow up with a brief note on the solution مع متابعة مذكرة موجزة عن حل

    Send a note after the problem has been solved to all who helped you; let them know how it came out and thank them again for their help. ارسال مذكرة بعد المشكلة قد حلت لجميع من ساعد لكم وليعلموا كيف خرج ونشكرهم مرة اخرى لمساعدتهم. If the problem attracted general interest in a mailing list or newsgroup, it's appropriate to post the followup there. واذا كانت المشكلة جذبت الاهتمام العام في القائمة البريديه او مجموعة الأخبار ، انها مناسبة لمتابعة مرحلة ما بعد اسم form؛ follow-up داءره هناك.

    Optimally, the reply should be to the thread started by the original question posting, and should have ‘FIXED’, ‘RESOLVED’ or an equally obvious tag in the subject line. على الوجه الامثل ، فان الرد يجب ان يكون الخيط الأصلي الذي بدأت فيه مسألة النشر ، وينبغي ان يكون 'الثابتة' ، 'حل' او علامة واضحة على قدم المساواة في سطر الموضوع. On mailing lists with fast turnaround, a potential respondent who sees a thread about “ Problem X ” ending with “ Problem X - FIXED ” knows not to waste his/her time even reading the thread (unless (s)he) personally finds Problem X interesting) and can therefore use that time solving a different problem. على قوائم عناوين البريد الالكتروني مع التحول السريع ، من المحتمل المدعي يرى الخيط حول مشكلة "س" وصولا الى "مشكلة العاشر -- الثابتة" لا يعرف النفايات الى حالته حتى وقت القراءة الخيط (ما لم يكن (ق) وقال انه (شخصيا يجد مشكلة العاشر للاهتمام) ، ويمكن بالتالي استخدام ذلك الوقت لحل مشكلة مختلفة.

    Your followup doesn't have to be long and involved; a simple “ Howdy — it was a failed network cable! اسم الخاص بك متابعة form؛ follow-up داءره ليس بالضروره ان يكون طويلا والمعنية ؛ بسيطة "مرحبا -- وكان فشل كابل الشبكه! Thanks, everyone. شكرا ، لكل فرد. - Bill ” would be better than nothing. -- مشروع قانون "ستكون أفضل من لا شيء. In fact, a short and sweet summary is better than a long dissertation unless the solution has real technical depth. في الواقع ، قصيرة وحلوة موجز افضل من اطروحة طويلة ما لم يكن قد حل حقيقي التقنيه العمق. Say what action solved the problem, but you need not replay the whole troubleshooting sequence. أقول وما هي الاجراءات التي تحل المشكلة ، ولكنكم في حاجة الى تكرار كله لا تسلسل استكشاف الاخطاء واصلاحها.

    For problems with some depth, it is appropriate to post a summary of the troubleshooting history. لبعض المشاكل مع العمق ، فانه من المناسب لمرحلة ما بعد موجز للتاريخ استكشاف الاخطاء واصلاحها. Describe your final problem statement. يرجى وصف البيان النهائي لهذه المشكلة. Describe what worked as a solution, and indicate avoidable blind alleys after that . كما عمل وصف ما حل ، والاشارة الى تجنبها الاعمى الازقه بعد ذلك. The blind alleys should come after the correct solution and other summary material, rather than turning the follow-up into a detective story. والاعمى والازقه ينبغي ان يأتي بعد حل سليم وغيرها من المواد موجز ، بدلا من ان تحول متابعة القصة إلى المخبر. Name the names of people who helped you; you'll make friends that way. اسم من اسماء الاشخاص الذين سأعد لكم أنت صداقات على هذا النحو.

    Besides being courteous and informative, this sort of followup will help others searching the archive of the mailing-list/newsgroup/forum to know exactly which solution helped you and thus may also help them. اضافة الى كونه مهذب وغنيا بالمعلومات ، هذا النوع من متابعة انجليزيه form؛ follow-up داءره مساعدة الاخرين سوف يبحثون في أرشيف للmailing-list/newsgroup/forum يعرف بالضبط التي ساعدت في حل لكم وبالتالي قد تساعد ايضا.

    Last, and not least, this sort of followup helps everybody who assisted feel a satisfying sense of closure about the problem. وأخيرا ، وليس آخرا ، ان هذا النوع من متابعة انجليزيه form؛ follow-up داءره من ساعد ويساعد الجميع يشعر مرضية بمعنى الاغلاق عن هذه المشكلة. If you are not a techie or hacker yourself, trust us that this feeling is very important to the gurus and experts you tapped for help. اذا لم تكن نفسك هاكر او فني ، ونحن على ثقة ان هذا الشعور امر في غاية الاهميه لالمعلمون والخبراء لكم الاستفادة منها للمساعدة. Problem narratives that trail off into unresolved nothingness are frustrating things; hackers itch to see them resolved. المشكلة ان السرد لم تحل الى أثر من العدم هي امور محبطه ؛ المتسكعين حكة انظر الى حل لها. The goodwill that scratching that itch earns you will be very, very helpful to you next time you need to pose a question. ان حسن النية خدش ان يكسب حكة انك ستكون جدا ، مفيدة جدا لكم في المرة القادمة التي تحتاج الى طرح السؤال.

    Consider how you might be able to prevent others from having the same problem in the future. النظر في كيفية لكم قد تكون قادرة على منع الآخرين من التي لها نفس المشكلة في المستقبل. Ask yourself if a documentation or FAQ patch would help, and if the answer is yes send that patch to the maintainer. اسأل نفسك اذا وثائق او التصحيح من شأنه ان يساعد الاسءله الشاءعه ، واذا كان الجواب نعم ان ترسل الى التصحيح maintainer.

    Among hackers, this sort of good followup behavior is actually more important than conventional politeness. ومن بين المتسللين وهذا النوع من متابعة جيدة انجليزيه form؛ follow-up داءره السلوك هو في الواقع أكثر أهمية من التادب التقليديه. It's how you get a reputation for playing well with others, which can be a very valuable asset. انه كيف تحصل على سمعة جيدة للعب مع الاخرين ، الذي يمكن أن يكون رصيدا قيما للغاية. How To Interpret Answers كيف تفسر اجوبه RTFM and STFW: How To Tell You've Seriously Screwed Up Rtfm وstfw : كيف تتحقق قمت بجدية حتى screwed

    There is an ancient and hallowed tradition: if you get a reply that reads “ RTFM ”, the person who sent it thinks you should have Read The Fucking Manual. وثمة تقليد قديم ومقدس : اذا كنت احصل على الرد ان يقرأ "rtfm" ، من الشخص الذي ارسل الخطاب ينبغي ان يكون مقتنعا بأنك تقرأ دليل الداعر. He or she is almost certainly right. له الحق فى حكم المؤكد. Go read it. اذهب قراءتها.

    RTFM has a younger relative. وقد rtfm الاصغر سنا نسبيا. If you get a reply that reads “ STFW ”, the person who sent it thinks you should have Searched The Fucking Web. اذا كنت احصل على الرد ان يقرأ "stfw" ، من الشخص الذي يعتقد انه ارسل لك ينبغي ان يكون تفتيش الداعر على الشبكه العالمية. He or she is almost certainly right. له الحق فى حكم المؤكد. Go search it. اذهب بحث. (The milder version of this is when you are told “ Google is your friend! ”) (أخف نسخة من هذا عندما يطلب منك "صور صديقك!")

    In Web forums, you may also be told to search the forum archives. في منتديات الانترنت ، يمكنك أيضا أن يقال لبحث المنتدى المحفوظات. In fact, someone may even be so kind as to provide a pointer to the previous thread where this problem was solved. في الواقع ، بل ربما شخص ما ان يتفضل لتوفير مؤشر على الخيط السابق فيها هذه المشكلة تم حلها. But do not rely on this consideration; do your archive-searching before asking. ولكن لا تعتمد على هذا الاعتبار ؛ التي تتبعونها في ارشيف البحث وقبل ان اطرح.

    Often, the person telling you to do a search has the manual or the web page with the information you need open, and is looking at it as he or she types. في كثير من الاحيان ، فإن الشخص الذي يعلمك ان تفعل وقد بحث الدليل او صفحة الويب مع المعلومات التي تحتاج مفتوحة ، والنظر اليها على انها له أو لها أنواع. These replies mean that he thinks (a) the information you need is easy to find, and (b) you will learn more if you seek out the information than if you have it spoon-fed to you. يعني ان هذه الردود ويرى (أ) المعلومات التي تحتاج من السهل ان تجد ، و (ب) سوف تتعلم اكثر اذا كنت في البحث عن المعلومات من انه اذا كان لديك ملعقه تغذيها لكم.

    You shouldn't be offended by this; by hacker standards, your respondent is showing you a rough kind of respect simply by not ignoring you. انت يجب ان تكون للاساءة من قبل هذا ؛ المعايير من قبل هاكر ، المدعي الخاص بك يظهر لك الخام نوع من الاحترام لمجرد عدم تجاهل لك. You should instead be thankful for this grandmotherly kindness. بدلا من ذلك ينبغى ان لكم شاكرا لهذا اللطف بحنان كما حنان الجدة. If you don't understand... اذا كنت لا أفهم...

    If you don't understand the answer, do not immediately bounce back a demand for clarification. اذا لم تفهم الجواب ، لا على الفور الانتقال الى الوراء الطلب للحصول على توضيح. Use the same tools that you used to try and answer your original question (manuals, FAQs, the Web, skilled friends) to understand the answer. استخدام نفس الادوات التي تستخدمه لمحاولة الاجابه عن السؤال الأصلي (كتيبات والاسءله المتكررة ، الانترنت ، الاصدقاء المهرة (فهم الاجابه. Then, if you still need to ask for clarification, exhibit what you have learned. ثم ، اذا كنت لا تزال في حاجة الى ان تسأل عن التوضيح ، معرض ما لديك المستفاده.

    For example, suppose I tell you: “ It sounds like you've got a stuck zentry; you'll need to clear it. ” Then: here's a bad followup question: “ What's a zentry? ” Here's a good followup question: “ OK, I read the man page and zentries are only mentioned under the -z and -p switches. فعلى سبيل المثال ، لنفترض انني اقول لكم : "الامر يبدو وكأنك حصلت على تمسك zentry ؛ التي ستحتاج اليها لانها واضحة." ثم : هنا سيئة للمتابعة انجليزيه form؛ follow-up داءره السؤال : "ماذا تعني zentry؟" هنا للمتابعة جيدة انجليزيه form؛ follow-up داءره السؤال التالي : " طيب ، وانا اقرأ صفحة والرجل zentries المذكورة ليست سوى اطار ض - ف - ومفاتيح. Neither of them says anything about clearing zentries. لم يستطع أي منهما يقول اي شيء عن تطهير zentries. Is it one of these or am I missing something here? ” هل هي واحدة من هذه او المفقودين شيء أنا هنا؟ " Dealing with rudeness التعامل مع الوقاحه

    Much of what looks like rudeness in hacker circles is not intended to give offense. الكثير من الوقاحه ما يبدو هاكر في الأوساط ليس المقصود اعطاء المخالفه. Rather, it's the product of the direct, cut-through-the-bullshit communications style that is natural to people who are more concerned about solving problems than making others feel warm and fuzzy. وبدلا من ذلك ، انه نتاج مباشر ، من خلال وقف الهراء - الاتصالات - فإن هذا هو النمط الطبيعي للناس من هم اكثر قلقا ازاء حل المشاكل بدلا من جعل الآخرين يشعرون حاره وضبابى.

    When you perceive rudeness, try to react calmly. عندما ينظرون الى الوقاحه ، في محاولة للرد بهدوء. If someone is really acting out, it is very likely a senior person on the list or newsgroup or forum will call him or her on it. اذا كان هناك من هو حقا يتصرف بها ، ومن المرجح جدا اقدم شخص على قائمة او مجموعة الأخبار أو المنتدى سوف يدعو له أو لها على ذلك. If that doesn't happen and you lose your temper, it is likely that the person you lose it at was behaving within the hacker community's norms and you will be considered at fault. اذا كان ذلك لا يحدث وانت تفقد المزاج الخاص بك ، فمن المرجح ان يفقد الشخص الذي يتصرف فيه في داخل المجتمع هاكر القواعد وانت وسيجري النظر في الخطأ. This will hurt your chances of getting the information or help you want. وهذا يضر فرصك في الحصول على معلومات او مساعدة تريد.

    On the other hand, you will occasionally run across rudeness and posturing that is quite gratuitous. ومن ناحية اخرى ، كنت أحيانا البعيد عبر الوقاحه واتخاذ المواقف التي لا مبرر له تماما. The flip-side of the above is that it is acceptable form to slam real offenders quite hard, dissecting their misbehavior with a sharp verbal scalpel. الوجه - الى جانب ما سبق هو أنه شكل من أشكال مقبولة لصفقة حقيقية المجرمين من الصعب جدا ، على تشريح حاد مع سوء السلوك اللفظي المبضع. Be very, very sure of your ground before you try this, however. جدا ، جدا متأكدا من ارض الواقع الخاص بك قبل ان تقوم هذه المحاوله ، ولكن. The line between correcting an incivility and starting a pointless flamewar is thin enough that hackers themselves not infrequently blunder across it; if you are a newbie or an outsider, your chances of avoiding such a blunder are low. الخط الفاصل بين تصحيح الفضاضه واحد من بدء العبث flamewar هو رقيق بما فيه الكفايه ان القراصنه انفسهم ليس من النادر خطأ عبرها ؛ اذا انت واحد مبتدئ او شخص خارجي ، فرصك في تجنب مثل هذا الخطأ غالبا ما تكون منخفضه. If you're after information rather than entertainment, it's better to keep your fingers off the keyboard than to risk this. اذا كنت تريد ان تعرف بعد المعلومات بدلا من وسائل الترفيه ، فانه من الافضل ان تبقى اصابعك من لوحة المفاتيح بدلا من هذه المخاطر.

    (Some people assert that many hackers have a mild form of autism or Asperger's Syndrome, and are actually missing some of the brain circuitry that lubricates “ normal ” human social interaction. This may or may not be true. If you are not a hacker yourself, it may help you cope with our eccentricities if you think of us as being brain-damaged. Go right ahead. We won't care; we like being whatever it is we are, and generally have a healthy skepticism about clinical labels.) (بعض الناس تؤكد ان العديد من القراصنه قد خفيف شكل من اشكال الانطواء على الذات او تناذر asperger ، وفعلا بعض المفقودين من المخ الدوائر ان يزيت "عادية" الانسان التفاعل الاجتماعي وهذا قد يكون أو لا يكون صحيحا إذا لم تكن نفسك هاكر ، قد تساعدك على التعامل مع غرابة الأطوار اذا كنت تعتقد ان ما يجري لنا من الدماغ - لحقت بها اضرار. الحق في الذهاب الى الامام ، ولن نقبل ان الرعايه ونحن مثل ما يجري هو اننا ، وعموما صحيه الشكوك حول العلامات السريريه.)

    In the next section, we'll talk about a different issue; the kind of “ rudeness ” you'll see when you misbehave. في الجزء التالي ، سنقوم الحديث عن مسألة مختلفة ؛ النوع من "الوقاحه" سترى عندما يسيء تصرف. On Not Reacting Like A Loser لا رد على مثل خاسرا

    Odds are you'll screw up a few times on hacker community forums — in ways detailed in this article, or similar. الاحتمالات هي المسمار عليك حتى في أوقات قليلة من المجتمع على هاكر المنتديات -- في طرق المفصلة في هذه المادة ، او ما شابه ذلك. And you'll be told exactly how you screwed up, possibly with colourful asides. ويمكنك ان يقال بالضبط كيف screwed حتي ، وربما مع الألوان التعليقات الجانبية. In public. في الجمهور.

    When this happens, the worst thing you can do is whine about the experience, claim to have been verbally assaulted, demand apologies, scream, hold your breath, threaten lawsuits, complain to people's employers, leave the toilet seat up, etc. Instead, here's what you do: وعندما يحدث ذلك ، فان اسوأ ما يمكنك القيام به هو الأنين عن تجربة ، كانت تدعي ان لها شفهيا للاعتداء ، والاعتذار الطلب ، والصراخ ، عقد الخاصة بك التنفس ، وتهدد الدعاوى ، تشكو الى الناس وارباب العمل ، والاجازات حتى مقعد المرحاض ، الخ ، بدلا من ذلك ، و هذا ما تفعله :

    Get over it. للحصول عليها. It's normal. ومن الطبيعي. In fact, it's healthy and appropriate. في الواقع ، انها سليمة ومناسبة.

    Community standards do not maintain themselves: They're maintained by people actively applying them, visibly, in public . المجتمع ليس لديها معايير انفسهم : انهم التى يحتفظ بها الشعب بنشاط تطبيقها ، بوضوح ، في الاماكن العامة. Don't whine that all criticism should have been conveyed via private e-mail: That's not how it works. لا الأنين ان كل نقد كان ينبغي نقلها عن طريق البريد الالكتروني الخاص : هذا ليس كيف يعمل. Nor is it useful to insist you've been personally insulted when someone comments that one of your claims was wrong, or that his views differ. كما انه ليس من المفيد ان تصر لقد قمت شخصيا للاهانة واذا كان شخص واحد من التعليقات التي والمطالبات الخاصة بك خاطءه ، أو أن تختلف وجهات نظره. Those are loser attitudes. تلك هي الخاسر المواقف.

    There have been hacker forums where, out of some misguided sense of hyper-courtesy, participants are banned from posting any fault-finding with another's posts, and told “ Don't say anything if you're unwilling to help the user. ” The resulting departure of clueful participants to elsewhere causes them to descend into meaningless babble and become useless as technical forums. وكانت هناك هاكر المحافل فيها ، وبعض المضللين من الإحساس المفرط او المجامله ، او المشاركين ممنوعه من نشر اي خطأ - مع ايجاد وظائف اخرى ، وقال "لا يقول اي شيء اذا كنت على استعداد لمساعدة المستخدم." مما ادى الى رحيل clueful المشاركين الى اماكن اخرى لأسباب منها تنحدر الى الضجيج وتصبح بلا معنى بلا جدوى تقنيه المنتديات.

    Exaggeratedly “ friendly ” (in that fashion) or useful: Pick one. بمبالغه "ودية" (على هذا النحو) او مفيدة : اختر واحدة.

    Remember: When that hacker tells you that you've screwed up, and (no matter how gruffly) tells you not to do it again, he's acting out of concern for (1) you and (2) his community. تذكر : عندما هاكر ان ابلغك ان قمت حتى screwed ، و(مهما بشكل خشن) يخبرك عدم القيام مرة اخرى ، انه يتصرف انطلاقا من الاهتمام (1) وكنت (2) طائفته. It would be much easier for him to ignore you and filter you out of his life. وسيكون من الاسهل بكثير بالنسبة اليه ان تجاهل لك وانت مرشح من اصل حياته. If you can't manage to be grateful, at least have a little dignity, don't whine, and don't expect to be treated like a fragile doll just because you're a newcomer with a theatrically hypersensitive soul and delusions of entitlement. اذا كنت لا تستطيع ادارة يجب ان يشكر ، على الأقل بقليل من الكرامة ، لا الأنين ، ولا تتوقع ان تعامل مثل دميه هشه لمجرد ان كنت من جديد مع مسرحيا شديد الحساسيه النفس والاوهام الاستحقاق .

    Sometimes people will attack you personally, flame without an apparent reason, etc., even if you don't screw up (or have only screwed up in their imagination). والناس في بعض الاحيان وسوف الهجوم لكم شخصيا ، دون وجود لهب سبب واضح ، وما الى ذلك ، حتى اذا كنت لا تصل برغي (او التي screwed الا في المخيله). In this case, complaining is the way to really screw up. وفي هذه الحاله ، الشكوى هو الطريق الى حقيقة حتى المسمار.

    These flamers are either lamers who don't have a clue but believe themselves to be experts, or would-be psychologists testing whether you'll screw up. هذه المشعلات lamers اما من ليس لديهم فكرة ولكن اعتقد ان الخبراء انفسهم ، او من شأنه ان علماء النفس - ان اختبار ما اذا كان عليك المسمار. The other readers either ignore them, or find ways to deal with them on their own. اما سائر القراء تجاهلها ، او ايجاد طرق للتعامل مع صالحهم. The flamers' behavior creates problems for themselves, which don't have to concern you. المشعلات سلوك يخلق مشاكل لنفسها ، وهي لا تحتاج الى القلق لكم.

    Don't let yourself be drawn into a flamewar, either. لا تدع نفسك ان الانتباه الى flamewar ، اما. Most flames are best ignored — after you've checked whether they are really flames, not pointers to the ways in which you have screwed up, and not cleverly ciphered answers to your real question (this happens as well). معظم النيران من الافضل تجاهل -- بعد أن جربت ما اذا كانت حقا لهيب ، لا مؤشرات الى الطرق التي لديك حتى screwed ، وليس بشكل ذكي ciphered الاجابه على السؤال الحقيقي الخاص بك (وهذا يحدث أيضا). Questions Not To Ask الا ان نسأل اسءله

    Here are some classic stupid questions, and what hackers are thinking when they don't answer them. وإليك بعض الاسءله التقليديه الغبيه ، والمتسكعين ما نفكر عندما لا أجيب عليها.

    Q: Where can I find program or resource X? س : أين يمكن ان اجد برنامج الموارد أو العاشر؟ Q: How can I use X to do Y? س : كيف يمكنني استخدام العاشر للقيام y؟ Q: How can I configure my shell prompt? س : كيف يمكنني تكوين بلدي شل السريع؟ Q: Can I convert an AcmeCorp document into a TeX file using the Bass-o-matic file converter? س : هل يمكنني تحويل اي وثيقة من وثائق acmecorp الى تكس الملف باستخدام البص - س - ماتيتش تحويل الملف؟ Q: My {program, configuration, SQL statement} doesn't work س : (برنامج بلدي ، والتكوين ، لغة الاستعلامات البنيويه بيان) لا يعمل Q: I'm having problems with my Windows machine. س : انا لديها مشاكل مع ويندوز بلدي الآلة. Can you help? يمكنك المساعدة؟ Q: My program doesn't work. س : برنامجي لا يعمل. I think system facility X is broken. واعتقد ان نظام مرفق العاشر مكسوره. Q: I'm having problems installing Linux or X. Can you help? س : انا واجهت مشكلات اثناء تركيب لينكس العاشر او يمكنك المساعدة؟ Q: How can I crack root/steal channel-ops privileges/read someone's e-mail? س : كيف يمكنني الكراك الجذر / قناة سرقة مكتب خدمات المشاريع - الامتيازات / يقرأ أحدهم عن البريد الالكتروني؟

    Q: س :

    Where can I find program or resource X? أين يمكن أن أجد برنامج او العاشر من الموارد؟

    A: أ :

    The same place I'd find it, fool — at the other end of a web search. نفس المكان انا من الحصول عليها ، وغبي -- وعلى الطرف الآخر للبحث على شبكة الانترنت. Ghod, doesn't everybody know how to use Google yet? Ghod ، الجميع لا يعرف كيفية استخدام صور حتى الآن؟

    Q: س :

    How can I use X to do Y? كيف يمكنني استعمال x y ان تفعل؟

    A: أ :

    If what you want is to do Y, you should ask that question without pre-supposing the use of a method that may not be appropriate. اذا ما تريده هو ان تفعل y ، يجب ان نسأل هذا السؤال دون شروط مسبقة ، لنفترض استخدام طريقة التي قد لا تكون مناسبة. Questions of this form often indicate a person who is not merely ignorant about X, but confused about what problem Y they are solving and too fixated on the details of their particular situation. اسءله من هذا النوع غالبا ما تشير الى شخص من ليست مجرد جاهل عن العاشر ، ولكن الخلط حول ما هي المشكلة وهي y حل fixated وايضا على تفاصيل حالتها الخاصة. It is generally best to ignore such people until they define their problem better. ومن المسلم به عموما افضل لتجاهل هؤلاء الناس حتى في تحديد المشكلة على نحو افضل.

    Q: س :

    How can I configure my shell prompt? كيف يمكنني تكوين بلدي شل السريع؟

    A: أ :

    If you're smart enough to ask this question, you're smart enough to RTFM and find out yourself. اذا كنت الذكيه يكفي ان نسأل هذا السؤال ، انت ذكي بما يكفي لrtfm والعثور على نفسك.

    Q: س :

    Can I convert an AcmeCorp document into a TeX file using the Bass-o-matic file converter? هل يمكن تحويل اي وثيقة من وثائق acmecorp الى تكس الملف باستخدام البص - س - ماتيتش تحويل الملف؟

    A: أ :

    Try it and see. انها محاولة وانظر. If you did that, you'd (a) learn the answer, and (b) stop wasting my time. اذا كنت فعلت ذلك ، كنت (أ) معرفة الجواب ، و (ب) وقف هدر وقتي.

    Q: س :

    My {program, configuration, SQL statement} doesn't work (برنامج بلدي ، والتكوين ، لغة الاستعلامات البنيويه بيان) لا يعمل

    A: أ :

    This is not a question, and I'm not interested in playing Twenty Questions to pry your actual question out of you — I have better things to do. وهذه ليست مسألة ، وانا غير مهتم في اللعب والعشرين حدق الى الاسءله وقلتم مسألة من اصل لكم -- لقد أن تفعل أشياء افضل. On seeing something like this, my reaction is normally of one of the following: على رؤية ما يشبه هذا ، وبلدي هو رد فعل طبيعي من واحد مما يلي :


    do you have anything else to add to that? هل لديكم أي شيء آخر نضيفه الى ذلك؟ *

    oh, that's too bad, I hope you get it fixed. أوه ، ذلك سيئة للغاية ، وأمل ان تحصل على انها ثابتة. *

    and this has exactly what to do with me? وهذا بالضبط ما تفعله معي؟

    Q: س :

    I'm having problems with my Windows machine. انا واجهت مشكلات مع ويندوز بلدي الآلة. Can you help? يمكنك المساعدة؟

    A: أ :

    Yes. نعم. Throw out that Microsoft trash and install an open-source operating system like Linux or BSD. رمي المهملات الى ان مايكروسوفت وتركيب والمفتوحه المصدر مثل نظام التشغيل لينوكس أو بي اس دي.

    Note: you can ask questions related to Windows machines if they are about a program that does have an official Windows build, or interacts with Windows machines (ie, Samba). ملاحظه : يمكنك ان تطلب من المسائل المتصله آلات ويندوز اذا كانت عن البرنامج الذي لديه رسمية من ويندوز بناء ، أو يتفاعل مع اجهزة ويندوز (اي سامبا). Just don't be surprised by the reply that the problem is with Windows and not the program, because Windows is so broken in general that this is very often the case. فقط لا يكون الرد بالدهشه من ان المشكلة مع ويندوز وليس برنامج ويندوز بسبب كسر في ذلك العام ان هذا هو الحال في كثير من الاحيان.

    Q: س :

    My program doesn't work. برنامجي لا يعمل. I think system facility X is broken. واعتقد ان نظام مرفق العاشر مكسوره.

    A: أ :

    While it is possible that you are the first person to notice an obvious deficiency in system calls and libraries heavily used by hundreds or thousands of people, it is rather more likely that you are utterly clueless. وفي حين انه من الممكن ان انت اول شخص ملاحظه واضحة تدعو الى قصور في نظام المكتبات واستخداما من قبل مئات أو آلاف من الناس ، بل هي على الارجح انت تماما clueless. Extraordinary claims require extraordinary evidence; when you make a claim like this one, you must back it up with clear and exhaustive documentation of the failure case. المطالبات غير عادية تحتاج الى أدلة استثناءيه ؛ عند تقديم طلب كهذا ، يجب عليك عمل نسخة احتياطيه منه مع وثائق واضحة وشاملة للحالة الفشل.

    Q: س :

    I'm having problems installing Linux or X. Can you help? انا واجهت مشكلات اثناء تركيب لينكس العاشر او يمكنك المساعدة؟

    A: أ :

    No. I'd need hands-on access to your machine to troubleshoot this. انا رقم ضرورة التدريب العملي على الوصول الى جهازك لاستكشاف الاخطاء واصلاحها هذا. Go ask your local Linux user group for hands-on help. اذهب اسال المحلية لمجموعة مستخدمي لينوكس - على يد المساعدة. (You can find a list of user groups here .) (يمكنك العثور على قائمة مجموعات المستخدمين هنا.)

    Note: questions about installing Linux may be appropriate if you're on a forum or mailing list about a particular distribution, and the problem is with that distro; or on local user groups forums. ملاحظه : اسءله حول تثبيت لينكس قد يكون من المناسب إذا كنت على قائمة بريديه او منتدى خاص عن التوزيع ، والمشكلة هي مع ان distro ؛ او على مجموعات المستخدمين المحافل المحلية. In this case, be sure to describe the exact details of the failure. وفي هذه الحاله ، ومن المؤكد ان لوصف التفاصيل الدقيقة للفشل. But do careful searching first, with "linux" and all suspicious pieces of hardware. ولكن ، هل تبحث بعناية اولا ، مع "لينكس" وكل قطعة من الاجهزه المشبوهة.

    Q: س :

    How can I crack root/steal channel-ops privileges/read someone's e-mail? كيف يمكنني الكراك الجذر / قناة سرقة مكتب خدمات المشاريع - الامتيازات / يقرأ أحدهم عن البريد الالكتروني؟

    A: أ :

    You're a lowlife for wanting to do such things and a moron for asking a hacker to help you. انت لlowlife يريد ان يفعل مثل هذه الاشياء ومعتوه لنطلب هاكر لمساعدتك. Good and Bad Questions اسءله جيدة وسيئة

    Finally, I'm going to illustrate how to ask questions in a smart way by example; pairs of questions about the same problem, one asked in a stupid way and one in a smart way. وأخيرا ، أنا ذاهب من اجل توضيح كيفية طرح الاسءله في طريقة ذكية من قبل مثلا ؛ ازواج من الاسءله حول المشكلة نفسها ، في طلب واحد غبي واحد في طريقة ذكية.

    Stupid: Where can I find out stuff about the Foonly Flurbamatic? غبي : أين يمكن ان اجد بها الاشياء عن foonly flurbamatic؟

    This question just begs for "STFW" as a reply. هذا السؤال يطرح للتو "stfw" اي رد. Smart: I used Google to try to find “ Foonly Flurbamatic 2600 ” on the Web, but I got no useful hits. الذكيه : استخدمت صور في محاولة لايجاد "foonly flurbamatic 2600" على شبكة الانترنت ، ولكنها حصلت على أي من المفيد زائر. Can I get a pointer to programming information on this device? كيف يمكن الحصول على مؤشر لبرمجة المعلومات عن هذا الجهاز؟

    This one has already STFWed, and sounds like he might have a real problem. هذا وقد سبق وstfwed ، ويبدو مثل ما قد يكون لديه مشكلة حقيقية.

    Stupid: I can't get the code from project foo to compile. غبي : لا استطيع ان احصل على الشفره من مشروع لتجميع فو. Why is it broken? لماذا هو عطل؟

    The querent assumes that somebody else screwed up. وقد querent يفترض أن يكون أحدا آخر screwed. Arrogant git... Git المتعجرف... Smart: The code from project foo doesn't compile under Nulix version 6.2. الذكيه : من مشروع قانون فو لا في اطار تجميع nulix الاصدار 6،2. I've read the FAQ, but it doesn't have anything in it about Nulix-related problems. لقد قمت قراءة الاسءله المتكررة ، ولكنه لا يملك أي شيء في انه nulix عن المشاكل ذات الصلة. Here's a transcript of my compilation attempt; is it something I did? واليك نسخة عن بلدي محاولة تجميع ؛ هل هناك شيء فعلت؟

    The querent has specified the environment, read the FAQ, is showing the error, and is not assuming his problems are someone else's fault. وقد querent قد حددت ، والبيئة ، وقراءة الاسءله المتكررة ، ويظهر هذا الخطأ ، وليس توليه المشاكل هي شخص اخر خطأ. This one might be worth some attention. هذا واحد قد يكون من المفيد بعض الاهتمام.

    Stupid: I'm having problems with my motherboard. غبي : انا لديها مشاكل بلدي اللوحه. Can anybody help? اي شخص يمكن ان تساعد؟

    J. Random Hacker's response to this is likely to be “ Right. ياء عشواءيه هاكر للاستجابة لهذا ومن المرجح ان يكون "الحق. Do you need burping and diapering, too? ” followed by a punch of the delete key. هل تحتاج الى التجشؤ وديابيرينج ، ايضا؟ "، يليه لكمة من حذف المفتاح. Smart: I tried X, Y, and Z on the S2464 motherboard. الذكيه : حاولت خ ، ذ ، ض وs2464 على اللوحه. When that didn't work, I tried A, B, and C. Note the curious symptom when I tried C. Obviously the florbish is grommicking, but the results aren't what one might expect. وعندما لم ينجح ، حاولت الف وباء وجيم ونلاحظ من اعراض غريبة وحين حاولت ان جيم من الواضح ان florbish هو grommicking ، ولكن النتائج ليست ما قد يتوقع المرء. What are the usual causes of grommicking on Athlon MP motherboards? ما هي الاسباب المعتاده للgrommicking Athlon النائب علي الأم؟ Anybody got ideas for more tests I can run to pin down the problem? أي شخص حصل على الافكار لمزيد من التجارب استطيع ان اركض الى انخفاض الرقم المشكلة؟

    This person, on the other hand, seems worthy of an answer. هذا الشخص ، ومن ناحية أخرى ، يبدو تستحق جوابا. He/she has exhibited problem-solving intelligence rather than passively waiting for an answer to drop from on high. وقال انه / انها عرضت الاستخبارات حل المشاكل بدلا من الانتظار السلبي عن اجابة لتسقط من على ارتفاع.

    In the last question, notice the subtle but important difference between demanding “ Give me an answer ” and “ Please help me figure out what additional diagnostics I can run to achieve enlightenment. ” في السؤال الأخير ، لاحظ الدقيقة ولكنها مهمة الفرق بين مطالبين "يعطيني جوابا" و "الرجاء مساعدتي الرقم اضافية تشخيص ما استطيع ان اركض الى تحقيق التنوير".

    In fact, the form of that last question is closely based on a real incident that happened in August 2001 on the linux-kernel mailing list (lkml). وفي الواقع ، فان هذا شكل من اشكال الماضي والسؤال هو عن كثب على اساس حقيقي الحادثه التي وقعت في آب / اغسطس 2001 على نواة لينكس - القائمة البريديه (lkml). I (Eric) was the one asking the question that time. ط (اريك) كان احد طرح السؤال ذلك الوقت. I was seeing mysterious lockups on a Tyan S2462 motherboard. كنت رؤية الموقف الغامض على tyan s2462 اللوحه. The list members supplied the critical information I needed to solve them. قائمة الاعضاء تزويد المعلومات الهامة انني بحاجة الى ايجاد حل لها.

    By asking the question in the way I did, I gave people something to chew on; I made it easy and attractive for them to get involved. طرح السؤال من قبل في الطريقة التي فعلت ذلك ، أنا أعطي الناس شيئا لتشيو على اني جعلت من السهل وجذابة بالنسبة لهم على المشاركة. I demonstrated respect for my peers' ability and invited them to consult with me as a peer. انا اظهر الاحترام لبلدي الأقران قدرة ودعوتهم للتشاور مع لي باعتباري احد الاقران. I also demonstrated respect for the value of their time by telling them the blind alleys I had already run down. وأود أيضا ان يبرهن على احترام قيمه وقتها عن طريق ابلاغهم الاعمى الازقه سبق البعيد الى اسفل.

    Afterwards, when I thanked everyone and remarked how well the process had worked, an lkml member observed that he thought it had worked not because I'm a “ name ” on that list, but because I asked the question in the proper form. وبعد ذلك ، عندما كنت وشكر الجميع لاحظ مدى النجاح الذي قد عملت العملية ، لاحظ ان الاعضاء lkml انه يعتقد انه كان يعمل وليس لأن انا "اسم" في تلك القائمة ، ولكن لأنني السؤال في شكل سليم.

    Hackers are in some ways a very ruthless meritocracy; I'm certain he was right, and that if I had behaved like a sponge I would have been flamed or ignored no matter who I was. القراصنه في بعض الطرق جدا لا يرحم الجداره ؛ انا معينة وقال انه كان على حق ، وإذا كان لي أن تصرف مثل الاسفنج واود ان ملتهب أو تم تجاهلها مهما كان من الأول. His suggestion that I write up the whole incident as instruction to others led directly to the composition of this guide. اقتراحه أن أكتب حتى الجامعة الحادث بانه امر غير مباشرة ادت الى تكوين هذا الدليل. If You Can't Get An Answer اذا لم تستطع الحصول على اجابة

    If you can't get an answer, please don't take it personally that we don't feel we can help you. اذا لم تستطع الحصول على جواب ، من فضلك لا أعتبر شخصيا ان لا نرى يمكننا مساعدتك. Sometimes the members of the asked group may simply not know the answer. وفي بعض الاحيان طلب من اعضاء المجموعة قد لا نعرف الاجابه. No response is not the same as being ignored, though admittedly it's hard to spot the difference from outside. اي رد غير ما يجري تجاهلها ، على الرغم من المسلم به انه من الصعب اكتشاف الفرق من الخارج.

    In general, simply re-posting your question is a bad idea. وبصفة عامة ، ببساطة اعادة ارسال سؤالك هو فكرة سيئة. This will be seen as pointlessly annoying. وسيكون هذا يعتبر مزعج بشكل عديم الجدوى. Have patience: the person with your answer may be in a different time-zone and asleep. لقد صبر : الشخص مع الاجابه قد تكون في وضع منطقة زمنيه مختلفة - ونائما. Or it may be that your question wasn't well-formed to begin with. او قد يكون السؤال ، إن لم يكن بشكل جيد اصلا.

    There are other sources of help you can go to, often sources better adapted to a novice's needs. وهناك مصادر أخرى للمساعدة يمكنك الذهاب اليها ، في كثير من الاحيان مصادر اكثر ملائمة لاحتياجات المبتدئ أ.

    There are many online and local user groups who are enthusiasts about the software, even though they may never have written any software themselves. وهناك العديد من المستخدمين على الانترنت والجماعات المحلية هي من المتحمسين عن هذا البرنامج ، رغم انها قد كتبه ابدا اي البرامج نفسها. These groups often form so that people can help each other and help new users. هذه الجماعات في كثير من الاحيان شكل ذلك ان الناس يمكن ان تساعد بعضها البعض ومساعدة المستخدمين الجدد.

    There are also plenty of commercial companies you can contract with for help, both large and small (Red Hat and SpikeSource are two of the best known; there are many others). وهناك أيضا الكثير من الشركات التجارية يمكنك التعاقد مع لطلب المساعدة ، الكبيرة والصغيرة على السواء (القبعه الحمراء spikesource وهما من افضل المعروف ؛ وهناك العديد من الاخرين). Don't be dismayed at the idea of having to pay for a bit of help! لا يكون بالفزع ازاء فكرة ان تكون لدفع قليلا للمساعدة! After all, if your car engine blows a head gasket, chances are you would take it to a repair shop and pay to get it fixed. على كل حال ، لو كان لديك محرك السياره ضربات الرأس حشية ، هي احتمالات كنت أعتبر الى ورشة لاصلاح والدفع للحصول على انها ثابتة. Even if the software didn't cost you anything, you can't expect that support to always come for free. حتى لو كانت البرامج لا يكلفك شيئا ، لا يمكنك ان تتوقع أن يأتي دائما الى دعم مجانا.

    For popular software like Linux, there are at least 10,000 users per developer. البرامج الشعبية مثل لينكس ، هناك ما لا يقل عن 10000 مستخدمين لكل المطور. It's just not possible for one person to handle the support calls from over 10,000 users. لكنه ما لبث ان من غير الممكن لشخص واحد على التعامل مع من يدعو الى دعم اكثر من 10000 المستخدمين. Remember that even if you have to pay for support, you are still paying much less than if you had to buy the software as well (and support for closed-source software is usually more expensive and less competent than support for open-source software). نتذكر انه حتى اذا كان لديك على الدفع للحصول على الدعم ، انت لا تزال تدفع اقل بكثير مما لو كان لديك لشراء البرمجيات وأيضا (والدعم للبرمجيات المصادر المغلقه عادة اكثر تكلفة واقل كفاءه من أجل دعم البرامج الحاسوبيه المفتوحه المصدر) . How To Answer Questions in a Helpful Way كيف للاجابة على الاسءله في طريقة مفيدة

    Be gentle. Problem-related stress can make people seem rude or stupid even when they're not. تكون رقيقة. المتصله مشكلة الاجهاد يمكن أن تقدم rude يبدو ان الناس اغبياء أو حتى عندما سنا.

    Reply to a first offender off-line. There is no need of public humiliation for someone who may have made an honest mistake. وردا على الجاني الاول غير متصل. وليس هناك حاجة للالعامة من اذلال لشخص ما قد يكون خطأ ادلى امين. A real newbie may not know how to search archives or where the FAQ is stored or posted. مبتدئ حقيقية قد لا يعرفون كيفية البحث في الارشيف او في المكان الذي يتم تخزين الاسءله الشاءعه او نشرها.

    If you don't know for sure, say so! A wrong but authoritative-sounding answer is worse than none at all. اذا كنت لا تعرف بالتأكيد ، يقول ذلك! خاطءه - حجيه السبر ولكن الجواب هو اسوأ من لا شيء على الاطلاق. Don't point anyone down a wrong path simply because it's fun to sound like an expert. اي شخص لا تشير الى اسفل الطريق الخطأ لمجرد انه مرح السليمه مثل خبير. Be humble and honest; set a good example for both the querent and your peers. ان المتواضع وصادقة ؛ قدوه حسنة لكل من querent الخاص بك والاقران.

    If you can't help, don't hinder. Don't make jokes about procedures that could trash the user's setup — the poor sap might interpret these as instructions. اذا كنت لا تستطيع أن تساعد ، لا تعيق. لا تجعل النكات عن الاجراءات التي يمكن ان المهملات المستخدم الاعداد -- الفقراء والتطبيقات والمنتجات كما يمكن تفسير هذه التعليمات.

    Ask probing questions to elicit more details. If you're good at this, the querent will learn something — and so might you. اسأل لبحث المسائل للحصول على مزيد من التفاصيل. إذا كنت جيدة في هذا ، وسوف يتعلم شيئا querent -- وحتى يمكن لكم. Try to turn the bad question into a good one; remember we were all newbies once. في محاولة لتحويل سيئة جيدا في مسألة واحدة ؛ نتذكر اننا جميعا newbies مرة واحدة.

    While muttering RTFM is sometimes justified when replying to someone who is just a lazy slob, a pointer to documentation (even if it's just a suggestion to google for a key phrase) is better. تمتمه rtfm بينما هو في بعض الاحيان مبررا عندما وردا على شخص من مجرد كسلان الساذج ، مؤشر على وثائق (حتى لو كان مجرد اقتراح لصور لعبارة رئيسية) هو أفضل من ذلك.

    If you're going to answer the question at all, give good value. Don't suggest kludgy workarounds when somebody is using the wrong tool or approach. اذا كنت الذهاب الى الاجابه على هذا السؤال في كل شيء ، اعطاء قيمة جيدة. Kludgy لا توحي workarounds عندما شخص ما باستخدام اداة او نهج خاطئ. Suggest good tools. وتوحي الأدوات الجيدة. Reframe the question. اعادة طرح السؤال.

    Help your community learn from the question. When you field a good question, ask yourself “ How would the relevant documentation or FAQ have to change so that nobody has to answer this again? ” Then send a patch to the document maintainer. مساعدة مجتمعك نتعلم من هذه المساله. الميدانيه عند السؤال جيدا اسأل نفسك "كيف يمكن ان الاسءله الشاءعه وثائق ذات صلة او تضطر الى تغيير حتى ان احدا لم للاجابة على هذا مرة اخرى؟" ثم ترسل الى التصحيح وثيقة من وثائق maintainer.

    If you did research to answer the question, demonstrate your skills rather than writing as though you pulled the answer out of your butt. Answering one good question is like feeding a hungry person one meal, but teaching them research skills by example is showing them how to grow food for a lifetime. اذا كنت لم البحوث على الرد على هذا السؤال ، واظهار مهاراتك بدلا من كتابة كما لو كنت سحبت الجواب الخاص بك من المءخره. وردا على سؤال جيد واحد هو تغذية مثل الشخص الجائع وجبة واحدة ، ولكنها تعلمهم المهارات البحثيه من قبل ومن الامثله التي تبين لهم كيف زراعة الاغذيه لمدى الحياة. Related Resources موارد ذات الصلة

    If you need instruction in the basics of how personal computers, Unix, and the Internet work, see The Unix and Internet Fundamentals HOWTO . اذا كنت بحاجة الى تعليمات في اساسيات كيفية الحواسيب الشخصيه ، ويونيكس ، وعمل شبكة الانترنت ، انظر يونيكس والانترنت howto الاساسيات.

    When you release software or write patches for software, try to follow the guidelines in the Software Release Practice HOWTO . عندما كنت اكتب البرمجيات أو الافراج عن بقع لبرامج الحاسوب ، وحاول ان تتبع المبادئ التوجيهيه في برامج اطلاق سراح howto الممارسه. Acknowledgements اعترافات

    Evelyn Mitchell contributed some example stupid questions and inspired the “ How To Give A Good Answer ” section. افيلن ميتشل مثلا اسهم بعض الاسءله الغبيه ومصدر الهام "كيف جيدة لاعطاء الجواب" الباب. Mikhail Ramendik contributed some particularly valuable suggestions for improvements. ميخائيل ramendik اسهم بعض الاقتراحات القيمه ولا سيما لادخال تحسينات.

    البرامج المفتوحة المصدر تعريفها و مميزاتها و المشاكل التي تواجهها

    شاهد علي سبيل المثال نسخة البرامج المكتبية المفتوحة 2.0 (Open Office) ، لينكس ماندراك 10.1 وكذلك ايضا ادوات المبرمجين مثل MySQL و Eclipse

    العقبات منقولة من

    في النهاية نحن يجب أن نذكر بعض الوسائل الرخيصة الكاذبة التي تستخدمها مايكروسوفت في الدعاية


    ترجمة تعريف البرمجيات الحرة

    تعريف البرمجيات الحرة!

    نحن نتيح هذا التعريف لتوضيح ما يجب ان يتحقق لبرنامج ما حتى يعتبر حرا.

    الfree softwareـ مسالة حريات لا سعر.(فى الانجليزية كلمة free ـ قد تعنى حر او مجانى).

    المقصود بحرية البرمجيات هو حرية مستخدمى البرامج فى تشغيل و نسخ و توزيع و دراسة و تعديل البرمجيات. مصطلح حرية البرمجيات يشير بالتحديد الى اربع حريات للمستخدم:

    • حرية تشغيل البرنامج لاى غرض (الحرية 0).
    • حرية دراسة كيفية عمل البرنامج و تعديله ليناسب احتيجاتك (الحرية 1). توفر المصدر البرمجى source code ـ شرط لازم لتحقق هذه الحرية.
    • حرية اعادة توزيع البرنامج لتساعد غيرك (الحرية 2).
    • حرية تعديل و تحسين البرنامج و نشر تعديلاتك ليستفيد منها المجتمع ككل (الحرية 3). توفر المصدر البرمجى شرط لازم لتحقق هذه الحرية.

    البرنامج حر ان كان لمستخدميه كل هذه الحريات , اذن يجب ان يكون لك الحق فى اعادة توزيع نسخ معدلة او غير معدلة , مجانا أو مقابل أجر التوزيع، لاى فرد فى اى مكان. و ان يكون لك مطلق الحرية فى كل هذا بدون ان تطلب او تشترى اذن احد.

    يجب أيضا ان يكون لك الحرية فى تعديل البرنامج و استخدام التعديلات فى عملك او لعبك دون ذكر لوجود هذه التعديلات من عدمه. و يجب الا يكون لزاما عليك ابلاغ اى فرد او جهة كى تنشر تعديلاتك.

    الحرية فى استخدام البرنامج تعنى حرية اى فرد او مؤسسة فى استخدام البرنامج على اى نظام حاسوبى فى اى غرض بدون الاضطرار للاتصال بمبرمجى و مطورى البرنامج او اى جهة اخرى.

    حرية اعادة توزيع نسخ من البرنامج يجب ان تشمل الحق فى توزيع نسخ (معدلة و غير معدلة) رقمية binaryـ قابلة للتشغيل بالاضافة الى المصدر البرمجى. توزيع نسخ قابلة للتشغيل مباشرة ضرورى للحصول على نظام تشغيل حر و سهل و مريح فى الاستخدام. لا توجد مشكلة لو كان من المستحيل انتاج نسخ رقمية (بعض لغات البرمجة لا تتيح ذلك)، لكن يجب ان يحق لك توزيع نسخ كهذه فى حالة توفر سبل لانتاجها.

    ليكون هناك اى معنى لحرية تعديل و نشر تحسينات للبرنامج يجب ان يتوفر لك المصدر البرمجى. بالتالى ان اتاحة المصدر البرمجى تعتبر شرط اساسى لحرية البرمجيات.

    ولكي تكون هذه الحريات حقيقية، يجب ان تكون غير قابلة للنقض طالما لم تخطيء،و اذا كان بامكان مطور البرنامج نقض الترخيص بدون اعطاء اسباب يكون البرنامج غير حر. ولكن هناك بعض القواعد المقبولة في طريقة توزيع البرامج الحرة، في حالة عدم تعارضها مع مبدأ الحريات. على سبيل المثال copyleft قاعدة تنص على عدم القدرة على وضع عوائق تمنع الآخرين من الحريات الاربع. هذه القاعدة لا تتعارض مع تلك الحريات ولكن تحميها.

    عن OpenCD

    شغال ويندوز؟
    عندك ترخيص؟
    شغال ميكروسوفت اوفيس؟
    عندك ترخيص؟

    و هكذا فى كل البرامج التى يستخدمها اغلب الشعب.

    برامج الضغط و الميديا و متصفح الانترنت و برامج ال دونلود و البريد الالكترونى و الجرافيكس و قواعد البيانات و بيئات التطوير و الالعاب كل حاجة على الكمبيوتر يا معلم

    طب و الحل؟

    اشتغل لينكس..

    بس ده صعب اوى يا عم.. و انا امكانياتى على ادى .. مالها النسخ المضروبة ؟

    هقولك يا عم بس نص العمى ولا العمى كله .. خليك على الويندوز المضروب بتاعك بس اشتغل ببرامج مفتوحة المصدر. و دى جميلة جدا و قوية و دايما فى تطور و ممكن تشغل بيها ملفات البرامج التانبه.

    فى كل دول العالم الكمبيوتر رخيص و لكن البرامج غالية قوى و احنا عندنا الكمبيوتر غال (علشان احنا غلابه ) بس كل واحد منزل برامج يجى ب 20 الف جنيه.

    و ده يا عم الحاج حرام و الدين مش بيقول كده. و القانون بيمنع كده.

    و عشان كده يا شباب انا بنصحكم تستخدموا البرامج مفتوحة المصدر.

    بدل ميكروسوفت اوفيس خليها اوبن اوفيس , و كل حاجة هتلاقيلها بديل.

    انما تطنش و و تفضل شغال حرامى مينفعش .

    اغلب الناس لا تتحرى اذا كان البرنامج ده له ترخيص ولا لا. كله بينزل البرامج و يشتغل بيها و ساعة لما البرنامج يفرقع منه يدور له على كراك و الحركات النص كم دى.

    و بعدين دلوقتى فى حاجة جميلة جدا اسمها اوبن سي دى فيه برامج كتير اوى بدل البرامج الى محتاجة ترخيص.

    و انا ممكن اديها لك يا عم لو انت مش هتقدر تنزلها و هكذا اى برنامج اخر.

    انا حاسس ان انا حرامى و انا عمال اشتغل ببرامج مسروقة و متكركة !

    يبقى احنا لازم ناخد بالنا من ان لو عايز تستخدم برنامج لازم ترخيص و عشان كده بنصحكم تستخدموا برامج مفتوحة المصدر و ممكن يبقى شعارنا فى الفترة الجايه

    لا للبرامج المسروقة .. نعم للبرامج مفتوحة المصدر

    كيف تصبح هاكر

    كيف تصبح هاكر h1>

    كتبها: إيريك ستيفين ريموند

    ترجمت بواسطة: عبدالرحمن غريب

    ترجمت بتاريخ: 28/2/2005

    لماذا كتبت هذا المقال؟

    كمحرر لقاموس لمصطلحات الهاكرز jargon file و مؤلف العديد من المقالات القريبه من هذا المجال يصلني العديد من الرسائل من هواة شبكات الحاسب الآلي الجدد ليسألونني "كيف يمكنني أن أصبح هاكر؟". في العام 1996 لاحظت عدم وجود أي مستندات تشرح هذا الموضوع فبدأت في كتابة هذا المقال. العديد من الهاكرز يعتبرون هذا المقال جازم في توضيح هذا الموضوع و لكني لا اعتبرنفسي الجهة الحصرية المسئولة عن هذا التعريف، إذا لم يعجبك ما هو مكتوب هنا قم بكتابة نسختك الخاصه.

    لاحظ وجود قائمة بالأسئلة الأكثر شيوعا في آخر المقال، برجاء قراءة هذه الأسئلة و أجوبتها قبل أن تقوم بمراسلتي.

    يوجد العديد من النسخ المترجمه من هذا المقال للغات عديده هي:

    لاحظ أن هذه الترجمة للمقال قد لا تكون دوما متماشية مع المقال الأصلي بسبب التعديل الذي يطرأ باستمرار على المقال.

    الرسم الذي يمثل خمس نقاط في المخطط المكون من تسع خانات يسمى glider. و هي مبنية على لعبه رياضيه و ذات خواص رياضيى رائعة أذهلت الهاكرز لسنين طويله. أعتقد أن هذه الصورة شعار جيد ليصف الهاكرز، في البداية تبدوا غامضة و لكنها البوابة لعالم له منطقه الخاص به.

    من هو الهاكر؟

    في Jargon File يوجد العديد من التعريفات للمصطلح "هاكر"، معظمها يصف خبرة تقنية و سعاده بحل المشكلات و تخطي الحدود. إذا كنت تريد أن تعرف كيف كيف تصبح هاكر هناك تعريفين فقط يجب أن تعرفهما.

    يوجد مجتمع، حضارة مشتركة من المبرمجين المحترفين و خبراء الشبكات بدأت منذ عقود من الزمن منذ ظهور الحواسيب الصغيرة و تجارب ARPAnet المبكرة. أوجد الأشخاص المنتمين لهذا المجتمع المصطلح "هاكر"، الهاكرز هم من بنوا الإنترنت، الهاكرز هم من جعلوا نظام التشغيل يونكس ما هو عليه اليوم، الهاكرز هم من جعلوا الورلد وايد ويب تعمل، إذا كنت منتميا لهذه الحضارة، إذا كنت قد ساهمت بها و يوجد أشخاص آخرون منتمون لها و يعرفونك و يطلقون عليك لقب هاكر إذا فأنت هاكر.

    عقلية الهاكر ليست مقتصرة على حضارة هاكرز البرمجيات فقط. يوجد أشخاص لديهم نفس العقلية و نفس طريقة التفكير في مجالات أخرى مثل الموسيقى و الإلكترونيات. في الحقيقه قد تجد هذه العقلية في أعلى مستويات أي علم أو فن. هاكرز البرمجيات يتعرفون على هذه العقليات في أي مجال آخر و يطلقون على هؤلاء الأشخاص هاكرز أيضاً. و يقول البعض الآخر أن عقلية الهاكر منفصله عن الوسط الذي يعمل به و لكن في بقية هذا المقال سوف نتحدث عن المهارات و الصفات الأساسية لدى هاكر البرمجيات و التقاليد المتعارف عليها في تلك الحضارة التي أطلقت كلمة "هاكر".

    يوجد مجموعة أخرى من الأشخاص يطلقون على أنفسهم لقب هاكرز بكل وقاحة و لكنهم ليسوا كذلك. هؤلاء هم من يشعرون بالسعاده عند إختراق بعض نظم الحاسب أو التصنت على خطوط الهاتف. الهاكرز الحقيقيون يسمون هؤلاء "كراكرز" ولا يودون أن يكون لهم أية علاقه بهم. الهاكرز الحقيقيون يظنون أن الكراكرز غير جديرون بتحمل المسئولية و كسولين و ليسوا على قدرة كبيرة من الخبره. لا تجعلك القدرة على اختراق نظام ما هاكر فإذا استطاع شخص ما سرقة سيارة ما بدون استخدام مفتاحها هل يجعله ذلك مهندس ميكانيكا؟!. للأسف قام بعض الكتاب و الصحفيين باستخدام كلمة "هاكر" ليصفوا الكراكرز و هذا التصرف يسبب الإزعاج الشديد للهاكرز.

    الفرق بسيط و واضح: الهاكرز يقومون بالبناء، الكراكرز يقومون بالهدم.

    إذا كنت تريد أن تصبح هاكر فاستمر بالقراءة. إذا كنت تريد أن تصبح كراكر فاذهب و قم بقراءة أخبار و استعد لقضاء ما بين خمس لعشر سنوات في السجون بعدما تكتشف أنك لست ذكيا كما كنت متصورا. و هذا هو كل ما سأقوله عن الكراكرز.

    ثقافة الهاكرز

    يقوم الهاكرز بحل المشاكل و بناء الأشياء. و يؤمنون بالحرية و بالعمل التطوعي. لكي تعرف كهاكر يجب أن تتصرف بهذا المنطق. و لكي تتصرف بهذا المنطق يجب أن تؤمن بهذا المنطق. و لكن إذا ادعيت الإيمان بهذه المبادئ لكي تكتسب القبول في هذا المجتمع فسوف تفقد الهدف الأساسي. إيمانك بهذه المبادئ مهم بالنسبة إليك فسوف يساعدك و يدفعك إلى التعلم. مثل كل الفنون الإبداعية أفضل الطرق لتصبح المعلم هو أن تفكر بعقل المعلم ليس فقط فكريا و انما عاطفيا أيضاً.

    أو كما تقول القصيدة: become the master.

    و معناها: كن المعلم.

    لذا إذا أردت أن تصبح هاكر ردد هذه الكلمات حتى تؤمن بها. كونك هاكر سيصبح مصدر للمرح و لكنه مرح يحتاج لمجهود شاق. هذا المجهود يحتاج إلى دافع، يحصل الرياضيون على الدافع من نوع السعاده عند جعل أجسادهم في حالة أفضل، في تخطي حدود طاقتهم الجسدية. بالمثل، لتصبح هاكريجب أن تحصل على السعادة من حل المشكلات، تطوير مهاراتك، و تدريب و استعمال ذكائك.

    إن لم تكن من هذا النوع من الأشخاص بطبيعتك فسوف تحتاج أن تصبح واحدا منهم لكي تنجح كهاكر. و إلا سوف تجد أن قدراتك مهدرة على مصادر الإلهاء الأخرى.

    يجب أيضا أن يكون لديك إيمان بقدرتك على التعلم. إيمان بأنك حتى لو لم تكن على علم بكيفية حل المشكله ككل فسوف تتعلم أول جزء من الحل و هذا سيوصلك للجزء التالي ثم إلى الجزء الذي يليه حتى تقوم بحل المشكله كلها. العقول المبدعة عملة نادره لا يجب أن تهدر على إعادة اختراع العجله بينما يوجد العديد من المشاكل الجديده التي تنتظر منك حلها.

    لكي تتصرف مثل الهاكرز يجب أن تؤمن بأن الوقت الذي يضيعه الهاكرز في التفكير هو وقت غالي لدرجة أنه من واجبك أن تشارك المعلومات و أن تقوم بحل المشكلات و من ثم أن تشارك الحل مع الجميع ليتمكن الهاكرز الآخرون من حل مشاكل جديده بدلا من الإضطرار لإعادة حل مشكلات قديمة.

    لا يجب أن تؤمن بأنه عليك التبرع بكل إبداعك الفكري بالرغم من أن الهاكرز الذين يفعلون هذا يحصلون على أكبر قدر من الاحترام من الهاكرز الآخرين. من ضمن فكر الهاكرز أنه عليك أن تقوم ببيع جزء و لو بسيط من انتاجك لتحافظ على مستواك المعيشي. من العادي أن تستغل قدراتك كهاكر لتنشئ عائلة أو لتصبح غنيا طالما لم تنسى ولائك لفنك و لزملائك من الهاكرز.

    لا يجب أن يشعر الهاكرز (و المبدعين عموما) بالملل أو أن يقوموا بعمل تكراري غبي و شاق. ففي هذه الحاله إنهم لا يقومون بما يستطيعون عمله و هو حل مشاكل جديده. هذا التضييع للوقت مضر للجميع. لذلك فالعمل الممل ليس سيئ فحسب بل هو سيئ للغاية.

    لتتصرف كهاكر يجب أن تؤمن بهذا كفاية حتى تحاول دائما أن تقوم بإخراج هذا النوع من العمل من حياتك بقدر المستطاع، ليس لك فحسب و لكن لكل الآخرين و خصوصا الهاكرز.

    يوجد استثناء واحد لهذا و هو أن يقوم الهاكرز في بعض الأحيان بعمل بعض هذه الأعمال كنوع من تصفية الذهن أو لتعلم شئ جديد لا يمكن تعلمه إلا بهذه الطريقة. و لكن هذا الشئ يكون باختيار الهاكر دائما. لا يوجد شخص عاقل قد يمكن دفعه إلى موقف يصيبه بالملل.

    الهاكرز بطبيعتهم رافضين للسلطة عليهم. أيا كان من لديه القدرة على إعطائك الأوامر يمكنه منعك من حل مشكلة قد تجد أنت في حلها متعه. و بالنظر للعقلية المحبة للسلطة، فسوف يجد دوما تفسير أبله لمنعك. لذلك يجب دوما محاربة التسلط أينما وجدته خشية أن يؤثر عليك و على الهاكرز الآخرين.

    ليس هذا مثل محاربة كل السلطات. الأطفال بحاجه إلى التأديب و المجرمين بحاجه إلى العقاب. يمكن أن يوافق الهاكر على بعض أنواع السلطة عليه لكي يستطيع الحصول على شئ يريده. و لكن هذا ليس أكثر من نوع من المقايضة أما نوع الاستسلام الذي يريده الفاشيستيين ليس مسموح به.

    يحب الفاشيون الرقابه و السرية و لا يثقون في التعاون التطوعي و مشاركة المعلومات، نوع التعاون الذي يحبونه هو التعاون الذي يستطيعون التحكم به. لذلك لكي تصبح هاكر يجب أن يكون لديك رفض للرقابه و السريه و يجب أن يكون لديك الاستعداد للتصرف بناء على هذا الإعتقاد.

    لكي تصبح هاكر يجب أن يكون لديك هذه الثقافه التي تحدثنا عنها و لكن ليس وحدها. هذه الثقافه لن تغنيك عن القدرات التي يجب أن تتوفر لدى الهاكر. لكي تصبح هاكر سوف يتطلب منك هذا ذكاء و مجهود و تفاني و عمل شاق. لذلك يجب أن تتعلم أن لا تثق بالمظاهر و أن تحترم كل أنواع القدرات. لن يدع الهاكرز المستعرضين يضيعون وقتهم و لكنهم يحترمون القدرات و بالذات القدرات في الهاك. و لكن القدرات في أي مجال جيده. القدرة في طلب المهارات التي لا يستطيع الحصول عليها الا القليلين، المهارات التي تتطلب حدة عقلية و الحرفية.

    إذا كنت تحب أن يكون لديك قدرات فسوف تستمع بتطويرها فيك، سيصبح العمل الشاق نوع من اللعب و المتعه لديك. هذا الصفة ضرورية لتصبح هاكر

    مهارات الهاكر الأساسية

    طريقة تفكير الهاكر مطلوبة و لكنها لا تغني عن المهارات الأساسية التي يجب أن تتوفر لديه قبل أن يستطيع أي شخص أن يلقبه بلقب هاكر.

    هذه المهارات تتغير ببطئ عما قبل مع مرور الزمن و مع خلق التكنولوجيا لمهارات جديده. فمثلا كانت هذه المهارات من قبل تتضمن تعلم لغة الآلة و مؤخرا تضمنت كتابة HTML. بالنسبة للوقت الحالي فهذه المهارات تتضمن التالي:

    هذه بالتأكيد هي المهارة الأساسية لدى الهاكر. إذا لم تكن تعلم أي من لغات الحاسب الآلي أنصحك بالبدأ بتعلم لغة python. يوجد وثائق تعليمية جيده لها و سهلة للمبتدئين. و بالرغم من كونها لغة جيده للبدأ بها فهي ليست لعبة بل انها لغة قوية و مناسبة للمشاريع الكبيرة. لقد قمت بكتابة تقييم أكثر تفصيلا عن البايثون تجده

    الجافا لغة برمجة جيده أخرى. هي أصعب من البايثون و لكنها تنتج كود أسرع من البايثون. برأي انها تمثل أفضل اختيار ثاني لك. لأسف فالتطبيق المرجع الخاص بشركة صن مازال غير حر. و لكن ليست هذه المشكلة في لغة الجافا نفسها حيث يوجد مترجمين عاليي الجودة و مفتوحين المصدر للجافا. المشكلة الحقيقية تكمن في المكتبات التي تأتي مع لغة البرمجة. المكتبات مفتوحة المصدر أقل جودة من الخاصه بشركة صن. لذلك فإذا اخترت تعلم الجافا قم بالتعلم بواسطة أحد التطبيقات مفتوحة المصدر بدلا من الاعتماد على تطبيق صن المغلق المصدر.

    لكن احذر، لن تصل إلى مستوى الهاكر أو حتى المبرمج إذا تعرفت على لغة برمجة واحده أو اتنتين. يجب أن تتعلم كيفية التفكير في المشاكل البرمجية بشكل عام. مستقلا عن أية لغة برمجة. لكي تصبح هاكر يجب أن تصل إلى مستوي حيث يمكنك تعلم لغة برمجة في أيام عن طريق ربط ما هو موجود في كتيب هذه اللغه بما تعرفه انت مسبقا. و هذا يعني تعلمك للعديد من لغات البرمجة.

    اذا بدأت في التعمق في برمجة جدية فسوف يجب عليك تعلم لغة السي، قلب نظام التشغيل يونكس. لغة السي++ قريبه جدا من لغة السي، إذا تعلمت واحده فسوف يصبح من السهل عليك تعلم الأخرى. ليست أي منهما الاختيار الصحيح لكي تبدأ به. في الحقيقة كلما استطعت الابتعاد عن البرمجة بالسي كلما أصبحت أكثر انتاجية.

    السي لغة قوية و موفرة لمصادر جهازك ولكن لكي توفر السي هذه الميزة يتوجب عليك عمل العديد من الوظائف بنفسك للتحكم في المصادر ( كالذاكرة مثلا). كل هذه الشيفرة البرمجية تزيد من احتمالات الخطأ و سوف تتطلب منك وقت أطول في تتبع الأخطاء بالبرنامج. هذه الميزة ليست في غاية الأهمية هذه الأيام مع وجود أجهزة قوية كالموجودة حاليا. يفضل استخدام لغة برمجة تقوم بإهدار مصادر الجهاز و لكنها ستقوم بتوفير وقتك مثل البايثون.

    البيرل مهمة لأسباب عملية، فهي تستخدم للصفحات الديناميكية و يستخدمها مديرين النظم. لذلك حتى لو لم تتعلم البرمجة بلغة بيرل فعليك أن تستطيع فهم الكود المكتوب بها. يستخدم العديد من المبرمجين البيرل بنفس الصورة التي أقترح عليك استخدام البايثون بها لتجنب البرمجة بالسي عندما لا تحتاج إلى هذا القدر من التحكم في مصادر الجهاز. سوف تحتاج أن تفهم الكود الذي يكتبه هؤلاء المبرمجين.

    تستحق لغة ليسب لفت الانتباه لها لسبب مختلف، بسبب التجربة الرائعة التي سوف تحظى بها عندما تصل إلى فهم هذه اللغه. هذه الخبرة سوف تجعلك مبرمج أفضل لباقية حياتك حتى لو لم تستخدم هذه اللغه كثيرا. يمكنك اكتساب خبرة بسيطه ببساطه عن طريق كتابة أو تعديل بعض الأنماط لمحرر النصوص emacs.

    أفضل اختيا بالطبع أن تتعلم الخمس لغات. البايثون، السي، السي++، الجافا، البيرل، و الليسب. إلى جانب أنهم أهم اللغات للهاكرز فهم يمثلون تعريف بأكثر من تقنية برمجية و كل منهم سوف يعلمك شئ ذو قيمة عاليه.

    لا يمكنني شرح كيفية تعلم البرمجة في هذا المقال فهي مهارة معقدة. و لكن يمكنني أن أخبرك بأن الكتب و الدورات لن يؤدوا الغرض. الكثير بل معظم الهاكرز علموا أنفسهم بأنفسهم. يمكنك تعلم شيئ بسيط من الكتب و لكن أهم المهارات سوف تتعلمها فقط عندما تبدأ بممارسة البرمجة. ما سوف يعلمك بالشكل الصحيح هو

    1. قراءة الكود البرمجي
    2. كتابة الكود البرمجي.

    تعلم البرمجة يكاد يكون مثل تعلم أي لغه بشريه حيث أفضل طريقة لتعلم اللغات البشريه هي قراءة بعض ما هو مكتوب من قبل أساتذة تلك اللغات و كتابة بعض الأشياء بنفسك و قراءة المزيد و كتابة المزيد حتى تبدأ كتاباتك في التطور لتصل إلى المستوى الذي تريده.

    كان العثور على كود لبرامج جيده صعبا بسبب وجود عدد بسيط من البرامج حرة المصدر ليتمكن الهاكرز من قرائتها و التعديل بها و لكن هذا الشئ قد تغير تماما الآن فالبرامج و نظم التشغيل و أدوات البرمجة مفتوحة المصدر و المبنية من قبل الهاكرز متوفرة الآن و هذا ما ينقلني للنقطة التالية

    سأفترض أن لديك جهاز كمبيوتر أو تستطيع الوصول لجهاز. أهم خطوة يمكن لمبتدئ أخذها للحصول على مهارات الهاكر هي أن يقوم بالحصول على نسخة من نظام التشغيل لينكس أو نظام التشغيل من عائلة BSD و يقوم بتثبيته على جهازه و العمل به.

    نعم يوجد أنظمة تشغيل أخرى و لكنها أنظمة مغلقة المصدر و تصل إليك في الشكل النهائي حيث لا يمكنك قراءة الكود المصدري للنظام ولا يمكنك التعديل به. محاولة تعلم الهاك أثناء استخدام نظام التشغيل وندوز أو ماك أو إس يشبه تماما من يحاول تعلم الرقص و هو يرتدي بذله حديدية.

    يمكن التعلم باستخدام نظام MacOS X و لكن ليس كل نظام التشغيل مفتوح المصدرللك فسوف تقابل العديد من العقبات. و كن حذا لكي لا يصبح لديك العادة السيئة و هي الاعتماد على الكود مغلق المصدر الخاص بشركة أبل. إذا ركزت على مبادئ اليونكس الموجوده في النظام فسوف تتعلم شسئا مفيداً.

    اليونكس هو نظام تشغيل الانترنت. بينما يمكنك تعلم استخدام الانترنت بدون تعلم اليونكس لن يمكنك أن تصبح هاكر انترنت بدون تعلم اليونكس و فهمه. لهذا السبب فثقافة الهاكرز الآن متمركزة بقوة حول اليونكس (لم يكن هذا موجودا من قبل و يوجد بعض الهاكرز القدامى الغير سعيدين بهذا الشئ و لكن الصلة بين اليونكس و الانترنت أصبحت قوية لدرجة أن حتى ميكروسوفت ليست بالقوة الكافية لتضعف هذه الصلة).

    لذلك قم بجلب نظام تشغيل مثل اليونكس، أنا أفضل اللينكس و لكن يوجد أنظمة أخرى ( نعم يمكنك تثبيت نظامي لينكس و نظام وندوز على نفس الكمبيوتر جنبا إلى جنب). تعلم النظام و قم بالعمل عليه و ادخل على الانترنت عن طريقه. إقرأ الكود و عدل به. سوف تحصل على أدوات أفضل بكثير للبرمجة من أي أدوات يمكن أن تراها على نظام التشغيل وندوز. سوف تحصل على المرح و على الكثير من المعلومات أكثر مما تتخيل أثناء استخدامك و سوف تدرك هذا الشيئ عندما تنظر إلى الوراء لترى ما كنت عليه قبل أن تصبح هاكر.

    يمكنك تحميل نسخة لينكس من هناك و لكن يستحسن أن تبحث عن مجموعة مستخدمي لينكس قريبه منك لتحصل منهم على النسخه و ليساعدوك على تثبيته على جهازك. بالنسبة للمستخدم الجديد فلا يوجد فرق كبير بين توزيعات اللينكس المختلفه.

    ملاحظة: إذا كنت مبتدئ لا أنصح بتثبيت اللينكس أو BSD على الجهاز وحدك . حاول العثور على مجموعة مستخدمي لينكس لتسألهم المساعده.

    معظم الأشياء التي يقوم بها الهاكرز ليست واضحه و مرئية لغير الهاكرز مثل مساعدة الجامعات و المصانع و المكاتب على العمل. ماعدا الويب، و هو لعبة الهاكرز البراقه التي حتى السياسيين يعترفون بأنهما تحدث تغييرا في العالم و لهذا السبب بالإضافة إلى أسباب لأخرى يجب أن تتعلم كيفية التعامل مع الويب.

    لكي يصبح لصفحتك قيمة يجب أن يكون بها محتوى يجذب الانتباه أو مفيد للهاكرز الآخرين. و هذا ينقلنا للنقطة التاليه.

    بصفتي أمريكي و لغتي الأم هي الإنجليزية فقد كنت ممتنعا من ذكر هذه الجزئية خشية أن يعتقد البعض أنها إمبريالية حضارية. و لكن قام بعض المتحدثين بلغات أخرى بتحفيزي لذكر أن الانجليزية هي اللغة المعروفة كلغة أساسية لمجتمع الهاكرز و الانترنت و أنك سوف تحتاجها لكي تستطيع التعامل مع مجتمع الهاكرز.

    في حوالي سنة 1991 علمت أن العديد من الهاكرزالذين يتحدثون لغات غير الانجليزي يستخدمون الانجليزية في مناقشاتهم التقنية حتى و لو كانت لغتهم الأم واحده. حيث أن اللغة الانجليزية بها مصطلحات تقنية أغنى من أي لغة أخرى و لهذا فهي أسهل في التخاطب في الأمور التقنية. و لذلك فالكتب المترجمة من الانجليزية إلى لغات أخرى ليست بنفس مستوى الكفاءة.

    لينوس تورفالدس و هو فنلندي يقوم بكتابة التعليقات على الكود الذي يكتبه بالانجليزية. قدرته على التحدث بالانجليزية لعبت دورا هاماً في قدرته على العمل مع المجتمع الواسع من المطورين على الانترنت لتطوير اللينكس. و هو مثال جدير أن يحتذى به.

    المكانة في ثقافة الهاكرز

    مثل كل الثقافات التي لا تملك اقتصاديات مادية، تقوم ثقافة الهاكرز على السمعة. انت تحاول حل مشكلات شيقة، و لكن إلى أي مدى هي شيقة هذه المشكلات، و هل حلك لهذه المشكلة حل جيد أم لا هي أشياء وحدهم نظرائك المساويين لك في الخبرة أو الأكثر خبرة منك هم الذي يستطيعون تحديدها.

    و لذا عندما تمارس الهاك تتعلم أن تحافظ على سجل بما يعتقده بعض الهاكرز من ناحية خبراتك (لهذا لن تصبح هاكر حتى يعتبرك الهاكرز الآخرون هاكر). هذه الحقيقه تبدو محجوبة عن الآخرين بالصورة الظاهرة أن الهاك هو عمل فردي.

    يطلق على الهاك بالتحديد حضارة الإهداء. تكتسب السمعه و المكانة بها ليس بالسيطرة على الآخرين ولا بكونك جميلا ولا بحيازتك لأشياء يريدها الآخرون و لكن بالعطاء. بعطائك للوقت و المجهود و نتيجة إبداعك و مهارتك.

    يوجد خمس أشياء أساسية يمكنك أن تقوم بها لتحظى باحترام الهاكرز:

    أول الأشياء التي يمكنك عملها هو أن تقوم بكتابة برامج يراها الهاكرز الآخرون مفيده أو ممتعه و أن تقوم بنشر الكود الخاص بالبرنامج للمجتمع ليستخدمه.

    اعتدنا من قبل أن نسمي هذه البرمجيات "برامج حرة" (free software) و لكن هذه التسمية بالانجليزية سببت الحيرة لبعض الأشخاص بين معنى الحرية و المجانية. معظمنا الآن بنسبة خمسه إلى واحد بناء على تحليل محتويات الويب يفضلون المصطلح برنامج "مفتوح المصدر".

    الهاكرز الشهيرين هم من قاموا بكتابة برامج كبيرة و قوية و لاقت إقبالا واسعا بين الناس و من ثم منحوا هذه البرامج للعالم بدون مقابل لكي يستخدمها الجميع الآن.

    في هذا العالم الخالي من أي شئ كامل من الطبيعي أن نجد أن أكثر الوقت الذي نمضيه في تطوير البرامج هو الوقت الذي نمضيه في تتبع الأخطاء و تصحيحها بالبرنامج. لذلك ستجد أن أي مبرمج لبرنامج مفتوح المصدر سيقول لك أن أي مجرب جيد للبرنامج ( الذي يعرف كيف يصف مشكلات البرنامج، يعرف كيف يحدد مصدر المشاكل، و قادر على تتبع خطوات معينه لوصف المشكله) يساوي وزنه ذهبا. يمكن أن يشكل شخص واحد فقط من هذه النوعية فرقا شاسعا بين عملية تتبع و تصحيح الأخطاء المتعبه التي تشبه الكابوس و السهله البسيطه.

    إذا كنت مبتدئ فعليك إيجاد برنامج تحت التطوير و كن مختبرا جيدا للبرنامج. هذا هو التطور الطبيعي فبعد ان تساعد في الاختبار و ايجاد الأخطاء ستساعد فيما بعد في تتبعها و إصلاحها و حتى في تعديل البرنامج. سوف تتعلم الكثير بهذا الشكل. و سوف تترك انطباعا جيدا لدى الأشخاص الذين سوف يساعدوك فيما بعد.

    أحد الأشياء الأخرى المفيده مثل جمع المعلومات المفيده و تنظيمها في صفحات أو مستندات مثل قوائم الأسئلة المتكررة و جعلها متاحة للجميع.

    الأشخاص الذين يقومون بتوفير مثل هذه المستندات التقنيه يحظون بنفس الاحترام تقريبا الذي يحظى به مبرمجو البرامج مفتوحة المصدر.

    حضارة الهاكرز مبنية على العمل التطوعي. هناك العديد من الأعمال المهمة للغاية و في نفس الوقت لا تسلط الأضواء عليها مثل إدارة القوائم البريدية، إدارة المجموعات الإخبارية، إدارة مواقع أرشفة البرامج، تطوير مستندات RFC و غيرها من المقاييس التقنية.

    الناس الذين يقومون بهذه الأعمال يحظون بقدر عالي من الاحترام، لأن كل الناس على علم بأن هذه الأعمال تحتاج إلى وقت كبير و ليست ممتعه مثل كتابة البرامج. القيام بهذه الأعمال يظهر الإخلاص و التفاني.

    أخيرا خدمة ثقافة الهاكرز نفسها. (مثلا بكتابة مستند كيف تصبح هاكر :-)). و هذا الشيئ لن تستطيع فعله قبل أن تختلط بالمجتمع لفترة و أن تعرف بشيئ من الأربعه السابقين.

    لا يوجد قادة لحضارة الهاكرز. و لكن هناك أبطال و كبار في السن و خطباء و مؤرخين. عندما تصبح عضوا في مجتمع الهاكرز لفترة كافية قد تصبح واحدا من هؤلاء. و لكن إحذر فالهاكرز لا يثقون في من لديه تفاخر بنفسه زائد عن اللزوم. لذلك فالمحاولة للوصول إلى هذه المكانة من الشهره بشكل واضح أمر خطر. بدلا من الركض وراء المكانه يجب أن تحاول الابتعاد عنها حتى تصل إليك بنفسها. و عندها كن متواضعا بالنسبة لما وصلت إليه

    علاقة الهاكرز بالمنعزلين عن الحياة العامة (Nerds)

    على النقيض تماما من الصورة التي لدى الناس عن الهاكرز. لا يجب أن تكون منعزلا عن الناس و الحياة العامه لتكون هاكر. قد يساعدك هذا لتكون هاكر و بالفعل هناك العديد من الهاكرز المنطوين و المنعزلين فهذا يساعد على التركيز على التعلم و العمل الجدي.

    إذا استطعت أن تركز على الهاك و الحفاظ على حياة جيده فلا بأس بهذا. و قد أصبح هذا أكثر سهولة من الوقت الذي كنت فيه مبتدأ في أوائل السبعينيات. و يوجد الآن أشخاص يدركون أن الهاكرز عادة ما يكونوا أزواج و محبين ممتازين :).

    و إذا كنت منجذبا للهاك بسبب انعزالك فلا بأس بذلك أيضا. على الأقل لن تصادفك مشاكل في التركيز. و ربما تجد حياة أفضل فيما بعد.

    أشياء للمظهر

    لكي تصبح هاكر يجب أن تفكر بعقلية الهاكر. يوجد بعض الأشياء التي قد تساعدك على هذا عندما لا تكون جالسا أمام الحاسب الآلي. هذه الأشياء ليست بديلا عن الهاك (ولا يوجد بديل عنه) و لكن العديد من الهاكرز يقومون بتلك الأشياء و يشعرون أنهم بهذه الطريقه يصبحون متصلين مع قلب الهاك.

    • تعلم الكتابه بلغتك الأم. بالرغم من أن أغلب الناس يعتقدون أن الهاكرز لا يستطيعون الكتابه، يوجد عدد كبير من الهاكرز لديهم قدرات جيده على الكتابه.
    • إقرأ روايات الخيال العلمي.
    • تعلم فنون الدفاع عن النفس. الانضباط العقلي المطلوب لمثل هذه الألعاب الرياضية مشابه للمطلوب من الهاكر. الأكثر شهرة هو بالتأكيد فن القتال الآسيوي باليد الخاليه مثل التايكوندو، الكاراتيه، الوينج شون، الأيكيدو، أو الجو جيتسو. القتال بالسيوف الآسيوية لديه بعض الهواة. و في الأماكن الذي تعد فيه هذه النشاطات قانونية أصبح إطلاق النار منتشرا منذ أواخر التسعينات. أكثر هذه الفنون قربا للهاكر هي التي تتطلب الانضباط العقلي، الاسترخاء الحذر، التحكم و ليس القوة العضلية.
    • إيجاد طريقة مناسبة لك للتأمل.
    • تعلم تقدير أنواع غير اعتيادية من الموسيقى. تعلم العزف على أي آلة موسيقية.
    • التلاعب بالألفاظ و التورية في الحديث.

    كلما زادت الأشياء التي تقوم بفعلها من ضمن هذه القائمة كلما كنت قريبا من عقلية الهاكرز. لا ندري بالتحديد لماذا هذه الأشياء و لكن كلها متصله ببعضها من حيث النشاط بنصفي المخ الأيمن و الأيسر. يحتاج الهاكرز إلى التصرف بمنطقية في لحظة و في اللحظة التاليه يخرجوا عن حدود المنطق.

    أخيرا هناك بعض الأشياء التي يجب أن لا تفعلها:

    • لا تستخدم أسماء رمزية جذابه أو سخيفة على الانترنت.
    • لا تدخل في مشادات و مشاحنات تافهة على الانترنت.
    • لا تسمي نفسك Cyberpunk ولا تضيع وقتك على أي شخص يسمي نفسه باسم كهذا.
    • لا تقم بإرسال موضوع أو رساله بريدية مليئة بالأخطاء الإملائية.

    السمعه الوحيده التي ستكتسبها إذا فعلت أي من هذه الأشياء هي أنك أحمق. لاحظ أن الهاكرز لديهم ذاكرة قوية، قد يتطلب الأمر سنوات لكي ينسى الهاكرز ما فعلته من قبل و يقبلوك بينهم.

    يجب أن أوضح المشكله بالنسبة للأسماء الرمزية، إخفاء هويتك وراء إسم رمزي هو تصرف سخيف معروف لدى الكراكرز و لصوص البرامج و غيرهم من الأشخاص البلهاء. لا يقوم الهاكرز بهذا الفعل فهم فخورون بما يقومون به و يريدون أن تبقى أعمالهم متصلة بأسمائهم الحقيقية. لذا فإن كان لك اسم رمزي تخلى عنه فلن تعتبر إلا فاشل بهذا الاسم الرمزي في مجتمع الهاكرز.

    مصادر أخرى

    الأسئلة الأكثر شيوعا

    الأسئلة الأكثر شيوعا

    ج: منذ أن نشرت هذه الصفحة وصلتني رسائل كثيرة كل يوم من ناس تطلب من أن أعلمهم كل شيئ عن الهاك، للأسف ليس لدي الوقت ولا القدرة لعمل هذا. مشاريع الهاك الخاصه بي و رحلاتي كدعائي للمصادر المفتوحة يأخذان كل وقتي. و حتى إذا فعلت هذا فالهاك نمط و طريقة في التصرف لابد من أن تعلمها لنفسك. سوف تجد أن الهاكرز قد يريدون مساعدتك و لكنهم لن يحترموك إذا أردت أن يلقنوك كل شيئ يعرفونه.

    ابدأ بتعلم شئ ما لتثبت قدرتك على تعليم نفسك و من ثم توجه بأسئلتك المحدده للهاكرز.

    و اذا راسلت أي هاكر طالبا المساعده خذ وقتك و تأنى في كتابة كلماتك لكي لا تقع في الأخطاء الإملائية. الشخص الكسول لدرجة عدم التأني في كتابته عادة ما يكون كسولا لكي يفكر و لكي يصبح هاكر. لذلك تأنى في الكتابه و استخدم علامات التنصيص و حاول ان لا تقع في الاخطاء النحوية و اللغوية و الا غالبا ما سيتجاهلك قارئ الرسالة.

    و غالبا ستجد واحدة قريبة منك. و ان لم تجد في هذه الصفحة واحده قريبه منك ابحث على الانترنت. سوف يعطيك الأعضاء نسخة من اللينكس إذا أردت و سوف يساعدوك في تثبيته و في أي مشاكل سوف تواجهك.

    ج: في أي عمر بدأت تهتم بالأمر هو عمر مناسب. لكن معظم الناس يبدون اهتمامهم بين سن الخامسه عشر و العشرين و لكني رأيت شواذ عن هذه القاعدة في كلا الاتجاهين الأصغر و الأكبر. ج: يعتمد هذا على موهبتك الطبيعية و على مدى اجتهادك في العمل. معظم الناس يكتسبون مهارات تستحق الاحترام في غضون ثمانية عشر شهر أو سنتين لو ركزوا و لكن التعلم لا يقف عند هذا الحد. اذا كنت هاكر حقيقي سوف تقضي بقية حياتك في محاولة التعلم و تطوير مهاراتك.

    ج: اذا كنت تسأل هذا السؤال فهذا يعني أنك تريد تعلم و ممارسة الهاك على نظام ميكروسوفت وندوز و هذه فكرة سيئة للغاية. عندما قارنت الهاك على انظمة الوندوز بتعلم الرقص و انت ترتدي بذلة حديدية لما أكن أبالغ. لا تذهب في هذا الاتجاه فهو سيئ للغاية.

    هناك مشاكل معينة في الفيجوال بيسك و السي# من اهمها انها لن تعمل الا على نظام واحد.بالرغم من وجود أكثر من بيئة عمل مفتوحة المصدر لهما و لكنها لا تغطي غير جزء بسيط من أدوات اللغة. و على الوندوز معظم المكتبات البرمجية التي تدعم تلك اللغات مغلقة المصدر و ملك لشركة واحده هي ميكروسوفت. إذا لم تكن حريصا للغاية في اختيار الأشياء التي ستعتمد عليها أثناء برمجتك بهذه اللغات و غالبا كل المبتدئين يكونون هكذا فسوف ينتهي بك الأمر محاصرا بالأنظمة التي تدعمها ميكروسوفت فقط. إذا بدأت مع اليونكس فهناك لغات برمجة افضل و مكتبات برمجية أفضل مثل البايثون.

    الفيجوال بيسك بذات لغة فظيعة. فهي مصممة بشكل ضعيف و سوف تعلمك العديد من العادات البرمجية السيئة للغاية و لا يسعني أن أشرح هذه العيوب لأنها كثيرة للغاية و يمكن ملئ كتاب بها. الأفضل لك أن تتعلم لغة برمجة مصممة بشكل جيد .

    واحد من هذه العيوب هو ان هذه اللغة تعتمد على بيئة عمل واحده و على أدوات تطوير واحده. و عموما إذا كانت لغة البرمجة لا تدعم العمل في ثلاثة بيئات مختلفه فهي لغة ضعيفة لكي تتعلم الهاك بها.

    ج: لا، أي شخص يسأل هذا السؤال بعد قراءة هذا المستند هو أغبى من أن يمكن تعليمه أي شيئ حتى و لو كان لدي الوقت لأعلمه و أي رسائل ستصلني بهذا المعنى لن أرد عليها أو سيكون ردي عليها جارحا.

    ج: هذا الشيئ اختراق أيها الغبي !

    ج: هذا الشيئ اختراق أيها المتخلف !

    ج: هذا الشيئ اختراق أيها المعاق ذهنيا!

    ج: لا. غالبا عندما يسألني أحد هذا السؤال يكون مستخدما لنظام تشغيل وندوز. لا يمكن تأمين نظام التشغيل وندوز بشكل مضمون مئة بالمئة من المخترقين. تصميم نظام التشغيل به أخطاء كثيرة تساعد المخترقين. الحل الوحيد الأمثل هو أن تغير نظام تشغيلك إلى لينكس أو إلى أي نظام تشغيل قابل لأن يتم تأمينه من الهجمات.

    ج: بالطبع، إذهب إلى الدوس و اكتب format c: و سوف تذهب كل مشاكلك في دقائق.

    ج: يمكنك دوما ان تتعرف على الهاكرز في اجتماعات مجموعات مستخدمي اللينكس. و أصبح الآن الهاكرز يتجمعون على قنوات المحادثة في IRC.

    ج: لا. لن تحتاج للنظريات و المبادئ الرياضية عموما ما عدا طبعا في مجالات معينه مثل برمجيات الرسم بالحاسب. معرفة بعض قواعد الجبر ستساعدك بالتأكيد عموما و لكن ما هو اكثر اهمية هو انك يجب ان تستطيع التفكير بمنطقية و ان تستطيع تتبع خطوات متسلسلة في التفكير مثلما يتم حل المشاكل الرياضية. قد لا تساعدك كل فروع الرياضيات و لكنك بحاجة إلى الذكاء الذي يتطلبه حل الرياضيات.

    هناك طريقة جيده لتستطيع معرفة `ذا كان لديك هذه القدرة ام لا هي أن تقرأ كتاب رايموند سموليان What Is The Name Of This Book?. الألغاز المنطقية الموجوده بالكتاب متماشية تماما مع عقلة الهاكر. اذا استطعت حل هذه الألغاز فهذه اشارة جيده و اذا استمتعت بحل هذه الألغاز فهذه إشارة أفضل.

    و لكن HTML ليست لغة برمجة، عندما تصبح جاهزا لتبدأ البرمجة أنصحك بالبدأ مع بايثون. سوف تجد الكثيرين ممكن ينصحونك بالبيرل و البيرل أكثر شعبية من البايثون و لكنها أكثر صعوبة من حيث تعلمها و أقل جودة في التصميم.

    لغة السي شديدة الأهمية و لكنها أكثر صعوبة من كلتي اللغتين البايثون و البيرل. لا تحاول تعلمها أولا.

    لمستخدمي الوندوز: ابتعد عن الفيجوال بيسك، سوف تعلمك عادات برمجية سيئة و لن تستطيع تشغيل الكود على نظام غير الوندوز.

    ج: في السابق كانت الأجهزة الشخصية أقل من أن تلبي للهاكر احتياجاته و لكن منذ منتصف التسعينيات لم يعد هناك مشكلة فأي جهاز بداية من انتل 486DX50 سوف يؤدي جميع الأغراض من أعمال التطوير، الاتصال بالانترنت، و تشغيل الواجهات الرسومية. و أصبح أقل قرص صلب يمكن أن تشتريه به مساحه أكثر من كافية.

    ما يجب أن تفكر فيه هو أن يكون العتاد الذي ستقوم باستخدامه يعمل بشكل جيد على نظام لينكس أو على أنظمة BSD و هذا الشيئ سيكون متواجدا في أغلبية الأجهزة الآن و لكن أكثر المشكلات انتشارا هي بطاقة المودم حيث هناك بعض الأجهزة بها عتاد مخصص لنظام وندوز و لن يعمل هذا العتاد مع اللينكس.

    ج: لا، و ليس هذا لأن ميكروسوفت ليست مثيره للاشمئزاز و لكن كانت هناك ثقافة الهاكرز من قبل ظهور ميكروسوفت و ستبقى ثقافة الهاكرز موجوده بعد زوال ميكروسوفت لذلك فأي وقت ستقضيه في كراهية ميكروسوفت هو وقت ضائع يستحسن أن تقضيه في كتابة برامج مفتوحة المصدر جيده و هذا كفيل بإثارة غيظ ميكروسوفت.

    ج: في جزء آخر من هذه الصفحة كتبت عن كيفية الحصول على أكثر نظم اليونكس الحرة انتشارا. لكي تصبح هاكر ستحتاج للدافع و المبادرة و القدرة على تعليم نفسك. إبدأ الآن ...

    Under Construction

    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.

    Asterisk A Closer Look

    We will start by downloading and compiling asterisk:-

    Before we start we need to install some requirements I always install the headers and the development packages for mysql , postgresql and openssl in case I wanted to use any of this features with asterisk later on also asterisk require the kernel source, kernel headers, bison and libnewt then we will start by extracting and compiling: tar zxvf libpri-X.X.XX.tar.gz cd libpri-X.X.XX make su - make install
    tar zxvf zaptel-X.X.XX cd zaptel-X.X.XX make su - make install
    tar zxvf asterisk-x.x.xx.tar.gz cd asterisk-x.x.xx make su - make install make samples
    tar zxvf asterisk-addon-X.X.XX.tar.gz cd asterisk-addon-X.X.XX make su - make install
    tar zxvf asterisk-sound-X.X.XX.tar.gz cd asterisk-sound-X.X.XX su - make install and You are done with asterisk compiling..
    now let us talk about some basics
    1. asterisk configurations exists at /etc/asterisk/
    2. asterisk sounds exists at /var/lib/asterisk/sounds
    3. asterisk music on hold files at /var/lib/asterisk/mohmp3/
    4. asterisk voicemail files and others at /var/spool/asterisk/
    5. asterisk applications, codecs and channels at /usr/lib/asterisk/modules/
      1. sip.conf it contain the sip server options , sip registrar and the sip users
      2. iax.conf it contain the iax server options , iax registrar and the iax users
      3. extensions.conf it contain the dialplain which we call asterisk heart
      4. modules.conf it contain which module not to be loaded or loaded
      5. voicmail.conf it contain the voicemail options
      6. logger.conf it contain the logger options
      okay now let start with a very basic scenario .. you want to have 2 sip clients can reach each others so we need to have 2 sip accounts and a very basic dialplan. so we can move the sip.conf that already created from make samples and we keep it as a reference and we start or simple one from scratch
      [general]              ; here we will define the general options 
      bindaddr =     ; so the SIP server will be listing on all the interfaces
      bindport = 5060        ; default SIP port
      and now we will need to create 2 SIP account for our softphones username=1001 ; the username for authentication secret=123 ; the password type=friend ; what kind of user is he ? peer,user,friend context=test ; context is one of the key words it's where the incoming and outgoing calls from this user should go host=dynamic ; if the user don't have static IP address or he moving alot with his softphone nat=yes ; if user behind the NAT or no canreinvite=no ; this is important it define if the media path for the call should be directed between the end points or it should go via the asterisk server and almost the same configurations will be for the 2nd user username=1002 secret=123 type=friend context=test host=dynamic nat=yes canreinvite=no now the heart of this call the dialplan in extensions.conf
      [test]                          ; the test context
      exten => 1001,1,Dial(SIP/1001) 	; when someone dial 1001 should dial 1001 using SIP protocol
      exten => 1002,2,Dial(SIP/1002) 	; when someone dial 1002 should dial 1002 using SIP protocol 
      now the easy part the softphone ... there is lots of softphones for both GNU/Linux and windows you can use xlite and adjust the username / authentication for each users the domain / sip server is the asterisk IP server and the password is the user password
      Directory it's a very useful asterisk application, most of time when you call a company and don't know the extension number for the person you are looking for you have to wait and get help from the operator to reach this person. but if this company has a company directory in there asterisk PBX this will make your life much more easy .. In more simple words, the directory is a extension numbers searching tool. so you press like * and you go the directory and then you will have to enter the 1st 3 letters of the first or last name of the person you are looking for, and this application will take care of looking UP the extension number for you Okay so let us get technical a little bit more, how the directory application works. it gets all the information needed from the last place you will ever think about ! the voicemail.conf . Ok how does the voicemail.conf look like ?
      [general]			;where the general configurations belongs
      [context]			;context name
      extension number => password,user name
      • extension number ; user phone number
      • password ; the voicemail password
      • username ; the user real email
      so in our example the voicemail.conf will look like this:-
      1001 => 0007,sherif nagy
      then how the directory command look like ?
      • directory ; the directory command
      • vm-context ; the voicemail context we want to search into
      • dial-context ; " i never used it " the extension context " dialplan" the command will search into after the user search
      • options ; the "f" option it force the directory to look for the person FIRST name, by default the command search but the person last name
      and we will add a directory extension in the dialplan "extensions.conf file" exten => *,1,Directory(test|f) ; * the number/key to reach the directory , test is the voicemail context , and it'll use looking by first name so now someone will be calling want to get to me but he don't know my extension number so he will dial * then he will get a message saying Something like this : " welcome to the directory please enter the 1st three letters of the person first name.
      • the caller will enter "s-h-e" from phone keypad. and now there is 2 alternatives:-
        • the caller will listen to s-h-e-r-i-f-space-n-a-g-y every letter in the name is separated , this will be with the asterisk default voice system.
        • any asterisk user can record his name , busy , unavailable message using the asterisk voicemailmain application and in this case the caller will listen to sherif nagy with my voice that i record.
      • then after this asterisk will say something like " is that the person you are looking for ? if yes press 1 if no press * to find the next search results "
      each number in the phone keypad contain 3 letters so for example if your are looking for sherif you will type the 1st 3 letters which are "s-h-e" so you will click on 743 which can be any combination of PQES as 1st letter , GHI as 2nd letter and DEF as 3rd letter, so the directory will start to look using this input you may find P-H-F which a person you don't want so you click * , and so on until you find the person you are looking for. i think that pretty much all about directory searching ..and we are done ;-) later on i hope this howto become more advanced but this is just a start

    Changing the background of lilo boot loader


    ChewingTeeth (2): Courier MTA

    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.


    permit users to change their passwords.

    ChewingTeeth (3): CVS


    • Introduction:CVS is a version control system. It is used to record the history of your source files.Bugs can creep in when software is modified, and may not be detected until a long time after the modification is made. With CVS, you can retrieve old versions to find which change caused the bug.CVS can also help when a project is being worked on by multiple people, where overwriting each others changes is easy to do. CVS solves this problem by having each developer work in his/her own directory and then instructing CVS to merge the work when each developer is done.
    • CVS server setup
    • Creating a new repository.
    • overview of the CVS authentication stuff.
    • All users are mapped to 1 user.
    • pserver
    • over ssh
    • readers/writers
    • permissions on the directories.
    • permissions on the CVSROOT directory
    • co
    • commit
    • add
    • binary files
    • tags
    • update
    • remove
    • multiple users, restricting each to a directory
    • what's missing ?
    • References

    Create Custom Form with Drupal

    you can create any type of forums using flexinode. Have a nice Drupal.

    Cron Job

    Cron is a tool that lets you specify jobs (could be command or scripts or whatever you like) in the file /etc/crontab these commands will then be executed according to a particular schedule (for instance every Wednesday at 3:00 do a fsck, or every day at 8:00 play, or even every 1st of Jan say happy new year).

    usually your crontab file will look like this:- SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/
    1. run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly

      the first few lines are environment variables and explain themselves the run-parts is the important one its obvious here that my system has four separate tables for hourly, daily, weekly and monthly jobs

      Now let us see what is the run-parts

      • The numbers in the beginning stand for :-
      • minute
      • hour
      • dayofmonth
      • month
      • dayofweek
      • then comes the user that will be used to run these jobs.
      • Then the last field is the job (run-parts is a small tool that runs scripts by guessing which interpreter to use, so run-parts foo is basically equivalent to bash foo, or python foo or whatever).

      lets us notice :-

      • The hourly jobs are executed on the first minute of every hour in every day in every month (could be fetchmail or sendmail etc.)
      • The daily jobs are executed on the second minute of the fourth hour of every day in every month (a fortune maybe or a some check on your logs)
      • The monthly jobs are executed on the 22ND minute of the 4Th hour of anyday in anymonth that is a Sunday(thats what the last 0 stands for, and this could be a fsck or a cleanup of your tmp dirs)
      • The monthly jobs are executed on the 42ND minute of the 4Th hour of the first day of any month (a backup to your /etc maybe)

      The happy new year setting will look like this:- 01 0 1 1 * alaa echo 'happy new year' 02 0 1 1 * alaa mail -s 'happy new year' friends &lt; greetings.txt

      Thats Will Do Two Things:-

      1. on the first minute at midnight on the first of Jan write happy new year on the console.
      2. on the 2ND minute of the same date send an email to all friends with

      the subject 'happy new year' and have the content of greetings.txt as the message body.

      however cron is of limited use to your usual home user since it assumes your pc is on all the time so if I don't open my pc on 1st of Jan until the morning (which is probably what will happen) my friends will not get a message from me and my computer will not greet me thus ruining the whole year from day one.

      a tool that would be more useful is anacron, it doesn't assume your computer will be on all the time but rather you have to describe a frequency for this particular job (like I want this done once a month and that done once a year). however anacron is a totally different story.

      both cron and anacron are useful if you like your command/script to run only once (not periodically) in this case you use the tool at

      read the cron and crontab man pages:-

      • man cron
      • man crontab
      • man 5 crontab

      you may want to check the man pages for anacron and at too your GNU/Linux system comes with a whole lot of docs and manuals try to read as many of them as you can.

    DNS for LAN


    # /etc/dhcpd.conf
    # Global Settings
    # Turn on Dynamic DNS:
    ddns-update-style interim;
    ddns-updates on;
    # Don't allow clients to update DNS, make the server do it
    # based on the hostname passed by the DHCP client:
    deny client-updates;
    allow unknown-clients;
    # Scope Settings
    subnet netmask {
            # Range of DHCP assigned addresses for this scope
            range                 ;
            # 1 day
            default-lease-time              86400;
            # 2 days
            max-lease-time                  172800;
            # Configure the client's default Gateway:
            option subnet-mask    ;
            option broadcast-address;
            option routers        ;
            # Configure the client's DNS settings:
            option domain-name              "lab.local";
            option domain-name-servers;
            # If you want the client to be configured to also use
            # a WINS server:
            option netbios-name-servers;
            option netbios-node-type        8;


    ## /etc/named.conf
    options {
            directory "/var/named";
    controls {
            inet allow { localhost; } keys { rndckey; };
    zone "." IN {
            type hint;
            file "";
    zone "localhost" IN {
            type master;
            file "";
            allow-update { none; };
    zone "" IN {
            type master;
            file "named.local";
            allow-update { none; };
    zone "lab.local" IN {
            type master;
            file "lab.local";
            allow-update { localhost; };
    zone "" IN {
            type master;
            file "192.168.0.rev";
            allow-update { localhost; };
    include "/etc/rndc.key";

    note : FC3 users or any other SELINUX enabled distro users must modify the selinux security policy to allow named to overwrite the zone files (in FC3 is done using the security-level tool)

    Drupal vs JBoss Portal

    i found this discussion about the difference between JBoss Portal and drupal:

    Editing /etc/fstab

    Hello , Its Me Again

    The original author was thinking to write how-to mount windows partition but the idea gets more fat to get more than windows to be generally FSTAB

    On Mandrake and some other Distributions, The System mounts Windows Partitions Automatically,

    By Other Means, When You cd To /mnt/windows ... You'll Find Your Files there ...

    But on Fedora Core and some other Distributions, You Must mount your Windows Partitions each Time you Boot into your System ... Now, The Question is : How To Make it mounted Automaticlly each time your System Boots UP ?!

    Before Getting Into Details .. You'll Have to Know That ...

    When you Boot Your System .. The Kernel Looks for a File called /etc/fstab Which Describes all the File Systems that Should Be mounted and Then mounts Them All.

    This File not Only Includes Your root and swap Partitions but Also Includes any Extra Partitions you Want to mount .. Plus all Logical/Virtual File Systems like the /proc File System.

    Note: fstab Stands For "File System Table"

    Now, Inorder to Make The Partitions mounted Automaticlly Every Time Your System Boots UP What You Need is to Add Entries in Your /etc/fstab

    Here is The Format of The Entry ..

    • device_name: It is the Name Of The Physical Device you Want To Mount ,It could be a network share ,NFS (Network File System ) *nix share or SMB (Server Message Block ) Window$ share ( Network resource ) ..
    • Ex. /dev/hda1 for physical devices and it is also local
    • Ex. NFS resource
    • Ex. //ms.Misr-soft/share-name SMB resource
    • mount_point: It is the Mount Point Where The File System(Partition) will be Mounted .. Ex. mnt/win_c
    • fstype: It is the Type Of the File System of the Partition that Will Be Mounted .. Ex. vfat, ext3 , nfs , smbfs , ntfs and swap

    Now, The Common Options Are:

    • user: It Makes the Partition Mountable by any user, but then only that user can unmount it. (For Sure CDROM Drives must have this Option)
    • users: It Makes the Partition Mountable by any user, and any user can unmount it.
    • noexec: No Executable Files Allowed (You Should Use this with Windows Partitions or Else All the Files Will be Considered Executables)
    • ro: Read Only
    • rw: Read/Write
    • noauto: Don't mount this at Boot Time (You May be Wondering What its doing in fstab if it is Not Going to Be mounted at Boot Time, this is Used to Simplify mounting Removable Media like CDROMS and FLOPPIES)
    • uid: Sets Default User id (All Files on your Partition Will be Owned by this User)
    • gid: Sets Default Groups id (All Files will be Owned by this Group)
    • sync: Always Sync File System (Don't Cache Content .. Use this with Floppies)
    • dump_frequency: Is Used to Automatically Backup Files (Only Useful For ext File System)
    • fsck_priority: Is Used to Determine The Order of Checking File Systems when Doing a System Wide fsck at Boot Time, a Value of Zero will Tell the Kernel Never to Check This File System (This is How it Should be For Most Windows Partitions). The two digits allow for parallel checks when you have two different drives, thus speeding up boottime checks.

    Note: fsck Stands For File System Check and it is used to Check and Repair a Linux File System

    Now Lets Take a Look at My /etc/fstab

    /dev/hda2 / ext3 defaults 0 1 /dev/hda6 /home ext3 defaults 0 2 /dev/cdrom /mnt/cdrom iso9660 noauto,user,noexec,ro,uid=501,gid=22 0 0 /dev/cdrom1 /mnt/cdrw iso9660 noauto,user,noexec,ro,uid=501,gid=28 0 0 /dev/fd0 /mnt/floppy vfat user,sync,noauto 0 0 /dev/hda1 /mnt/win_c vfat noexec,rw,uid=501,gid=6 0 0 /dev/hda5 /mnt/win_d vfat noexec,rw,uid=501,gid=6 0 0 none /proc proc defaults 0 0 /dev/hda3 swap swap defaults 0 0 /dev/hdb2 /mnt/edge reiser4 defaults 1 1

    OK, So What we Have Here Is :

    • A root Partition on /dev/hda2 .. Its File System is ext3 ( second partition on the primary master drive ) .. Options are Set to defaults and it Should be the First Partition to be Checked by fsck.
    • A reiser4 partition /dev/hdb2 ( second partiton on the primary slave drive ) will be checked at the same time as the previous partition (parallel).
    • Then on /dev/hda6 Lies my /home Partition, Same as the root Partition but Should be Checked by fsck after the root Partition.
    • The /dev/cdrom Has my CDROM Drive, Its mounted to /mnt/cdrom, File Type is iso9660 (DON'T use auto in fstab) .. And the Options Are :
    • noauto: Don't mount at Boot Time since the Drive May be Empty and Media may Change.
    • user: File System is User mountable (This is Important Since its Not mounted on Boot Time, and Users have to be Able to mount their CDROMS).
    • noexec: No Executables Allowed.
    • ro: Read Only File System
    • uid=501: Default User is the User with id 501 (Thats Me)
    • gid=22: Default Group is the Group with id 22 (Thats the CDROM) And no Backups or File Checking is Needed.

    The Entry for the CDRW Drive is Exactly the Same As for the CDROM, You Don't Need to Make it read/write Since Writing to the CDR Media is Done While the Media is unmounted.

    The Benefit of having a CDROM Entry in Your fstab will be Revealed Now :

    Instead of Running :

    mount -t iso9660 /dev/cdrom /mnt/cdrom -o noauto,user,noexec,ro,uid=501,gid=22

    Simply, You Can Just Run :

    mount /mnt/cdrom

    OR You Can Use :

    mount /dev/cdrom
    • The Windows Partitions /dev/hda1 and /dev/hda5 are mounted at Boot Time to /mnt/win_c and /mnt/win_d .. They are vfat File Systems (Thats FAT32, FAT16 is simply called FAT), Their Options are:
    • noexcutable, read/write File System and a Certain user/group Own the Files on those Partitions.
    • The proc File System Being a Virtual file System has a Device none, It is mounted to /proc and the File System Type is proc.
    • Finlay the swap Partition is on /dev/hda3, mount Point for swap Partitions is swap (Notice NOT /swap) and the File System Type is of Course is not accessible by anyuser except the kernel .

    As you Can See you Don't Really Need to Tweak All Options .. A Line that Says

    /dev/hda5 /mnt/win_d vfat

    Is Enough to mount your Windows Partition.

    some distributions like red-hat/fedora could not mount NTFS file system automatically like the vfat due to patent promise or ,license conflicts so the decide to remove the NTFS.

    Network Resource Mounting

    locally .it may be also mount network resource on boot .

    • NFS (Network File System) *nix share hostname:/path/to/share /mount/point nfs defaults 0 0

      the defaults may be changed with many other option as i remember some of them

      • ro: read only
      • rw: read write
      • __intr_ : allow to kill the process of request if the server is not accessible
      • nointr: killing the process or interrupt is not allowed it the server is not reachable
      • soft : if the process fails it will give a error message
      • hard : if the process fails it will block that tries to access an unreachable resource
      • rsize : rsize=8192
      • wsize : wsize=8192 this will enhance the mounting and the process of transactions,speed up NFS throughput . /mnt/mounted nfs defaults,ro,rsize=8192,wsize=8192,soft
        • SMB (Server Message Block )

        the most linux boxes could mount the M$ share resources automatically without any problems

        the entry will looks like // /mount/point defaults 0 0

        the options is diffrent from nfs the could be

        • __username=x : the MS share is based on usernames and password but nfs is based on hosts -hostnames or IPs- so you should type them
        • password=xx : actully many many people are doing the administrator password blank in M$ ,and linux accept the blank in this case.
        • uid = provid your id or gid

        so the entry will be something like //hostname/files /mount/point defaults,username=diaa,password=eglug,uid=514 0 0

        This Article is Originally Written by Alaa and re-organized by CVirus,and many contributers

    Emacs tips

    • examples of Major modes (C++ mode, erc, gnus, etc.).
    • examples of minor modes (spell checking mode).
    • CTRL c (written as C-c) for commands related to the mode u r in.
    • a very important command is CTRL g (C-g), to cancel any command u started writing in the emacs command line.
    • Emacs supports completion of other words in the buffer, using M-/ TAB
    • for changing the default color of emacs, download the color-theme package from the emacs wiki, gunzip it under the elisp/ directory (create it first), then open it using M-x color-theme-select and select a nicer theme.
    • if u want to change the emacs defaults, u have to edit the .emacs file (create it first), and then u have to know some lisp syntax to be able to write ur own preferences.
    • also u can customize emacs through options ---> customize emacs.

    Emacs Command:

    ALT x (written as M-x) opens the emacs command.

    • ALT x then press TAB, to view all possible commands/functions (tab completion).
    • u type the command to enable/disable functions.
    • M-x eshell ---> opens emacs shell.
    • M-x term ---> opens bash.
    • u can press ESC then press x, instead of typing M-x.

    Editor related commands:

    CTRL x (written as C-x) for commands related to the editor.

    • C-x C-f ---> open file.
    • C-x C-s ---> save file.
    • C-x C-c ---> quit emacs.
    • C-x d ---> opens dired mode.

    Help Commands:

    CTRL h (written as C-h) for help commands, also u can access it through F1

    • C-h C-h ---> about help.
    • C-h b ---> key bindings.
    • C-h t ---> interactive tutorial.

    Text-editing Commands:

    • C-SPACE ---> set a mark.
      • type C-x C-x to switch between the set mark and the cursor (after C-SPACE).
    • C-w ---> cut.
    • M-w ---> copy.
    • C-y ---> yank/paste.
      • type M-y to browse through the "kill ring" (all what u have copied, cut, killed, selected in the clipboard), after C-y
    • C-k ---> deletes from the point of the cursor to the end of the line.
      • if u press C-k many times quickly, u can kill many lines and when u paste emacs paste them all not only the last line.
    • C-_ ---> undo (when undos end, start redoing).

    Multi windows:

    • C-x 2 ---> splits the window in focus horizontally.
    • C-x 3 ---> splits the window in focus vertically.
    • C-x o ---> switches focus to the next window.
    • C-x 0 ---> closes the window in focus.

    Major Modes:

    • tramp: ssh through emacs.
    • gnus: news reader and mail client.
    • w3m: web browser, supports tables and images.
    • latex: with the latex-preview minor mode, u can c the generated output of latex while u r writing.
    • psgml: validator editor of sgml, xml, html.
    • erc: irc client.
      • supports nick completion.

    Explain When and Why the kernel will need to be recompiled

    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 is updated often.

    You may have several reasons to update the kernel on your system, including the following:

    • Stability : Although a released stable kernel is usually of high quality, many issues can still arise. This is why additional kernel releases are often more stable than the previous release
    • Hardware support : You Probably need to upgrade to a version 2.4.* kernel or higher like 2.6 in order to achieve support for many of the new hardware devices that are available today.
    • Hardware platforms : The newest processors often benefit from having the kernel optimized for their use. by providing an updated kernel, the system will be able to use the CPU more efficiently.
    • Package support : Some software packages don't run well or don't even run at all on older kernel versions. and these packages are often required to use the linux system.

    - Regardless of the reasons for upgrading the kernel, the installers should be competent at performing this task.

    GNU/Linux Vs. Microsoft

    Why Linux?

    1. Linux is based on a sharing concept, not based on selfishness.
    2. Linux respects your intelligence and encourages creativity.
    3. Linux adopts the concept of "Everyone can be a Leader" it has a good space for people's initiatives.
    4. Linux is one of the largest friendly communities, where programmers around the world that do not know each other can have a free speech common room.
    5. Linux creators do not suffer from human insecurity & lack of confidence, as it shows its real face & do not mind constructive criticize.
    6. Linux is like a close friend to you when you go to visit him you can act as if you are home; in your friend's house you can bring food, help in arranging the house, help him/her adding a new look to it etc... That is exactly what Linux allows you to do creating, developing, modifying, adding, rearranging, etc…
    7. Linux is proving a very important value; "Small melodies when gathered in harmony can create an outstanding piece of music".
    8. Linux has broken the misleading presumption of "To make sure you are not doing something wrong or destructive, u must be monitored by a higher authority".
    9. Linux is proving the widely approved concept in community development; "Community development based on grass root efforts is much more reliable than the services presented to the community by a big institution".
    10. Linux proves that there is always another alternative, there is always a way, there's hope worth the effort of creating a better tomorrow.

    Why Microsoft?

    Because Microsoft knows how to be a good politician:

    1. It knows how to have the highest number of votes even if doesn't have the highest recognition.
    2. It knows how to keep their market under control even if they have better competitors.
    3. It has the dare to pretend being the best and be very convincing while knowing their vices.
    4. It covers up on the flaws of its operating system.
    5. It presents misleading, inaccurate comparisons - claiming they're the best.

    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)

    GNU/Linux security model

    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.

    Permission grid

    fileCan readcan modifyCan executeexecuted as if ownerexecuted as if were in that groupno effect
    directorycan lscan make new files and delete filecan cd to directory and access its files and subdirectoriesno effectnew files get group & new dirs get setgidonly owners can delete files
    alphabetical chmod+r+w+xu+sg+so+t
    numerical chmod421400020001000

    How to disable annoying keys in X

    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

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

    1. 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).

    How to install Oracle 10g on Linux

    How to install Oracle 10g on Mandrake 10.1 Official

    1- Creating Oracle User Accounts

    To create the oracle account and groups, execute the following commands:

    2- Unzip the database by running this command:

    3- Uncompress the database by running this command:

    In order to install oracle the system must have at least 512MB of RAM and 1GB of swap space or twice the size of RAM. And for systems with more than 2 GB of RAM, the swap space can be between one and two times the size of RAM.

    4- To check the size of physical memory, execute:

    5- To check the size of swap space, execute:


    You also can add temporary swap space to your system by creating a temporary swap file instead of using a raw device. Here is the procedure:

    To disable the temporary swap space execute the following commands:

    6- Check how much space is in the /tmp :

    According to Oracle's documentation, the Oracle Universal Installer (OUI) requires up to 400 MB of free space in the /tmp directory. But OUI checks if /tmp is only greater than 80 MB.

    To check the space in /tmp, run:


    If you do not have enough space in the /tmp filesystem, you can temporarily create a tmp directory in another filesystem. Here is how you can do this:

    When you are done with the Oracle installation, shutdown Oracle and remove the temporary /tmp directory:

    7- Check for required RPMs

    This command queries the RPM database if these RPMs are installed or not (gcc, make, binutils, setarch, openmotif, mandrakelinux-release) If not so execute:

    8- Make the OUI believe that its installing Oracle 10g on Redhat , because Mandrake is not supported by Oracle.

    You have to edit these 2 files ( /etc/redhat-release , /etc/mandrakelinux-release ) file on Mandrake to make Oracle10g believe it is running on RHELAS3. To change the /etc/redhat-release file, you can simply copy/paste the following commands:

    After you are done with the Oracle10g installation undo the changes you made to

    9- Check the kernel parameters

    To see all kernel parameters, execute:

    For Oracle10g, the following kernel parameters have to be set to values greater than or equal to the recommended values which can be changed in the proc filesystem:

    ip_local_port_range = 1024 65000

    I added the following lines to the /etc/sysctl.conf file which is used during the boot process:

    Adding these lines to the /etc/sysctl.conf file will cause the system to change these kernel parameters after each boot using the /etc/rc.d/rc.sysinit script which is invoked by /etc/inittab. But in order that these new added lines or settings in /etc/sysctl.conf become effective immediately, execute the following command:

    Explanation for Semaphores:

    Semaphores can best be described as counters which are used to provide synchronization between processes or between threads within a process for shared resources like shared memories. System V semaphores support semaphore sets where each one is a counting semaphore. So when an application requests semaphores, the kernel releases them in "sets". The number of semaphores per set can be defined through the kernel parameter SEMMSL.

    To see all semaphore settings, run:

    The SEMMSL Parameter

    This parameter defines the maximum number of semaphores per semaphore set.

    Oracle recommends to set SEMMSL to the largest PROCESSES init.ora parameter of any database on the Linux system plus 10. Oracle also recommends to set SEMMSL to a minimum value of 100.

    The init.ora parameter PROCESSES specifies the maximum number of operating system processes that can be started by the Oracle instance. In a non MTS environment, Oracle spawns a system user process for each connection. This means that in such an environment the PROCESSES parameter defines the maximum number of simultaneous Oracle connections minus sum of all Oracle background processes. It can also be said that the PROCESSES value should never be greater than SEMMSL.

    The SEMMNI Parameter

    This parameter defines the maximum number of semaphore sets in the entire Linux system.

    Oracle recommends to set SEMMNI to a minimum value of 100.

    The SEMMNS Parameter

    This parameter defines the total number of semaphores (not semaphore set) in the entire Linux system. A semaphore set can have more than one semaphore, and according to the semget(2) man page, values greater than SEMMSL * SEMMNI makes it irrelevant.

    Setting it to a minimum value of 256 is for initial Oracle installation only. Oracle recommends to set SEMMNS to the sum of the PROCESSES parameter for each database on the system, adding the largest PROCESSES twice, and then adding 10 for each DB.

    The maximum number of semaphores that can be allocated on a Linux system will be the lesser of: SEMMNS or (SEMMSL * SEMMNI)

    Setting SEMMSL and SEMMNI to 100 makes sure that SEMMNS semaphores can be allocated as determined by the above calculation.

    The SEMOPM Parameter

    This parameter defines the maximum number of semaphore operations that can be performed per semop(2) system call.

    The semop(2) function provides the ability to do operations for multiple semaphores with one semop(2) system call. Since a semaphore set can have the maximum number of SEMMSL semaphores per semaphore set, it is often recommended to set SEMOPM equal to SEMMSL.

    Oracle recommends to set SEMOPM to a minimum value of 100.

    10- Setting semaphores

    First of all to avoid wasting your time if you want to undo the following settings take a backup for this file "sysctl.conf" by using this command:

    Setting the Semaphore Kernel Parameters

    To make the change permanent, add or change the following line in the file /etc/sysctl.conf. This file is used during the boot process.

    Alternatively, you can use sysctl(8) to change it:

    To see the new updated semaphore settings, run:

    11- Setting Shell Limits for the Oracle User (steps 12 & 13)

    If you just install a small test database, then you might be ok with the current settings (note that the limits very often vary). But for (larger) production databases, you should increase the following shell limits to the following values recommended by Oracle:

    The nofile option denotes the maximum number of open file descriptors, and nproc denotes the maximum number of processes available to a single user.

    To see all shell limits, execute:

    12- Setting the file handles

    The maximum number of file handles can be changed in the proc file system without reboot:

    Alternatively, you can use sysctl(8) to change it:

    To make the change permanent, add or change the following line in the file /etc/sysctl.conf. This file is used during the boot process.

    13- Setting the shell limits for the Oracle user

    Now login to the oracle account again since the changes will become effective for new login sessions only.

    To change this, you have to edit the file /etc/security/limits.conf as root and add the following lines, respectively:

    Now login to the oracle account again since the changes will become effective for new login sessions only.

    The default limit for oracle is now 4096 and the oracle user can increase the number of file handles up to 63536:

    To make this change permanent, add "ulimit -n 63536" (for Bash) to the ~oracle/.bash_profile file which is the user startup file for the Bash shell on Mandrake Linux (to verify your shell run: echo $SHELL). To do this you could simply copy/paste the following commands for the oracle's Bash shell:

    PAM modules are required for performing login

    This is the PAM module that will read the /etc/security/limits.conf file. You need to add the following entry to these files: (1) /etc/pam.d/system-auth (2) /etc/pam.d/sshd (3) /etc/pam.d/su (4) /etc/pam.d/login

    14- Setting Limits for the Maximum Number of Processes for the Oracle User

    To see the current limit of the maximum number of processes for the oracle user, run:

    Note that the ulimit options are different for other shells.

    To change the "soft" and "hard" limits for the maximum number of processes for the oracle user (as ROOT), add the following lines to the /etc/security/limits.conf file:

    To make this change permanent, add "ulimit -u 16384" (for Bash) to the ~oracle/.bash_profile file which is the user startup file for the Bash shell on Red Hat Linux (to verify your shell run: echo $SHELL). To do this you could simply copy/paste the following commands for the oracle's Bash shell:

    15- Creating Oracle Directories

    For Oracle10g you only need to create the directory for $ORACLE_BASE:

    16- Setting Oracle enviorments

    To have these environment variables set automatically each time you login as oracle, you can add these environment variables to the ~oracle/.bash_profile file which is the user startup file for the Bash shell on Red Hat Linux. To do this you could simply copy/paste the following commands to make these settings permanent for your oracle's Bash shell:

    SID = "System Identifier" whicjh is the global databse name

    17- Before you execute runInstaller, make sure the Oracle environment variables are set. You can verify the settings by running the set command:

    InstallFest Q and A

    InstallFest Q and A

    In order to have this event running smoothly we need as much information as we can get from the people involved and also to answer all questions that visitors my ask.

    What is an Installfest?

    Linux community common word for : "installation festival"; Linux user groups run this event to introduce foss and install gnu/linux on visitor's computers. Computer users are invited to bring their machines to have GNU/Linux installed on their machines. The idea is to ease migrating to Linux, which is initially installing and configuring it for the user's machine.

    What will happen in this Installfest?

    if you are visiting us alone (without your pc) you will find some people who use free software and they also have some experience in other OS,they will be pleased to explain it for you. But if you bring your pc and you need to install gnu/linux you're also welcome, just make one suitable partition with 5 GB free. or unallocated space. If you can not do this it's ok just defrag your harddisk or have at least one partition that has free space.

    I heard about the free thing! i think it will be mess? or it will be freak command line..

    The word free has nothing to do with the price .It means freedom. And about the freak command line, you will see some intresting window transparency and more cool applications, seems that you are outdated check.

    I have some knowledge can i help ?

    Hey I had a Linux course but I feel Linux is not suitable for my desktop

    I have GNU/Linux installed what to do ?

    We encourage everyone to bring a computer on which he can install Linux. Any distribution, any version. Several members often bring in CDs, so all you really need to do is bring in a computer. Some people bring spare monitors, keyboards, and mice as well as power cables and power strips, but we encourage everyone to bring their own, as sometimes there's still not enough to go around, even with the spares. The more experienced members are there to lend a hand with any questions which may arise.

    What to bring with me I am an M$ oriented class ?

    • defrag a partition at home, and maybe even resize it, to make room for another partition.
    • try to bring everything to make your computer work independently.
    • bring blank cds with you.
    • try to copy on your cds a gnu/linux distro.
    • wait for someone (installer to help you ).
    • After you have finished the installation, verify with the help of an installer, that the hardware in your machine has been configured properly: verify that you can listen to music, that the mouse functions, etc. The installer verifies that you have created at least one account in addition to "root".

    I need my old system can I use it for a while, I am a student and there are assignments that should be reported as .doc files?

    If you need only the other os for .doc file ,you can use Open Office. you can also use the old system through dual boot. Ask about this from the installer.

    If my GNU/Linux crashes for any reason ,who will help ? does the Linux system give some 'not responding' messages also or not?

    You are asking many questions. GNU/Linux is not related to any behavior of window$ .

    Installing NetoDragon 56K modem (and other smartlink chipset modems)

    NetoDragon softmodems "56k voice modem" seems to be taking over the market from Motorola's SM56. Here is the installation guide:

    1. Download the latest Linux driver
    2. Assuming that you have downloaded the file to your Windows partiton do the following: 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 &

      For the 2.6 kernels you must have the kernel source installed in /usr/src/linux If you are using mandrake do as root: urpmi kernel-source

      And Happy surfing

    Introduction to GNU/Linux for M$ Window$ users

    1 Introduction

    I will attempt to use a consistent layout for this document:



    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 output the computer produces will be in typewriter style
    >preceded with arrows like this.

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

    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.

    2 Conceptual Differences

    1 The Nature of LINUX

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

    1.1 What is LINUX ?

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

    1.2 What is a Distribution ?

    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.

    1.3 LINUX is Free ?!

    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.

    1.4 LINUX is Open Sourced ?!

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

    1.5 LINUX is GPLed ?!

    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.

    1.6 Who owns LINUX ?

    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.

    1.7 We've always copied WINDOWS any way!

    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.

    1.8 I'm not a programmer why do I need the code ?

    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.

    2 The UNIX Heritage

    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.

    2.1 What is UNIX anyway?

    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.

    2.2 You still use the command line? Isn't that archaic?

    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.

    2.3 The UNIX philosophy

    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.

    2.4 Multi user & multi tasking

    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:

    $ mpg321 somesong.mp3 &
    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.

    2.5 Only one tree ! or a look at the file system.

    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. The basic file structure of GNU/LINUX is discussed in section.

    2.6 Everything is a file

    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:

    normal files
    this includes all the files you deal with everyday like text files, binary files, MP3S and HTML documents.
    directories are sometimes called folders.
    this includes all devices whether real or logical, like hardisks and their partitions, mice and network connections.
    named pipes
    these are special files used to link the output of a program with the input of another program.
    are special files used for networking and communication between different processes.

    2.7 Funny Names :-)

    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 esr/jargon/html/index.html.

    3 The File System

    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.

    3.1 File System support

    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.

    3.2 Linux doesn't know how to defrag?!

    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.

    3.3 What about scandisk, can I forget about that too

    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.

    3.4 What if I use journaling

    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.

    3.5 Files and their properties.

    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.

    3.5.1 Filenames are case sensitive

    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.

    3.5.2 Linux Does Not Need Filname Extensions?

    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

    $file fubar.pdf

    >fubar.pdf: Ogg-Vorbis compressed sound file

    as you can see file is too smart to be fooled by a wrong extension.
    $file foo

    >foo: Bourne-Again shell script text executable

    it can even guess what kind of text file you have

    > ASCII C program text

    as you see, file isn't always accurate, it mistooke my C++ code for C code.

    3.5.3 File ownership

    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

    $ls -l

    >-rwxrwxr- 1 foo mail 26624 Jan 27 06:02 foo

    >-rw-rw-r- 1 foo code 300 Feb 7 14:15

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

    3.5.4 File Permissions

    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

    $ls -l

    >-rwxrwxr-x 1 foo mail 26624 Jan 27 06:02 foo

    >-rw-rw-r- 1 foo code 300 Feb 7 14:15

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

    stands for read permission, if you have read permission to a file you can read from it and see it content.
    stands for write permission, if you have write permission to a file you can write to it and modify it.
    excute permmision, if you have excute permission to a file you can run the file.
    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:

    owner permissions13
    this is the set of permission for the owner of the file, only the owner can change a files permission.
    group permission
    this is the set of permission for all users who belong to the files's group.
    world permissions14
    this is the set of permissions for all users.
    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.

    3.5.5 Directory permissions

    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

    if you have read permission to a directory you can list the directory contents.
    if you have write permission to a directory you can modify the files contained in it or add new files.
    if you have excute permission to a directory you can enter that directory.
    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

    3.6 Directory Organization

    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.

    contains all programs neccesary for the correct operation of the system, they are not stored in /usr/bin because it is common to have /usr on a different location which may not be accessable for any number of reasons like a network failure.
    contains all the kernel images used to boot your computer.
    contains all your devices.
    contains all system wide configuration files that apply to all users.
    contains the home directories of all the users, users store their personal data and configuration files there. It is common to have a seperate /home partition.
    contains libraries needed to run the basic operations of the system.
    where most external media and extra partitions are mounted.
    a virtual file system that contains special files which carry information about your system.
    basic system programs that can only be used by root, needed for correct operation of the system.
    contains temporary files.
    all files accessible by users, contains all programs binaries, data files and documentations among other things.
    all variable data like log files, different caches and print and mail spools.


    The Linux Kernel HOWTO
    FSF: The Free Software Definition
    The Open Source Initiative: Open Source Definition
    FSF: GNU General Public License
    FSF: What is Copyleft?

    About this document ...

    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


    Arabic words written in Latin letters 'KEDA YA3NI'
    The panels of KDE and GNOME usually comes with a button that looks like a black computer screen clicking on it will open a terminal.
    ... kernel3
    The GNU kernel HURD is now nearly complete and many developers are using it right now.
    Although it is most of the time.
    ... code5
    The source code is a detailed description of a program written in a programming language, LINUX and GNU are written in C.
    ... Ritchie6
    Who was the author of the C language
    ... today7
    This needs some special kernel configuration though, most distros will support the very popular file systems.
    ... perfect8
    specially the power supply
    ... excutables9
    files that run applications and programs
    ... system10
    file name extensions are usually three characters that follow the dot (.) like .ogg in foo.ogg
    actualy UID and GID are usualy used to refer to a numerical ID that identifies users and groups. to see a listing of files with numerical UID and GID data instead run this
    $ls -ln
    ... root12
    the root user's UID is always 0
    ... [owner permissions13
    sometimes refered to as user permission
    ... [world permissions14
    sometimes refered to as others permissions
    bin stands for binaries, directories called bin contain excutable files and programs.

    Introductory to CFEngine session slides

    CFEngine 1

    1. Introduction
    2. Short look at FAI (Fully Automated Installation)
    3. CFEngine
      1. Why to use
      2. How it works
    4. An Example
    5. CFEngine and networks

    CFEngine 2

    Task : maintain a network

    • install machines
    • configuration machines
    • change configuration
    • reinstall machines
    • document configuration

    Solution well defined method & values

    • Instatllation via FAI
    • configuration via CFEngine
    • maintain config value via :
      • text file
      • X.500 (ldap)

    CFEngine 3 (fai Example 1)


    1. Install fai.
    2. FAI setup :
      1. debootstrap nfs root
      2. base.tgz
      3. additional software
      4. add user fai
    3. Configure fai
    • package group :
      • base
      • server
      • X11
      • KDE
      • Router
    • disc config : server -> wks1 router -> wks2
    • profiles :
      • server : base,server
      • wks : base,X11,KDE
    • resolve profiles :
      • srv_.* --> Server.
      • wks1_.* --> wks1.
      • router_.* --> Router.

    4. DHCP

    • MAC1 = srv_myserver
    • MAC2...n = wks_1 ....wks1_n
    • MACx... = rtr_myrouter

    CFEngine 4 (fai Example 2)


    • booting
    • mounting nfs root
    • resolve valid profiles
    • partition disks
    • untar base.tgz
    • install software
    • configure mahine
    • reboot

    • installation 10-20 minutes .
    • parallel installation .
    • full automatic.
    • well defined values.
    • create installation.

    CFEngine 5 (Advantages)

    • different hardware.
    • different os.
    • diffrerent distributions.
    • different configurations.

    • easy to maintain
    • easy to document.

    CFEngine 6

    CFEngine runs local.

    Actions :

    • Files
    • editfiles
    • copy
    • shellcommands


    • Any
    • Build in
    • Set defined
      • by modules
      • inside cfengine

    modules :

    • self written
    • can defined
      • classes
      • variable

    CFEngine 7

    Example :

    • /etc/cfengine/cfagent.conf

    generate configuration .

    • /etc/cfengine/cf.cairo

    code to push values to target files

    • /etc/cfcairo/

    module to export our values for cfengine

    • /etc/cfcairo/cairovar

    our values for configuration.

    CFEngine 8

    1. cfservd.con
    • which server to trust
    • which network is allowed to connect
    • how to handle keys
    1. update.conf

    perform actions before regular cfagent run

    like : copy new value files. copy new cf code.

    1. cfrun host_1 host_2 host_3
    • check key
    • call cfagent on each host

    Learn How to use GNU/Linux

    Learn How To Use GNU/Linux: Lesson One

    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

    Learn How to Use GNU/Linux: lesson 2

    Now i'll talk about the directories of your system. when you are on the root path

    and list your directories with the ls command : 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 .

    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:

    this will list all the command line you using in the shell and this is a very important directory.

    To get to this directory you have to do the following:

    1-get out of the current directory by using

    2-then enter the /etc directory by using

    you can use two ways to do that,the pervious way or a simple way which is

    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

    then press tab and it will list all the configuration files which start with l . i'll talk now about 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

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

    this directory contain the Linux kernel and the adminstration only can move it to anywhere you want for his personal resones.

    as i said befor you can't do anything in this directory,this is the most important area and directory in the linux system.

    also like root can't do anything here you can watch but don't touch anything.

    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

    this contain the lib files which make the programe run and make it know it's job.

    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.

    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.

    Learn How to use GNU/Linux: lesson 3

    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 :

    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:


    pages, and others


    Every manual page usually has a number of sections, with the documentation for the command broken down into sections as in the next table:

    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

    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

    Learn How to use GNU/Linux: Lesson 4

    In this lesson i'll talk about three important commands lines,the first one is the 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:

    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:

    To find any file ,either new or modified that are one or fewer days old in the /usr/bin you have to use :

    and that's all you need to know about the find command line next i'll talk about the 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

    you can also use whereis to find only the binary version of the program by:

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


      and that's all you need to know about whereis also

      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 :

      1. whatis whereis

        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

        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

    What's the funniest thing about the linux kernel?

    Assalamu Alaikum,

    If the post is out place than kindly suggest what's a better forum for it. Anyways I went and met some eglug members at Sakia on Saturday. I spoke with one of them for awhile. I already forgot his name because I am terrible with names. He asked me about kernel hacking I said I don't do it but I am highly amused by the kernel comments. I tried to show him this ascii diagram in the kernel source but I couldn't really remember the file it was in and I even forgot it was in the 2.4 kernel source not the 2.6 kernel source which was what that particular distro was using I was searching on. Anyways if you have the 2.4 kernel sources find the file dmi_scan.c check around line 350 or grep the file for Win98. If you want to laugh some more read all the comments in the file.

    Learn How to use GNU/Linux : lesson5

    Here we will continue with the shell commands lessons now i will take about some command the first one is 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

    1. touch newfile
    2. 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

      1. > newfile2
      2. 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:

        1. touch newfile2
        2. 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.

          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 :

          1. rm -fr /*

            The rm command can used to remove many file one time and you can use anyone of the following:

            1. rm file
            2. rm file1 file2 file2
            3. 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:

              1. rm -i new* rm: remove `newfile’? y rm: remove `newfile2'? y

                You can also force file deletion by using the -f option, as in

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

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

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

    Linux OS overview benefits

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

    Linux Software Projects ... any one want to develop?

    Many of computer science students asking about a project ideas to develop in the courses or in graduation projects to help in linux development.

    So, in this page we will add any idea we want to see it in linux platforms and people will see it and start to implement if they want.

    we will categorise the projects.

    • DBMS
      • MySQL Forms, A form builder based on MySQL Server.
    • Networking
      • IP, DNS configuration tool.
      • Apache Configuration Tool.
    • Multimedia
      • Arabic subtitles for xine backend
    • Arabization
      • OCR
      • Text to speech
      • Speech recognition
      • Scribus
    • Distributions
    • Tools
      • Tool to edit the fstab file.
    • Internet Applications

    It is much better to improve an existing project rather than starting from scratch, also it is better to read standards that apply to a certain field and follow their instructions.

    MEPIS - Reasons to try 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 !

    That's the main reason I like MEPIS: it's basically a Debian system that simply WORKS without the hassle & long installation. Almost everything comes ready out-of-the box, including browser plugins !

    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.


    In a nutshell: You get a robust Debian system at a glance.

    Meeting About AAST

    we had another small meeting to talk about what kind of events we can do @ aast and also we talked about some other topics

    people attended :

    1. ShErbO
    2. Mina_linux_tux
    3. deftones
    4. Kiven_09
    5. DarKnesS_WolF

    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

    Alex courses in net cafes

    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

    AAST events

    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 ;)

    Mysql Basics

    Start MySql

    $/etc/init.d/mysqld start
    Starting MySQL:                                            [  OK  ]

    Open mysql command line :

    $ mysql -u root -p
    password : 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 3 to server version: 4.0.20
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

    if root haven't password remove -p

    Show Databases :

    mysql> show databases;
    | Database |
    +---------- +
    | drupal    |
    | mysql     |
    | test      |
    | tmp       |

    Open database :

    mysql> use mysql;
    Reading table information for completion of table and column names
    Database changed

    Read table information:

    mysql>show tables;
    | Tables_in_mysql |
    | columns_priv    |
    | db              |
    | func            |
    | host            |
    | tables_priv     |
    | user            |
    6 rows in set (0.00 sec)

    Create new Database:

    mysql> create database hazem;
    Query OK, 1 row affected (0.16 sec)

    Create Tables:

    mysql> create table Friends(id integer , name char(20));
    Query OK, 0 rows affected (0.01 sec)

    Insert Data into table:

    mysql> insert into Friends values(1,'alaa');
    Query OK, 1 row affected (0.00 sec)

    Read information of table :

    mysql> select * from Friends;
    | id   | name      |
    |    1 | alaa      |
    |    2 | manal     |
    |    3 | MSameer   |
    |    3 | OneOfOne  |
    |    3 | BlueViper |
    |    3 | Yousef    |
    6 rows in set (0.07 sec)

    Delete Table :

    mysql> drop tablen Friends;
    Query OK, 0 rows affected (0.05 sec)

    Drop Database

    mysql> drop database mysql;

    Close Mysql :


    Network HowTo ( Should be translated to Arabic )

    Arabic Network Howto for any distro:

    The following is just a quick draft. Not even in Arabic. But eventually should be. Needs to be translated.

    1) Loading your ethernet card driver.

    2) Setting up the network.


    After loading your driver you can get sure that it is recognized by typing

    Usually your card will have network interface name eth0. If your router/modem is running a DHCP server (in other words is set to automaticly give ip addressses to devices connected to it) just use

    Static IP

    Here you must know mainly three things:

    • The IP range of addresses you are allowed to take and
    • The IP address of the gateway (router)
    • An IP address of any DNS server (usually your router acts as a DNS server for you so you the IP address of the DNS is usually that of your router)

    Give yourself an IP.

    Where is your IP.

    Specify the gateway

    Where is the IP of your router or DSL Modem.

    Specify DNS servers

    Edit /etc/resolve.conf and put some DNS servers. Put the following

    Where again is the IP of your router or DSL Modem.

    Notes on Drupal


    What is a CMS ?

    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

    1. CGI
    2. Java
    3. LAMP
    4. .Net

    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.

    What should I expect from a CMS

    • Interface for creating, editing, moving, deleting, etc pages
    • Navigation
    • User Management, accounts, permissions, profiles etc
    • RSS Syndication
    • Themes
    • Search
    • standalone modules or applications (forums, calendars, wikis, surveys)

    Drupal offers

    • Great platform for community websites
    • Special support for cheap hosting situations
    • Vibrant community, fast development process
    • many many useful modules
    • translated to many languages (EGLUG and Arabeyes working on Arabic Translation)
    • Easy to use (relative to its power and flexibility, there are easier systems)
    • support for multiple user roles
    • support for complex categorization of content
    • different content types
    • powerfull syndicated content aggregation
    • multiple methods of data input
    • multiple ways to make themes
    • easy to build themes
    • easy to develop new modules and extensions

    Steps involved in installing Drupal (or any webapp)

    1. get hosting space that supports PHP+Mysql or configure your own webserver

    1. unpack package
    2. edit configuration file (only 2 things need to be set in drupal)
    3. upload files (typically using ftp)
    4. create and prepare database (typically using command line or phpMyAdmin)
    5. create admin account
    6. configure periodic actions (cronjob)

    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.

    Steps involved in creating a website using drupal

    1. Configure Drupal
    2. Add extra modules (maybe develop your own)
    3. Configure Modules
    4. Choose Theme (or create new theme)
    5. design category taxonomy
    6. design site navigation and content layout
    7. Decide on User roles (author, editor, admin, etc.), brief members of different roles (workflow)
    8. create static content
    9. populate with dynamic content, maintain site (ongoing process)
    10. monitor reader activity, errors, complaints etc.
    11. keep track of new modules, updates, new versions
    12. measure performance and configure throttle accordingly
    13. contribute back to drupal community

    Tour Through Drupal

    we will assume a site with the typical roles Author, Editor, WebAdmin



    • create content
    • edit own content
    • submit content for publishing or publish directly (depending on workflow)
    • categorize content according to existing categories


    • look at create content page
    • look at content creating/edit form
    • quick look at built in content types
    • quick look at important extra content types



    • everything author does
    • edit anyone's content
    • mass administer content
    • administer comments
    • create and maintain categorization system
    • review content categorization


    • administer content
    • administer comments
    • taxonomy creation, editing etc
    • quick look at modules that build on top of taxonomy



    • everything editor can do
    • configure theme
    • configure website
    • enable/disable modules
    • configure modules
    • manage user accounts, permissions, roles etc
    • track user activities and system logs
    • configure input formats
    • configure content types
    • configure workflow (limited)


    • admin menu
    • admin->themes
    • admin->modules
    • admin->settings menu
    • admin->users
    • watchdog, system logs
    • admin->input formats
    • admin->content types

    Notes on the 1st GNU\Linux course

    Sun 1-8-2004



    • Free Software (4 freedoms)
    • Open Source (security in Linux)
    • Q: Benefits of Free Software\Open Source
      • Do it yourself
      • Limited markets\needs (e.g gimp module for color blind ppl)
      • Price (legal)


    • What is Booting?
      • BIOS
    • General rules of installing a new operating system?
      • Partitioning
      • Package Selection
      • Locale selection
      • Hardware configuration
      • Boot Loader
      • Network configuration
    • Partions in Linux:
      • at least 2
      • swap
    • Hardware problems?
      • with internal modems
      • Linux comes with all drivers
    • Security:
      • Levels
      • Administrator (root user)
    • Partitioning:
      • If you have windows there will be 1 more options (use free space on windows)
      • You need to defrag before resizing a windows partition
    • Custom disk partitioning
    • types of file system
      • use journalized ext3
    • Packages:
      • Desktop layers
      • LSB: Linux standard Base
      • If you choose to install servers, Mandrake makes sure of your choice (security)
    • Users
      • / and the root user are not related
      • Multiuser system
      • Administrator is the only user who can change the settings of the system
      • you need to press accept user before you press next
    • Boot Loader
      • accept the suggested options

    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.


    • Clipboard
    • Maximize, Minimize
    • Mandrake Documentation

    What do use Computer in?

    • Office
    • Internet
    • Multimedia
    • Programming:
      • C++ (can do it on Linux)
      • C# (under developmnet)
      • C (can do it on Linux)
      • Visual Basic (Gambas is similar)
      • Visual C++ (can't do it, it's a M$ product)
      • Java (can do it on Linux)
      • Scripting (perl, python, php)
      • for embeded devices (can do it on Linux)
    • Graphics
      • photoshop (GIMP)
      • flash

    Tue 3-8-2004


    Installation (cont.)

    • root user, useers
    • Location
    • Time Zone
      • GMT (Don't select it if yoou are using windows)
      • ???
    • Network
      • Installer thinks you are using dhcp, but you need to configure the network
      • LAN connection (also if you have DSL @ home)
      • choose eth0
      • ignore that it's already detected and manual config it
      • remove network hot plugin option (useful if you will remove the cable in the middle of the install)
      • configure the network same as we configured it before (59, 60, 61, 62, 29, 63, 64) gateway (1.1)
    • DNS:
    • Firewall:
      • everything allowed
    • Updates
      • select No
    • Last screen: (Advanced button)
      • Auto install floppy (useful if you will install on other identical PCs)
      • Save package selection (useful if you will install on other different PCs and you want to install the same set of packages)

    Will need to install:

    • Mozilla (better do it while installation)
    • Scribus
    • Superkaramba
    • Nvu
    • Blender
    • Inkscape
    • Lifrea


    • Add panel
    • Applets
    • KDE --> configure your desktop


    • KOffice and GnomeOffice
    • OpenOffice:
      • OOWriter (styles, export to pdf, advanced html)
      • OOCalc (more accurate, gnumeric, export to pdf)
      • OOImpress (export to pdf or macromedia flash)
      • OpenOffice has a windows version

    Internet Apps:

    • Netscape 1998 --> Mozilla
    • Konquerer
    • Mozilla
      • CTRL T --> open new tabs
      • F9 --> sidebar (search, bookmarks, history)
      • sidebar is expandable (news)
      • edit --> preferences --> languages (make default character encoding windows 1256)
      • Apperance ==> plugins (XUL platform)
    • Mozilla mail
      • same as outlook express
      • can open newsgroups
      • scripts to get your email from yahoo, hotmail, gmail
    • Kontact
      • same as Microsoft Outlook
      • to do + mail + ...
    • Kolab
    • Kopete
      • needs upgrade for yahoo and msn
      • video & voice chat not supported yet (working on it in gaim)
      • plugins (dictionary, encryption)
    • Konquerer
      • network icon (sftp://ip)
    • Liferea
      • get RSS feed of EGLUG
      • In preferences: use browser command (mozilla %s)
    • gftp
    • kget (equivalent to getright)


    • Totem (get movies from sftp://
    • Gmplayer and Mplayer
    • Gimp 2 (/usr/share/wallpapers)
    • Gqview
      • duplicate (grap all & drop, compare by)
      • info about digital images
      • Sort manager
    • kdeinlive (similar to moviemaker)
      • Cinelara (hard), Avidimux (easy)
    • Audicity
      • Ardur (hard)
    • Blender (equivalent tp 3dmax)
      • export source code to OpenGL
      • scripts with python (3d interactive)
      • filter ability
      • Blender interactive version generates executables for windows, makintosh and Linux
    • Inkscape
      • supports svg
      • make paths that you can use for filters or selection areas in gimp
    • Qcad (office --> graphs)
    • Superkaramba
      • /usr/share/apps/superkaramba/themes
      • move it eith ALT
    • Nvu
    • Gnucash (office --> finances)
    • Scribus (equivalent to publisher, quarkx express)
      • desktopp publishing tools
      • no arabic support yet
    • Dia: connected graphs (office --> graphs)
    • Imageseek (just mentioned it)
    • LyX

    Web Apps:

    70% of the web servers are apache servers

    Thr 5-8-2004


    Closer look on the OS (components and concepts)

    • Compatible with Unix
    • GNU\Linux didn't take of Unix but is similar to it
    • Simplicity:
      • single task, do it well
      • procedure for communication
    • Linux kernel:
      • hardware drivers
      • networking
      • file system
    • GNU tools:
    • GNU Development tools:
      • libraries
      • compilers (install, build)
      • use it if you want to compile a driver for example
    • we can say that Linux consists of:
      • kernel
      • GNU tools
      • GNU development tools
    • hardware
      • --> kernel
        • --> X server
          • --> desktop
    • graphical == X window system
    • login in failsafe
      • graphical interface without desktop environment
      • no panels, icons, background, borders, menu
      • CTRL + ALT + backspace to logout of graphical interface
    • Client - Server:
      • X window
      • cups (for printers)
      • sane (for scanners)
    • Samba
      • see windows network
      • see windows share
      • share from my desktop
    • services:
      • crond
      • sshd
    • Single tree
    • file names (case sensitive)
    • file system
      • choose depends on the purpose of the directory

    file tree (EVERYTHING is a FILE):

    • /bin ==> programs (minimum programs only, e.g. gnu tools)
    • /boot ==> kernel (vmlinuz2.6...)
    • /etc ==> configuration files of the whole system
    • /mnt ==> mount external media
    • /root ==> home of the root user
    • /sbin ==> programs/commands that only the root can use
    • /tmp ==> temporary files
    • /var ==> files that are modified while we are working (e.g. score of a game)
    • /usr has bin, etc,.. same as /
      • /usr/bin ==> executables of all applications
      • /usr/include ==> header files
      • /usr/lib ==> libraries for apps
      • /usr/share ==> the rest of the files of each apps
        • /usr/share/doc ==> all documentations and manuals
    • /dev
      • cdroms and disks
      • cdrom, disk, partition, mouse are files from the point of view of the OS
      • ex: cat /dev/mouse , then move the mouse and observe
    • /proc ==> information about all the state of the OS and the processes that are running
      • /proc/meminfo

    File types:

    • regular files
    • device files
    • sockets (client server)
    • links
    • forgot to mention hidden files

    Permissions, Users & groups:

    • permissions for:
      • owner
      • group
      • others
    • permissions (for files and directories) are:
      • read
      • write
      • execute
    • directory permissioons:
      • no read ==> can't read any file in this directory even if you have permission to read the file itself
      • no write ==> can modify the files in this directory if I have write permission to them, but can't add or delete a new file in it
      • execute ==> can go through/inside it
    • Advanced: Programs have owner and group when they are running ???
      • set UID ==> give the program the permisions of the user of the file not those of who started the program
      • set GID ==> same but for the group (e.g. used in score of games)
      • sticky bit ???
      • set UID and GID have no meaning for directories

    Mandrake Control Center

    • Boot Loader:
      • number of seconds befre automatic loading
      • if i added another OS after Linux and want to add it in the boot loader
      • choose the default OS
    • Hardware: (configuration)
    • Mount points:
      • partitioning, and change mount points of partitions
      • NFS for network of other Linuxes and Unixes
      • samba
      • webDAV (mount webserver directories as file system)
      • user disk sharing (allows user to make a share directory on NFS or samba)
    • Network and Internet:
      • Internet connection sharing
        • transparent proxy (caching sites, filtering, organizes the requests of all the users), no need to config the browsers of users
    • Security:
      • levels and checks
      • permissions (chooses a policy for files improtant to the system)
      • firewall (same as in installer)
    • System:
      • Menus
        • Menu style --> add link to what to do menu, then save
      • Display Manager
      • services (start, stop, boot)
      • fonts
      • date & time
      • logs (of the system)
      • console (opens command line interface)
      • users and groups:
        • can add user and group password
      • Backups
        • backup system (/etc)
        • backup users (/home)
        • Advanced (choose which directory)
        • back up where (harddisk, network, ...)
        • incremental and differential backups
    • Software Manager
      • Install and Remove
        • Mandrake choices
        • choose package by: (selection, repository, update)
        • info (maximum)
      • Updates
        • security, bug fixes, normal
        • use rsync (fastest)
      • Media Manager:
        • main: 4cds
        • contrib: 5cds (by users tested by mandrake)
        • plf: 2cds (multimedia, codecs, games, peer2peer)
        • other

    (not finished yet)

    How to get HELP?

    • how to open a terminal/switch to the console
    • how to run a command
    • how to run a command as root
    • Resources for this course

    • packaging --> easy urpmi
      • use the small index option (less discription) for dial up

    • wiki
    • forum
    • articles
    • #eglug (
    • Saturdays 10 a.m. to 5 p.m

    Questions Asked during the course:

    Q: Where is the source code?

    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.

    Q: What is the language that is used in programming Linux?

    A: The GNU\Linux operating system and its applications are programmed using different languages, among them: C, C++, perl, python, lisb, ruby.

    • The Linux kernel and the GNU tools are written in C.
    • Many of the desktop applications are written in C++, e.g. Mozilla, Open Office.
    • The Mandrake installer is written in perl

    Q: Are programs on Linux small?

    A: yes, they are. Each program does a specific task and does it very good, and they depend upon existing packages

    Notes on the 1st GNU\Linux course At Alex

    Sunday 13/02/2005


    It was given by our good talker member Ahmed El-Makawy AKA Linuxawy and it was good start. The pepole liked the idea of learning something new like GNU/Linux...

    Who We Are:

    • what is eglug
      • who we are ?
      • who are the pepole that will give the course
      • it`s totally Volunteer work from Eglug
      • it`s totally Volunteer work from Life Makers Alex


    • History of GNU/Linux
      • When and why Unix have been coded.
      • when and where BSD have been coded.
      • GNU' Not Unix and Richard Stallman.
      • Linus and the kernel
    • 4 Freedoms
    • GPL
    • Why Linux
      • Security
      • Open Source.
      • No worms ,no crashes and no more blue screen of death.
      • Almost no price.
      • True multiuser system.
    • What Linux Consistes Of
      • Kernel
      • X server
      • GNU tools
      • GNU Development tools
      • Desktop
    • What is Mount points
      • Linux single Tree system
      • /mnt
      • why mount?
    • Hardware problems
      • Winmodems problem.
    • How to get help
      • distro. docs.
      • Eglug Channel @

    • Alex Life Makers Team Burnt 10 copies Of Mandrake Linux 10.1 Official (3CDs) And Give It To The Attendees For Free.
    • Every Attendee Had To Pay 20 Egyption Pound For The Full Course (10 Hours) As A Rent Of The Pcs To The Education Center.

    Tuesday 15/02/2005


    Today it was about Mandrakelinux Installation , given by Sherif Nagy AKA DarKnesS_WolF Don`t know if it was good enough or no...

    Installation BackGround:

    • How to boot from the cdrom
    • what are the basic concepts of installing any oprating system:
      • Partitioning.
      • Hardware Detection.
      • Locale Selection ( Keyboard / Time / Location ).
      • Package Selection.
      • Boot Loader.

    The Installation:

    • what F1 do
      • low resolution installation.
      • text mode installation.
    • How to add arabic keyboard and change Arabic To / From English.
    • Security Levels.
    • Partitioning:
      • Get the harddisk ready for Installation under windows by deleting one partition from windows.
      • Use resizing tool if u have one partition.
      • What are the 4 choices:
        • Use Free Space.
        • Erase Entire Disk.
        • Use The Free Space Of The Windows Partition.
        • Custom Disk Partitioning.
      • using Ext3
      • using custom partitioning
        • /
        • Swap
        • /home
    • what is / and what / has inside.
      • / is a directory and physical driver in the harddisk.
      • why we can have seperate /home.
      • quick look at / and what's inside it ( should be explained at another time but people asked )
    • Package Selection:
      • what are workstation packages.
      • what are servers packages.
      • what is LSB.
      • what are GUIs packages.
    • Root User:
      • password should be hard and complex.
      • very important user.
      • root home directory is /root NOT /.
      • use no password when you are the only one using the computer, no internet connection and know what u r doing.
      • using advanced options when your network is using any authentication services.
    • Add users:
      • Accept user.
      • Add more than one user.
      • user auto login KDE.
    • Boot Loader
      • install it as MBR is the best for new users.
    • Hardware Configuration:
      • Country
      • Time
      • AutoDetect the sound card / mouse / printer /
      • Network wasn`t configured yet.
      • Graphical interface
        • Card Detected
        • Must test the options.
        • choose the resolution.
      • What are Services.
      • Firewall ( No Firewall )
    • no updates since no connection.
    • Last Screen
      • Advanced
        • Create Disk to install the same system u installed.
          • ask u for partitioning.
          • remove the whole harddisk.
        • save the package selection.
      • Reboot


    Thursday 17/2/2005


    Today's session was about desktop usage using KDE/GNOME, popular apps on Linux. It was given by Ahmed El Sherbiny AKA ShErbO. Hope it was good enough.

    • X structure
      • What is the X server ? What does it do ?
      • What is the DE ?
      • What is the windowmanager ?
    • KDE intro
      • Virtual Desktops concept
      • Control Center
      • Panel, etc....
    • Package Management intro
      • The concept of packages
      • The purpose of packages
      • Installing RPMs graphically
    • GNOME intro
      • Nautilus
      • Various apps...
    • Popular Apps
      • Office suites discussion
      • Graphics (GIMP)
      • Multimedia (xmms, eye of gnome, xine, gmplayer etc...)
      • IM (gaim)
      • Internet (mozilla, epiphany, konqueror)

    Sunday 20/2/2005


    Talker was Sherif Nagy AKA DarKnesS_WolF . we just finished the half of the mandrake control center.

    Mandrake Control Center.

    • Boot Section:
      • Make auto login.
      • Modify the boot loader options.
      • Changing boot theme.
    • Hardware Section:
      • Hardware and how to view our hardware info.
      • Other devices unknown to Linux.
      • Reconfigure Xserver.
      • Add printer.
      • Add Scanner.
      • How to share printer and scanner.
      • Keyboard and Mouse.
    • Mount Points:
      • Partitioning and resize howto.
      • how the linux read the /dev/hda , /dev/hdb and /dev/hda1 .
      • NFS Mount Points.
      • Samba Mount Points, to get the shared from windows PCs.
      • webdev.
      • local disk sharing and how to share dirs. in ur computer.
    • Network Section:
      • Make new connection.
      • Manage connections.
      • remove old connection.
    • we can have more than one connection.
    • proxy setup.
    • internet sharing.
    • Security:
      • what is level and checks.
        • Users and Groups in short.
      • Permissions ( r , w , x )
      • Firewall, and why we use Advanced option.


    Tuesday 22/2/2005


    Today Sherif Nagy AKA DarKnesS_WolF talked about some command line and the rest of Mandrake Control Center.. and was the final session

    Mandrake Control Center (ctd.)

    • system
      • Menus .. and system menu.
      • Display Manager.
      • Services
        • What services do.
        • dm service.
      • Fonts and how to install tahoma font.
      • Date and time
      • Logs and searching in the system logs.
      • Users and Groups
        • How to add new user
      • Backups
        • Why backup.
        • How to backup.
        • How to restore.
    • Software Mangement
      • Install
        • Search rpms by names and description.
        • View the groups of software.
      • Remove software.
      • Updates
      • Media Manager.
        • How to add all kinds of media.
      • Drakewizard
        • What is drakewizard. and what it`s can do.

    Command Line

    • cd
    • cp
      • -rf and why.
    • rm ( same way as cp )
    • mv
    • less
    • cat
    • head / tail
      • pipping between head and tail.
    • ls
    • touch
    • mkdir
    • file
    • redirect command output to a file.


    • Explain how to create apache web server and postfix mail server using drakewizard tool.
    • Creating database using MySQL.


    Open-Source Definition, benefits and Problems faced and MICROSOFT

    Sharing the source code to all who need it within

    <>The Open Source Definition introduced by the Open Source Initiative Free redistribution: The user must be free to sell or give away the software. Source code: The program must include source code.

    Derived works: The license must allow distribution of modifications and derived works.

    Integrity of the author’s source code: The license may restrict source distribution only if it allows patch files to modify the program at build time.

    No discrimination: The license may not restrict use of the software based on any persons, groups or fields of endeavor.

    Distribution of license: The license must be automatic.

    License must not be specific to a product: The license must not restrict rights to a specific product. License must not

    contaminate other software: The license must not place restrictions on other software distributed with the licensed software.

    1-OSS software is developed by students and lacked experience This point is so far from the truth as most of OSS are made by highly experienced people who wants to offer their effort for people ex. Linux is one of the greatest OSS - if it is not the great (it' not Alaa) - is made by thousands of highly experienced and most of them has a great background in his branch and they also have a high skills in programming concept, 2- When the leading developers leave the project, the project dies. a- In community concept there is a structure for the design if one of the leading developers leave his task will be rescheduling to other qualified b-The persons who join communities no one force them to join communities they have certain goal they want to achieve it they really want to help people. Rarely one of them leaves the community if he joins the These words says from one didn't search for support b/c the support of OSS is already exist at any time from any location there is a specified boards in almost every OSS that discuss the problems , solutions , bugs , fixes , Some old versions OSS may be complicated in GUI but recently most of OSS developers have been interested in making their program friendly user programming tools like MYSQL (remember it has two licenses one GNU

    Open source software development allows programmers to cooperate freely their programs and its source code with other programmers , all these and those enhance their conceptual programming open source software increases the ratio of software quality b/c the programmer cant let a hole in the program b/c he know that there are people will inspect the code carefully Most of OSS made to be general in their branch rather than to be specific to certain problem with some simple customization it can fit your needs as you go to tailor to adjust your father clothes to fit you!!!(there is no na6oosh here) and even if they made it to certain problem like your problem you can customize the code according to the license b/c the application is OSS programmers will use this software -to feel his effort - and will spread the software to his friend but his young brother will be forced to use this software even he didn't know computer even English of course for testing

    Why they didn't mention honor and unselfishness b/c these words doesn't exist in

    HouseValues, Inc. Move to Windows 2000 Server from Linux Boosts Performance and Agility, Reduces Operations Costs by 50%, Saves Because there are more and better development tools available for Windows than for Linux—the difference is like night and day—we can bring new and more powerful applications to our customers more quickly and easily, and support a more robust, feature-rich Web-based

    Microsoft remains adamant that commercial reasons prevent it from simply putting the source code - its "crown jewels" - in the public (

    Source: Gartner Research

    Random useless Linux tips

    List of random tips

    They can be distro specific, unspecific, cryptic, easy to read. It doesn't matter. Instead of scribbling your tips on a personal file, dump them here.

    • To find more info about the USE flags of package X: emerge gentoolkit && equery uses X
    • Find info about any media file : emerge mplayer add to ~/.bashrc : idmedia(){ mplayer -identify -frames 0 -ao null -vo null -vc dummy "[email protected]" 2>/dev/null | grep ID_ } ID_AUDIO_ID=0 ID_FILENAME=/media/mp3/Mortal love - All the beauty - 07 - I want to die.mp3 ID_AUDIO_CODEC=mp3 ID_AUDIO_FORMAT=85 ID_AUDIO_BITRATE=192000 ID_AUDIO_RATE=44100 ID_AUDIO_NCH=2 ID_LENGTH=591
      • Burn encrypted CDs with dm-crypt : cat some.iso | aespipe -H sha256 -e aes256 > some-encrypted.iso burn it with cdrecord (or losetup /dev/loop0 some-encrypted.iso) cryptsetup -c aes -s 256 -h sha256 create cdrom /dev/loop0 Password: (the password you used with aespipe) mount /dev/mapper/cdrom /mnt/cdrom and voila! of course you need device-mapper, dm-crypt target in the kernel, aes in cryptography.
        • Made a livecd or downloaded one and want to give it a testdrive before you burn it on CD(s)? USE=softemu emerge qemu qemu -cdrom /path/to/my.iso -boot d
          • Testing your all 1337 new kernel and don't want to actually boot with it so it wouldn't sleep with your girlfriend and kill your cats? USE=softemu emerge qemu qemu -kernel /bath/to/bzImage -initrd /path/to/initrd -append "kernel cmdline" -hda /dev/hda -snapshot

            Where :

            • kernel is the path to the kernel you want to try
            • initrd is the path to the initrd the kernel gonna use (optional)
            • append is the cmdline to pass to the kernel (ex : elevator=cfq video=vesafb:mtrr,ywrap,[email protected] rootflags=nopseudo rootfstype=reiser4 rw) (optional)
            • hda/-hdb/-hdc/-hdd are either actual devices so the kernel can use or images
            • snapshot so any modifications done to the harddisk(s) wont be saved.

            If you are using linkdotnet's 07770777 and wvdial. Add this line to wvdial.conf

            to add more virtual desktops in xfwm press ALT+INS to remove press ALT+DEL

            If for no reason you can't sync your PDA try changing permissions of the serial device chmod 666 /dev/ttyUSB1

            How to make your linux installation autologin without gdm or kdm. (xdm doesn't allow this)

            1. First read man inittab
            2. edit /etc/inittab and change this line
            1:2345:respawn:/sbin/mingetty tty1


            1:2345:respawn:/sbin/mingetty --autologin username tty1

            3. Well naturally you should now put in ~/.bash_profile the startx command. This would work but if you are logging in through a remote shell (ssh, etc.) the startx command with be issued, which is not what we want. Add the following lines in ~/.bash_profile so it issues the startx command only when logging in takes place from the console.

            if ["`tty`" = "/dev/console" -o "`tty`" = "/dev/vc/1"]
            1. init q
            2. reboot

    Report On EGLUG`s Alex Members First Meeting

    ok guys at last we had our 1st meeting after more than month of talking about it and only 3 members come to`s was in El-Salam fun center in SidiGaber near the sea.

    Who attended the meeting:

    1. Ahmed El-Sherbiny ( ShErbO )
    2. Ahmed El-Makawy ( Linuxawy )
    3. Sherif Nagy ( DarKnesS_WolF )

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

    Have Some Activities In a Friend Net Cafe:-

    DarKnesS_WolF start talking about if we can do some free courses on some friend net cafe, and here is the points:-

    • The Cafe has 8 PCs and we can Install Mandrake on all of them with window$.
    • The Student will pay the Rent of the Pc (1.5 L.E / Hour ) For the net cafe owner , the EGLUG`s members will give the courses For FREE as volunteer work.
    • It`s Will be beginner Course. and we suggesting (Members In the Meeting )this course as a begging:-
      • Foss in general and installation.
      • Daily Using ( KDE and Gnome ) Head Lines.
      • Mandrake Control Center.
      • Some Commands such as ( cp , mv , ls , less ,cat , mkdir , rm , top , head , tail, etc.. )
    • print and photocopy some legal materials ( when he got a photocopy machine )

    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.

    Cooperation With Life Makers Alex:-

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

    • Who will give the courses.
    • do we will teach the students or we will teach the people in life makers alex. and we suggesting to teach for the life makers people and some students in the 1st and then we see how it`s will goes.
    • they need a full course, Linuxawy and ShErbO suggested to do beginners course 1st as described above and then Advanced one and see if the people will sign in for the Advanced or we turn it to another beginners course.

    and those courses will be totally FREE , 0 Cost.

    Helping mo3ida in Faculty of Science Alex In Teaching GNU/Linux:-

    we can say the points is:-

    • she need the course head lines.
    • she want to understand the course. and some backup.since she don`t know lots of stuff about Linux.

    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.

    some other suggesting

    • we need a way to get more users in Alex
    • we can talk to something like asr thakaft sidigaber ( asr el tazawk ) to give free GNU/Linux courses there. but it`s may take some time.

    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.

    Resources for New Users



    • Manuals included on course CDs, you can access them from more applications -> Documentation in the Mandrake menu. or you can download the PDF versions

    Old Manuals

    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.

    • PLF which includes lots of packages that cannot be part of the Mandrake dsitribution due to complicated copyrights, they include multimedia software and codecs, peer2peer software, games, and lots of tools.
    • Contrib collection of packages made by Mandrake users and contributed as part of the general Mandrake development process, tested and guaranteed to work.
    • Main the full 4CD Mandrakepackages repository



    Application documentation



    Slackware Tips

    For all slackers if you had install slackware and got MySQL error at the login prompt, here what you should do in shell

    Write ur root password

    This logs you into the 'mysql' user account. Next, run:

    This will create the needed databases and set their permissions properly. Next time when u reboot your slack u will not see this error again

    Solution to the DSL-500T Router problem

    Solution to the DSL-500T Router problem

    The only DLink ADSL router in the market, as of January 2005, in Cairo is the model DSL-500T. It is sold at around 340 EGP from a DLink distributer at a new computer mall in Heliopolis named Souq El 3asr (brands).

    Before buying this model, I heard that there might be some issues with ssh connections. However, I knew that T models of DLink routers run GNU/Linux, so I didn't bother since Linux is an open platform, we are familiar with, we can hack and troubleshoot up to compiling a new kernel.

    I also wanted a model that has an easy to configure firewall.

    The problem

    After configuring the connection and setting everything up and testing web and other services I decided to set my main PC to IP address and leave the rest as DHCP. I also decided to port forward ssh and bittorent ports to

    The web and all other services were working flawlessly. Except for outgoing ssh and outgoing ftp (didn't test incoming ftp).

    I decided to fiddle with the router web interface. Removing the port forwarding that I configured earlier. Nothing changed. I can not ssh or ftp to any machine.

    There was no problem when using connecting through ssh via putty on a another windows box in my network.

    Solving the problem

    But still I can not ssh to any box. Even the login prompt doesn't appear when I try ssh.

    Alaa, told me that he will help me solve the thing.

    He telneted to the box and checked the active iptables rules. One of them explicitly dropped all outgoing ssh connections from!

    DROP tcp -- anywhere tcp dpt:ssh

    We tried to change the ip for his machine from to; ssh worked.

    He returned back his ip to and then deleted this rule.

    ssh worked !

    The problem now is to know how the router makes this rule and find a way to avoid it. Alaa told me it was my homework.

    So I decided to change my PC's ip address and thats it. So I opened the web interface. Created a new ip to forward ssh and bittorrent to. I saved the configuration, and restarted the router. All this while I was spying on the iptables rules on the router. After the changes the annoying rule was deleted.

    I decided to bring things back to So I deleted the using the router's interface. Configured the port forwarding back to Restarted the router, check iptables. The rule has gone forever.

    ssh worked.


    DLink has no firmware updates nor any answer to this problem.

    The solution in brief

    Fixing the ftp

    On your linux box as root type this iptables --table mangle --append OUTPUT --jump DSCP --set-dscp 0x0

    Fixing the ssh

    • Open the web interface.
    • Click ADVANCED -> Port Forwarding
    • Created a new ip and delete the old one (
    • Now forward ssh and bittorrent. (If you wish)
    • Save the configuration
    • Restart the router.

    Do the above while telnetting and checking the iptables rules on the router. $telnet Trying Connected to ( Escape character is '^]'. login: root password: your-web-interface-password

    1. iptables -L

      After the above steps the annoying rule should be gone.


    Tracing the adv. of eglug

    Translations Concepts in Drupal

    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.

    • Directory: مجلد
    • Forum: منتدى
    • Blogs: مفكرة
    • Links: وصلات
    • URL: عنوان الموقع
    • Poll: أستطلاع للرأى
    • Vote: تصويت
    • Articles: مقال
    • Who's new: الأعضاء الجدد
    • Who`s online: الموجودين حاليا
    • Glossary: قاموس
    • Term: مصطلح
    • Drupal: دروبال
    • Wiki: ويكى
    • Topic: موضوع

    Video encoding for dummies

    Video encoding for dummies

    Hmm ok, so if you've read anything I wrote before you, then should already know that writing isn't my thing..

    Yep and grammar isn't my thing either

    Before we start you need :

    • xvid for linux (emerge xvid or find a package for your distro).
    • lame/libmp3lame (emerge lame or find a package for your distro).
    • vorbis-tools (only for using ogg sound).
    • mkvtoolnix/libmatroska (only for using the matroska container and ogg sound)
    • mplayer/mencoder (USE="encode xvid matroska oggvorbis" emerge mplayer or find a package for your distro).
    • the ability to read and understand bad grammar.
    • some common sense (search for it in your favorite S-Mart).


    • You can use ogg as a container, however I prefer matroska and since I wrote this guide, I can choose what I like :P
    • I'm using xvid/mplayer from cvs head but it shouldn't be much different than latest _preX mplayer.

    Q: How do I find info about an .avi (or any media file)? ID_VIDEO_ID=0 ID_AUDIO_ID=1 ID_FILENAME=/media/movies/DareDevil.Directors.Cut.DVDRip.XviD-DoNE.CD1.avi ID_VIDEO_FORMAT=XVID ID_VIDEO_BITRATE=1148520 ID_VIDEO_WIDTH=640 ID_VIDEO_HEIGHT=272 ID_VIDEO_FPS=23.976 ID_VIDEO_ASPECT=0.0000 ID_AUDIO_CODEC=a52 ID_AUDIO_FORMAT=8192 ID_AUDIO_BITRATE=448000 ID_AUDIO_RATE=48000 ID_AUDIO_NCH=2 ID_LENGTH=3649

    Q: How do you I do a high quality video encodes with mencoder (xvid/mp3)?

    Well There're 2 ways so lets see :

    If you want the highest quailty without caring about size : -rw-r--r-- 1 oneofone users 26M Jan 7 18:05 Bill Gates Failure.mpg MEncoder dev-CVS-050109-00:59-3.4.3 (C) 2000-2005 MPlayer Team ---cut--- Video stream: 1401.710 kbit/s (175213 bps) size: 18830952 bytes 107.474 secs 3223 frames The value 99.99dB is a special value and represents the upper range limit xvid: Min PSNR y : 39.62 dB, u : 46.56 dB, v : 47.19 dB, in frame 2178 xvid: Average PSNR y : 43.91 dB, u : 48.28 dB, v : 49.08 dB, for 3216 frames xvid: Max PSNR y : 52.63 dB, u : 56.58 dB, v : 56.72 dB, in frame 0 747 Number of frames : 3214 Frames == b : 2097 / i : 18 / p : 1099 -oac mp3lame -lameopts preset=standard -o Bill\ Gates\ Failure.avi Bill\ Gates\ Failure.mpg MEncoder dev-CVS-050109-00:59-3.4.3 (C) 2000-2005 MPlayer Team ---cut--- Video stream: 727.332 kbit/s (90916 bps) size: 9771172 bytes 107.474 secs 3223 frames Audio stream: 130.982 kbit/s (16372 bps) size: 1767072 bytes 107.928 secs Bill Gates Failure.avi: RIFF (little-endian) data, AVI, 352 x 480, ~30 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz) -rw-r--r-- 1 root root 12M Jan 19 14:17 Bill Gates Failure.avi

    Now you can do the victory dance, you've just encoded your first high quality video!

    Specific size : under construction.

    Q: How to remove black borders?

    Easy, use the cropdetect filter! --cut-- --repeat-- --other crap-- then simply append the crop value from that output to your pass2 command line : mencoder -ovc xvid -xvidencopts $XVIDOPTS:pass=2:bitrate=747 \ -oac mp3lame -lameopts preset=standard -vf crop=336:224:8:8 \ -o Bill\ Gates\ Failure.avi Bill\ Gates\ Failure.mpg

    Important scripts/bash aliases used in this guide :

    Bash aliases:

    goes to ~/.bashrc or wherever your bash profile is makes life easier and they are used a lot in the guide. xvidpass1(){ time mencoder -nosound -ovc xvid -xvidencopts turbo:stats:${1}:pass=1 -o /dev/null "${2}" } idmedia(){ mplayer -identify -frames 0 -ao null -vo null -vc dummy "[email protected]" 2>/dev/null | grep ID_ }

    perl scripts :

    xvid first pass log analyzer usage : perl / append 2>/dev/null to remove the extra statistics

    1. !/usr/bin/perl use strict; open(XVID_LOG, '&lt;:mmap', 'xvid-twopass.stats') or die "xvid-twopass.stats doesn't exist!!!!111oneoneone"; my ($br, $frames, $i, $b, $p); while(&lt;XVID_LOG&gt;){ next if /^#/; next unless split (/\s+/) && $#_ == 6; } printf ("%d\n",$br / $frames); print STDERR "Number of frames : $frames\n"; print STDERR "Frames == b : $b / i : $i / p : $p\n";

      What is?

      mplayer : plays most MPEG/VOB, AVI, ASF/WMA/WMV, RM, QT/MOV/MP4, OGG/OGM, MKV, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM and RoQ files, supported by many native and binary codecs. You can watch VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5 and even WMV movies, too.

      mencoder : mplayer is a movie player for Linux (runs on many other platforms and CPU architectures, see the documentation). It plays most MPEG/VOB, AVI, ASF/WMA/WMV, RM, QT/MOV/MP4, OGG/OGM, MKV, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM and RoQ files, supported by many native and binary codecs. You can watch VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5 and even WMV movies, too.

      container :

      codec :

      first pass xvid log (xvid-twopass.stats) :


      • man:mplayer

      • man:lame

    What is OpenCD ?

    Open Source Software (OSS) is provided with a license that gives the end user the right to use it freely for private or commercial use. You also havet he right to inspect and even modify the underlying source code. You can give away or sell the original version you received or one with your modification, though you may be required to in turn pass on the modified source code so that others can benefit from the changes you have made. This last clause protects the devel oper's work from unfair exploitation by others, while allowing the source code t o be released to the community. You are not required to pay royalties to previou s developers, but you are still permitted to charge money for the sale of OSS. This disc may have been given to you by a friend; or sold to you for a small fee, and both are permitted. Keep in mind that there are many different licenses, e ach of which has its own particular set of conditions. If you plan to distribute or modify one of the programs on this disc, please double check the license bef ore you begin so you'll be clear on both your rights and obligations.

    TheOpenCD is a small collection of only the highest quality OSS for Windows, easily available on a CD. The programs are carefully selected to ensure stability , ease of use and a clean install and un-install from your computer. As the CD browser technology (called DiscTree) has matured and improved, it has become fea sible to create derivative distributions such as the recent Ubuntu LiveCD collection . The CD is intended as a first introduction to the world of OSS, but it is our hope that you will later go on to explore other projects, and at some stage you may even want to try a whole new operating system, such as Linux ( sometimes called GNU/Linux ).

    arabic plural forms for gettext

    when translating software using gettext one has to pay attention to plurals, languages differ in how they treat singular and plural forms, gettext tries to be as accomodating as possible by allowing arbitirary rules for each language.

    I suppose the rules of plural in arabic are well known enough and it is time we came up with a standard gettext expression to put as a header in all our po files.

    different classes of numbers in arabic

    1. 0
    2. 1
    3. 2
    4. 3-10 + (100^n) : n >= 0
    5. 11-99 + (100^n) : n >= 0 or 1,2 + (100^n) : n >= 1
    6. 100^n : n >= 1

    so how to express this lovely pattern in the C like expression needed for PO files?

    nplurals = 6;
    plural = n == 0 ? 0 :
             n == 1 ? 1 :
             n == 2 ? 2 :
             (n % 100 >= 3 && n % 100 <= 10) ? 3 :
             (n % 100 >= 11 && n % 100 <= 99) || (n % 100 == 1) || (n % 100 ==2) ? 4 :

    pretty isn't it? time to review the whole language me thinks, anyways.

    if you're using kbabel

    • go to settings -> configure kbabel
    • and make Number of singluar/plural forms equal 5
    • then in the GNU plural form header add the expression above

    if you're not using kbabel you can edit the header manualy, open the po file in a text editor, find the plural form line and change it to look like this

    "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : (n % 100 >=3 && n % 100 <=10) ? 3 : (n % 100 >=11 && n % 100 <=99) || (n % 100==1) || (n % 100==2) ? 4 : 5;\n"


    • 0 -> لا تعليقات
    • 1 -> تعليق واحد
    • 2 -> تعليقان
    • 3 -> تعليقات
    • 4 -> تعليقا
    • 5 -> ???

    The cases are actually five, as zero and three-to-nine use the same form of plural, but since لا تعليقات has more meaning in Arabic than صفر تعليقات, I thought they could be separated.

    book page at opencd

    Stallman, founder of the GNU project and programmer of legendary abilities. It makes clear the idealogical differences between the original Free Software movement and the more recent concept of Open

    Ubuntu page @ opencd

    greetz from planet haram "a graphical artist's guide to linux"

    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:

    notes on building a webserver using Mandrake

    this is not the most secure way to build a webserver, but it is extremly easy and quick and reasonably secure.

    and yeah I install X on the server and use vnc occasionally في حاجة؟!!!

    installing a mandrake server

    • minimal install
    • if not minimal clean rpm-leaves
    • define sources
    • upgrade
    • install ssh-server ssh-clients
    • install rsync
    • install bash completion
    • install dtach
    • install mc
    • install emacs
    • install drakwizard drakconf
    • install xinetd
    • install shorewall
    • fix hosts.allow
    • make useraccount, add user to adm, wheel, rpm, xgrp, ntools, ctools
    • msec 4
    • override msec
    • set up shorewall
    • make ssh keys
    • fix ssh config
    • switch to ssh-xinetd
    • install drakwizard
    • install tightvnc-server, xauth, xorg-x11-75dpi-fonts, rxvt
    • install pekwm
    • pekwm menu file
    • run vncserver
    • edit ~/.pekwm/menu
    • install mysql
    • copy mysql config file
    • change mysql root password
    • install phpMyAdmin
    • apache wizard
    • install php, php-cli, php-imap, php-apc, php-mysql, php-ldap, php-mbstring, ph p-pear
    • install imagemagick, exif
    • install cvs
    • drakauth > ldap wizard
    • intsall postfix, cyrus-sasl,libsasl2-plug-plain, libsasl2-plug-login <li> install and configure postfix
    • install and configure dovecot
    • tweak apache config
    • set apache virtual hosts
    • set http file permissions
    • configure drakbackup
    • install rdate
    • time sync cron job
    • drupal cron job
    • drakxservices
    • rpm-leaves again

    speedtouch 330 dsl modem on linux

    i've been trying for a couple of days to get the speedtouch 330 dsl modem to run under linux and finally i got successful

    so here it is

    create /etc/ppp/peers/adsl

    ipparam "adsl"
    holdoff 4
    maxfail 25
    asyncmap 0
    user "xxxxx"
    name "xxxxx"
    plugin /usr/lib/pppd/2.4.2/

    create /etc/ppp/chap-secrets

    "fti/xxxxx" "*" "votrepasswd" "*"

    create /etc/sysconfig/network-scripts/ifcfg-adsl


    create the startup script

    /sbin/modprobe pppoatm
    /usr/sbin/pppd call adsl

    and so it worked

    note that if there is a pap-secrets file login will fail, if after the modem is pluged in the usb and the two leds are not blinking while the phone line is not pluged then the modem is not initialized and maybe you have the wrong firmware or it is in the wrong location or maybe you need the modem_run package but i think it is in the distro

    good luck . . .

    what is your favorite FireFox extension

    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


    other addons

    MSameer (Gave up firefox)

    • Tweak Network: Gives you control over the advanced firefox network settings.
    • Locale switcher: It's not that important, But It gives you a menu with all the language packs available, It was useful when I installed the 1337 language pack ;-)

    • Image zoom
    • Bookmark backup: This'll backup your bookmarks whenever you close the browser.
    • Configuration Mania: Edit hidden configuration options.
    • Googlebar: Google bar for firefox. ala google bar for IE, But even better ;-)
    • Show failed URLs

    Probably more but i'm lazy.

    أفكار وحيل سريعة

    هذه بعض الأفكار والحيل السريعة التى قد تكون مفيدة

    ضم ملفات *.iso (mount) :

    هذه الملفات عبارة عن صورة لقرص تحتوى نظام ملفات لذا يمكن ضمها بكل سهولة

    #mount -o loop /where/the/img.iso /any/dir

    وهذا يعمل مع أى صورة قرص بالطبع

    الأسماء المستعارة (alias) فى باش :

    هل تخطئ كثيرا فتكتب "cd.." بدلا من "cd .." ؟

    هل تستخدم أوامر مثل "sudo emerge -av foo" أو "rm -rav" كثيرا ؟

    هذه طريقة لعمل اختصارات لمثل هذا فى باش Bash عن طريق الإسم المستعار alias

    حيث يمكن أن تضع هكذا احتصارات فى أحد الملفات التى تقرأها باش عند بدأ التشغيل مثل "~/.bashrc" على النحو التالى

    alise foo1='foo -arvxyz'

    حيث "foo1" هو الإسم المستعار و "foo -arvxyz" هو البرنامج الحقيقى الذى نرغب فى تنفيذه, بعدها عندما تكتب فى محث باش "foo1" سيتم تنفيذ الأمر "foo -arvxyz"

    مثال على ذلك

    alias emerge='sudo emerge -av'
    alias cd..='cd ..'

    تفعيل switch text/page direction في فايرفوكس:

    اكتب في شريط العنوان:


    ثم اكتب في خانة الفلتر:


    ثم انقر عليها لتحويلها من false الى true (ان لم تكن كذلك بالفعل). أعد تشغيل فايرفوكس.

    واﻵن لقلب اتجاه الصفحة وجعلها من اليمين لليسار اذهب الى View -> Switch Page Direction، ولقلب اﻹتجاه في منطقة النص اذهب الى Edit -> Switch Text Direction .

    افضل شرح لطريقة تثبيت السلاك وير بالصور

    بعد عشرات المحاولات الفاشلة في تثبيت السلاك وير كنت ابحث بالستمرار عن مكان او عن اي حاجه فيها شرح للحته الي في الاول لتثبيت السلاك وير ولقيت الموقع ده او الصفحة دي الصفحة دي موجوده في منتدى اجنبي كتبها واحد جامد شرح فيها كل حاجه تتعلق بتثبيت السلاك وير من اول ما تبوت السيدي ولغاية اما تخلص الكونفيجرز بتاعتك وكله بالصورة ة والشرح كلة بالانجليزي بس جزء كبير منه مفهوم والصور بتقوم بالباقي :) مش هطول عليكم دي وصلة الصفحة وابقوا ادعولي ;)

    الأسئلة الشائعه عن مهرجان جنو/لينكس

    الأسئلة الشائعة الخاصه بمهرجان جنو/للينكس

    لكي تجري الأمور بصورة سلسه في المهرجان نحن بحاجه إلى أكبر قدر من المعلومات يمكن الحصول عليه من المشاركين لكي نجيب على أسئلة الزوار

    ما هو مهرجان جنو/لينكس installfest

    هي كلمة منتشره في مجتمع البرمجيات الحره و هي اختصار لكلمتي installation festival. تقوم مجموعات مستخدمي جنو لينكس بهذا الحدث لكي يقدموا البرمجيات الحره مفتوحة المصدر للزوار و لتثبيت نظام التشغيل جنو/لينكس على أجهزتهم إذا أرادوا. الفكره هدفها تسهيل الانتقال لنظام التشغيل جنو/لينكس عن طريق تثبيت النظام على أجهزة الزوار و تنسيق الجهاز لهم

    ماذا سيحدث في هذا الحدث

    إذا لم تحضر جهاز الكمبيوتر الخاص بك معك فسوف تجد أشخاص يستخدمون برمجيات حره و لديهم خبره في أنظمة أخرى سيقومون بشرحها لك و إذا أحضرت جهازك معك و أردت تثبيت النظام عليه يمكنك ذلك و لكن جهز قسم من القرص الصلب لا تقل مساحته عن 5 جيجا بايت لكي يقوم أحد أعضاء المجموعة بتثبيت النظام عليه.

    سمعت كلمة "Free" هل سيكون الوضع فوضوي بسبب هذا أو هل سيكون المكان للخبراء و محبي سطر الأوامر فقط؟

    كلمة Free لا علاقه لها بالسعر و لكن مصدرها في الانجليزيه من Freedom أي الحرية. و المكان ليس للخبراء فقط سوف ترى بنفسك واجهات رسومية بأشكال رائعه.

    لدي بعض الخبره هل يمكنني المساعده؟

    بالطبع يمكنك. في الويكي و قدم نفسك لتساعد

    لقد حصلت على دورة تدريبية في اللينكس و لكني أشعر بأنه ليس مناسب لسطح مكتبي.

    أنا مستخدم لتكنولوجيا ميكروسوفت، ماذا أجلب معي؟

    • قم بعمل defrag لقسم في قرصك الصلب و ربما يمكنك أن تقوم بتغيير مساحته لكي تفسح المجال لقسم جديد.
    • حاول أن تقوم بإحضار كامل مستلزمات جهازك لكي لا تنتظر توفر أدوات من أحد.
    • أحضر اسطوانات فارغه معك
    • حاول الحصول على نسخة جنو/لينكس على هذه الاسطوانات
    • انتظر لكي يأتي لك أحد المتطوعين ليقوم ببدء تثبيت النظام على جهازك
    • بعد الانتهاء من التثبيت تأكد من أن كل شيئ جاهز لك لكي تستخدم الجهاز من المتطوع الذي سيساعدك. تأكد أنه يمكنك الاستماع إلى الموسيقى، الكتابة بالعربيه، إلخ..... تاكد أيضا من وجود حساب واحد غير رووت root على النظام.

    أنا بحاجه إلى النظام القديم و لدي ملفات .doc أود التعامل معها. هل يمكنني استخدام النظام القديم بجانب جنو/لينكس لفتره؟

    إذا كان كل ما تريده هو العمل مع ملفات .doc فيمكنك ذلك بواسطة برنامج Open Office و يمكنك أيضا استخدام النظام الجديد بجوار نظامك القديم. أطلب ذلك فقط من المتطوع الذي سيقوم بتثبيت النظام لك.

    إذا تعطل نظام جنو/لينكس لأي سبب من الذي سيساعدني؟ هل يقوم لينكس بإعطاء رسائل not responding هو الآخر؟

    الأسئلة المتكررة عن لينكس

    ما هو لينكس؟

    .في نهاية عام 1990 قام طالب في جامعة هلسينكي في فنلندا بالإعلان عن مشروع يعمل عليه. الطالب هو لينوس تورفالدس، والمشروع كان نظام تشغيل بسيط. وقد اختار لينوس تورفالدس أن يضع مشروعه تحت ترخيص البرامج الحرة، مما أتاح لمن يريد إمكانية الاطلاع على النص المصدري لهذا النظام، والعمل على تعديله وتطويره، نتيجة لذلك، شارك الآلاف من المبرمجين المتطوعين حول العالم في المشروع. لينكس هو النواة و التى تعمل من خلالها جميع البرامج, الا انه جرت العادة ان يطلق اسم لينكس على بيئة التشغيل ككل بما فيها أدوات سطر الأوامر المتعددة و برامج سطح المكتب و ما الى ذلك.

    · ما المقصود بالمصدر المفتوح و البرامج الحرة؟

    "المصدر المفتوح" و "البرامج الحرة" هما مصطلحان يستخدمان للإشارة للبرامج التي توفر النص المصدري للبرامج لمن يرغب بها. و هي برامج تعطيك حرية تشغيل البرنامج لأي غرض و حرية دراسة كيفية عمل البرنامج، و تعديله ليلائم أحتياجاتك و حرية توزيع البرنامج لمن تريد من أصدقائك و جيرانك و أخيرا، حرية تطوير البرنامج، و توزيع هذا التطوير لتعم الفائدة

    · ما الذي يميز لينكس عن الأنظمة الأخرى؟

    يتمتع نظام لينكس بدرجة عالية من الأمن و الوثوقية. حتى أنه يستعمل في أكثر الأماكن حساسية، مما زاد من دعم النظم له وإنتشاره، ودعم الشركات المنتجة للبرامج و الحلول له، إذ أصبحت مجموعة كبيرة من حلول الشركات المقدمة من IBM و HP وغيرها متوفرة على لينكس. كما ان لينكس يعطيك قدرة كبيرة على التحكم بالنظام وتغيير سلوكه كما تريد. وهذا يسهل موائمة النظام لإحتياجاتك. و أيضا من أهم مميزات لينكس سرعة تطويره و سد ثغراته نظرا لكثرة عدد المطورين الذين يشاركوا فى تطويره.

    · ما هى وضعية لينكس اليوم على خريطة أنظمة التشغيل؟

    الاحصاءات تقول أن لينكس فى عام 2002 استحوذ على حوالى 24% من سوق الحاسبات الخادمة و متوقع أن تزيد النسبة ل33% فى السنوات القليلة القادمة, و فى سوق الحاسبات المكتبية يستحوذ لينكس على حوالى 3% ومتوقع ان تزيد ل 6% , بالرغم من أن هذه الأرقام قد تبدو ضئيلة الا أن معدل الانتشار للينكس يوضح انها فقط مسألة وقت حتى يأخذ وضعه الطبيعى كمنافس قوى لأنظمة التشغيل الأخرى, خصوصا و أن فى السنوات القليلة الماضية تطورت البرمجيات المكتبية المفتوحة المصدر بصورة واضحة و أصبحت مكافئة و فى الكثير من الأحيان أفضل من نظائرها فى أنظمة التشغيل الأخرى, حتى انه من المعروف أن نظام تشغيل ويندوز اكس بى قد اقتبس شكل أحد بيئات الأسطح المكتبية المفتوحة المصدر و المعروف بجينوم .

    · هل لينكس صعب الإستخدام؟

    أحد الأسباب التى جعلت لينكس يبدو صعب الاستخدام أن مطورى البرامج الحرة عادة ما وضعوا فى اعتبارهم أن المستخدم ككائن له عقل يستطيع التعامل مع أشياء فى اعتقادهم الشخصى بسيطة الا أن اعتياد المستخدمين على أنظمة تشغيل أخرى تتعامل مع العقل البشرى على انه قطعة لحم يجعلهم ليسوا على استعداد أن يغيروا طريقة تعاملهم مع الحاسوب و يتجهوا للأسهل,لكن مؤخرا بدأ الجانبين فى العمل على تقليص هذه الفجوة , فبدأ مطوروا البرامج الحرة فى جعل برامجهم أكثر سهولة فى التعامل و المستخدمين بدأوا يملوا من الطريقة التى يعمل بها نظامهم المعتاد و لهذا بدأ نظام تشغيل لينكس فى الانتشار بسرعة, الان لينكس أصبح فى المتناول و سهل الاستخدام بالنسبة لأى مستخدم عادى من خلال الفأرة و سطح مكتب أنيق.

    التعامل مع ملفات الجنولينوكس عبر الويندوز

    التعامل مع نظام لينكس داخل نظام ويندوز! (لا اتذكر اسم الكاتب الحقيقي للموضوع )

    يعلم الجميع منا بأن أنظمة 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 من خلال هذا الموقع:

    أما طريقة التنصيب فهي سهلة,كل ما عليك هو اتباع الآتي:

    • بعد تنزيل البرنامج قم بفك ضغطه بأحد برامج فك الضغط ( Winzip مثلا ) ثم استخرج كامل الملفات إلى مجلد جديد.
    • انقر على Setup و اتبع الخطوات المعهودة ( Next , Next Finish )
    • توجد إلى:

    شفرة برمجية :

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

    و الصيغة العامة لهذه الأداة هو:

    شفرة برمجية :

    هذا كان بالنسبة لسرد الملفات و لكن ماذا عن قرائتها و نسخها من نظام 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 و سوف تلاحظ وجود نسخة من الملف

    الصيغية العامة لهذا الأمر هي:

    شفرة برمجية :

    بعد أن انتهينا من عملية سرد الملفات و قرائتها و نسخها, ننتقل إلى كيفية حذف أي ملف في نظام Linux , لعمل ذلك أصدر هذا الأمر:

    شفرة برمجية : ldel -s/dev/hda2 /var/www/html/test.php

    و سوف ينحذف الملف,الصيغة العامة لهذا الأمر هي:

    شفرة برمجية :

    أما لتغيير صلاحيات الوصول لأحد ملفات نظام Linux و كذا المالك و المجموعة في آن معاً, أصدر الأمر التالي:

    شفرة برمجية :

    lchange -s/dev/hda2 -frwxrwxrwx -u2 -g2 /home/file.html

    شرح مبسط لما تم القيام به

    -f : لتغيير صلاحيات القراءة و الكتابة و التنفيذ لكل من المالك و المجموعة و الآخرين. ( يشبه أمر chmod )

    -u: لتغيير مالك الملف عن طريق تغيير رقم تعريف المستخدم, فإذا كان المالم هو مستخدم " account " يحمل رقم تعريف " 3 " و اردت نقل ملكية ملفه إلى مستخدم آخر " account2 " فينبغي معرفة رقم تعريفه للقيام بذلك ( يشبه امر chown )

    -g : لتغيير مجمعة الملف ( يشبه أمر chown ) .

    الصيغة العامة لهذا الأمر هي:

    شفرة برمجية :

    أما للكتابة في نظام Linux فأصدر الأمر التالي:

    شفرة برمجية : lwrite -s/dev/hda2 /root/

    حيث نسخنا ملفاً من نظام Windows و وضعناه داخل نظام Linux .

    الصيغة العامة:

    شفرة برمجية :

    لتغيير مسمى ملف في نظام Linux إلى إسم آخر,أصدر هذا الأمر:

    شفرة برمجية : lren -s/dev/hda2 /var/www/html/test.php index.php

    هذا الأمر قام بتغيير إسم ملف test.php الموجود داخل نظام Linux طبعاً إلى إسم index.php .

    الصيغة العامة:

    شفرة برمجية :

    بقي عمليتي إنشاء دليل جديد في نظام Linux و أيضاً أنشاء اختصار, و كلاهما بنفس الطرق السابقة تقريبا

    ثانيا: عن طريق واجهة رسومية و ذلك بجعل جهازك خادم

    توجه أولاً إلى :

    شفرة برمجية : Start ---------> Programs ---------> LTOOLS ---------> LTOOLS ---------> LTOOLS Web Server (http localhost)

    بعد ذلك اكتب في متصفحك: شفرة برمجية :

    الآن سوف يتم سرد ملفات و مجلدات نظامك لكن بشكل رسومي :

    أضف إلى ذلك بأنه أصبح جهازك خادم ويب Webserver . عمل الأمور السابقة من استعراض و نسخ ...الخ في الواجهة الرسومية سهل جدا و لا يحتاج إلى شرح و كثر كلام,فقط أشر و انقر .


    - لاستعراض ملفات الـ Windows و التعامل معها ( نسخ,تعديل...الخ) انقر على خيار DOS في أعلى الصفحة.

    - بشكل إفتراضي يكون منفذ خادم الويب و " 80 " فإذا أردت تغييره إلى " 99 مثلا " أصدر هذا الأمر من سطر الأوامر:

    شفرة برمجية :

    LREADsrv 99

    - بشكل افتراضي أيضا, خادم الويب ( LREADsrv ) لا يقبل أي إتصال الا من جهازك ( localhost ) او ( ) , فإذا أردت ان يستخدم أحداً ( في الإنترنت او داخل شبكة محلية )المميزات السابقة فينبغي أن تحدد أرقام الـ IP لهم ( اقصد حد مسموح 3 عناوين ) , بحيث الشكل النهائي للأمر:

    شفرة برمجية :

    LREADsrv 80 212.452.123.3 213.571.231.7

    لابد عند استخدام ميزة remote host السابقة تحديد المنفذ.

    اما طريقة الـ JAVA فتطلب منك تركيب Java 2 Runtime Environment و يمكنك تنزيلها من موقع : جافا لقطات من الأداة و هي تعمل بواسطة جافا ( مع الشكر الجزيل للأخ مرشد محمد:-) ) : عند هذا الحد اتوقف و اترك لكم فرصة التعمق في مجموعة الأدوات LTOOLS لكي لا افسد عليكم متعة الاستكشاف




    بلندر هو برنامج متقدم للتصميمات ثلاثية الأبعاد و الرسوم المتحركة عالية الجودة ، حيث يقوم بعمليات تحويل الأجسام ثلاثية الأبعاد الى صور و يوفر أمكانية تشطيبات ما بعد الأنتاج و الصناعة التفاعلية لهذة الأجسام و عرضها.

    الأشكال الأساسية فى بلندر، تراها هنا من منظور الكاميرا. عادا ما يسهل البدء بأشكل أساسية ثم تجميعها و تحويلها بأدوات بلندر المختلفة لتصل بها الى تصميماتك.

    يحيط بلندر مجتمع نشيط من مطورى البرامج، يضيفون خصائص و أدوات جديدة مثل محرك التحويل يافراى (لتحويل الأجسام الثلاثية الأبعاد الى صور). يافراى يصنع صور تقرب جدا من واقعية الصور الفوتوغرافية و ذلك بأضافة مؤثرات خاصة. بلندر يدعم تقنيات كثيرة مثل التوليد الديناميكى للجزيئات، فرد الأسطح المغلفة للأجسام بأستخدام لوغريتمات المسح الليزر الميكرسكوبى متحد البؤر LSCM ، و الكثير.. بلندر يدعم و يصدر العديد من انواع الملفات مثل VRML, Cal3d و AC3D. بالأضافة الى كل ذلك يمكنك تكييف بلندر لأحتياجاتك و ذلك عن طريق الأضافات المكتوبة بلغة البايثون، فيمكنك كتابة أضافات أو أستخدام الكثير من الأضافات المتوفرة.

    ازرار التحرير Edit لشبكة التصميم. نوافذ الأزرار يمكن تحريكها أو تكبيرها.

    بعد الأصلاح الشامل لواجهة المستخدم فى الأصدارة رقم ٢.٣ و أصدار دليل المستخدم أصبح بلندر أسهل فى الأستخدام عن ما كان. تعلم برمجيات التصميم الثلاثى الأبعاد ليس سهل فلذلك أرفقنا دلائل أرشادية كثيرة و دروس فيديو.

    بنلدر يدعم مسارات تحركية معقدة.

    أستخدم DupliVerts لتحويل عدة حالات من نفس الجسم.

    أمثلة محولة:

    الصور التالية أنتجها أعضاء مجتمع مستخدمى بالندر. يمكنك رؤية المزيد فى

    مكتب ستوديو تصميمات بيد ياروسلاف لبيدكو. صممت ببلندر و التحويل بيافراى.

    موسم الشتاء بيد روبيرت ج. تيس

    الفارس الجبان بيد ساشا جويدجبور. صممت ببلندر و التحويل بيافراى.

    تفاصيل كافية للتعرف على الIRC

    شرح لمصطلحات دروبال

    مصطلحات و مفاهيم أساسية عن دروبال

    دروبال نظام حر و مفتوح المصدر لادارة المحتوى و النشر على الوب، دروبال نظام طيع جدا يمكن استخدامه لبناء أي نوع من صفحات الوب و يسهل الاضافة الي امكانياته و تطويره و يتميز خصوصا في بناء صفحات مجتمعات الوب.

    تكمن المرونة العالية في نظام دروبال في أنه مبني على بعض الأفكار المجردة البسيطة، عملية بناء و اعداد موقع بدروبال تتركز في تجميع و تربيط تلك الأفكار و الأدوات. يتبنى مطوروا دروبال مبدأ أن تكون واجهة المستخدم (بالأخص مدير الموقع) طبقة رقيقة شفافة لا تحجب تفاصيل البناء الداخلي للبرنامج و من هنا يأتي شعار دروبال "سباكة لمجتمعات الوب"، اذن دورك كمدير للموقع كدور سباك يركب مواسير و حنفيات و في النهاية يرص بلاط ليبسط واجهة البرنامج.

    هذه الوثيقة محاولة لشرح المواسير (عفوا المصطلحات و المفاهيم) المستخدمة في دروبال، يمكنك استخدام دروبال بدون أن تتحول الى سباك، هذه الوثيقة بالأساس لمن يرغب في التعمق في النظام.

    سأحاول ترتيب المصطلحات بدرجة الأهمية.


    العقدة هي وحدة المحتوى في دروبال، أي صفحة لها عنوان (url) يقوم أحد مستخدمي النظام باضافتها عبارة عن node، اذن أغلب المحتوى في دروبال سيكون في صورة عقد، العقد أنواع (node types)، مثل خبر، تدوينة، صورة، صفحة كتاب، فعالية، تقرير عن فيلم، سجلات عقار، الخ، و اضافة العقد (المحتوى) يكون عن طريق create content و فيها ستجد قائمة بأنواع العقد المتاحة لك.

    كل نوع له استمارة كتابة/تحرير مختلفة فمثلا استمارة الفعاليات بها خانة لتحديد ميعادي بدء و انتهاء الفعالية، و استمارة الصور بها خانة لتحميل ملف الصورة.

    أضافة أنواع جديدة من المحتوى يكون عن طريق اضافة وحدات برمجية اضافية (اذن المبرمج هو المسئول عن تصميم أنواع جديدة من العقد). تتيح وحدة flexinode الاضافية امكانية تصميم أنواع جديدة من العقد عن طريق تصميم استمارات اضافة و تحرير المحتوى و بدون الحاجة لتعلم البرمجة.


    البلوكات هي وحدات محتوى صغيرة لا عنوان لها (ليست صفحات) و لكن يمكن رصها في مناطق مختلفة (في الغالب على شريط جانبي على يمين أو شمال المحتوى الرئيسي) بحيث تظهر على أكثر من صفحة (في الغالب تظهر في كل صفحات الموقع).


    • بلوك دخول المستخدم
    • بلوك قائمة أحدث التعليقات
    • بلوك بعدد الزوار الحاليين
    • بلوك قائمة التصفح
    • الخ

    غالبا ما يتم تخليق البلوكات تلقائيا من قبل دروبال، و تتيح بعد الوحدات البرمجية الاضافية بلوكات جديدة، لكن يمكن لمدير الموقع اضافة بلوكات بشكل مشابه لعملية اضافة العقد عن طريق administer->blocks->add block(مفيدة مثلا لوضع زراير و بانر أو لصق أكواد javascript للربط بين الموقع و مواقع خدمية مثل مثلا).

    يختار مدير الموقع البلوكات التي يرغب في اظهارها و يحدد مواضعها عن طريق administer->block كما يمكن تحديد ظهور البلوك على صفحات معينة أو لمجموعة محدودة من المستخدمين مثلا.


    وحدات برمجية، هي مجموعة ملفات برمجية تضيف مزايا أو تعدل من سلوك نظام دروبال، الحقيقة أن لب نظام دروبال بدون أي وحدات لا معنى له بالمرة، فحتى مفهوم node معرف في وحدة برمجية. يمكن لأي مبرمج php أن يوسع من امكانيات دروبال بكتابة وحدات توفي احتياجاته، كتابة وحدة لدروبال عموما أسهل من كتابة برنامج مستقل من الصفر.

    قائمة الوحدات الأساسية و وظيفتها قائمة ببعض الوحدات الاضافية الدارجة


    القائمة عبارة عن شجرة من الروابط ينشئها مدير الموقع عن طريق administer->menus، رغم أن نظام دروبال و وحداته البرمجية مسئول عن تخليق قائمة التصفح الرئيسية (navigation menu) يمكن لمدير الموقع تحرير و تعديل روابط القائمة.

    ينشئ دروبال بلوك لكل قائمة بحيث تتحكم في اظهار القائمة من admin->blocks


    التيمات عبارة عن مجموعة من الملفات تحدد شكل و تصميم للصفحة، يمكنك اختيار أحد التيمات من administer->theme، كما يمكن تنزيل تيمات اضافية من صفحة دروبال.

    عمل تصميم جديد لموقعك المعتمد على دروبال يعني عمل تيمة جديدة، غالبا عن طريق تعديل تيمة موجودة مسبقا. تحتاج لمعرفة بأساسيات html و css لتعديل أو عمل تيمات جديدة.

    بعكس الأنظمة الأبسط مثل blogger التيمة في دروبال مكونة من أكثر من ملف و يحدد ملف style.css أغلب تفاصيل التصميم من ألوان و أبناط و مسافات و خلفيات، الخ.

    theme engine

    محرك التيمات عبارة عن وحدة برمجية خاصة تضيف وسيلة جديدة لعمل التيمات في دروبال.

    عموما التيمات تعتمد على ملفات html بحيث يحل محل المحتوى رموز خاصة تشير الى بيانات يقوم نظام دروبال بتوفيرها، و كل محرك يتيح أسلوب/لغة قولبة (templating) مختلفة يمكن استخدامها في التصميم.

    المحرك الأكثر شعبية في دروبال هو phptemplate، و هو المحرك الأساسي ابتداء من الاصدار 4.7، الفكرة الأساسية في phptemplate هي استخدام لغة البرمجة php نفسها بدلا من اختراع لغة جديدة محدودة الامكانيات. بحيث يمكن للمبرمج امكانية تلقيم كود php في أي مكان في التيمة مما يتيح له امكانيات غير محدودة، في نفس الوقت تعلم البرمجة بphp ليس ضروري لعمل تيمات phptemplate.

    مقدمة في تيمات phptemplate

    input format

    نمط الادخال.

    عند اضافة محتوى الي دروبال يمكنك الاختيار ما بين انماط مختلفة في ادخال المحتوى، يقوم دروبال بتحوير المحتوى وفقا لقواعد خاصة بكل نمط ادخال حتى يحصل على كود html يمكن اظهاره على الوب، أنماط الادخال اذن عبارة عن لغات مختلفة لتوصيف البيانات و الهدف النهائي هو الوصول لكود htm، تستخدم أنماط الادخال في تبسيط عملية كتابة المحتوى، فمثلا يمكن استخدام نمط ادخال مشابه لويكي بدلا من html، كما تتيح أنماط الأدخال امكانية التحكم في و فلترة ما يكتب في التعليقات أو في مساهمات الأعضاء (في حالة انعدام الثقة في نوايا أو قدرات المساهمين) بحيث تضمن عدم نشر محتوى مؤذي (كلمات ممنوعة، سكريبتات ضارة لاختراق أجهزة القراء، كود html سيئ تم قصه من أحد برامج مايكروسوفت المتخلفة).

    يأتي دروبال بثلاثة أنماط ادخال افتراضية:

    filtered html
    يسمح فقط بمجموعة محدودة من وسوم html (يحددها مدير الموقع) و يحذف أي خصائص تتحكم بالشكل، مما يتيح لمدير الموقع ضمان أن يتبع كل المحتوى تصميم موحد، اضافة الى ذلك يحول هذا النمط نهايات الأسطر الى وسوم br مما يسهل يتيح كتابة نص مسترسل بشكل طبيعي و بدون اضافة كود html الا عند الضرورة
    full html
    نمط ادخال لا يتدخل في ما يكتبه المستخدم عدا تحويل نهايات الأسطر الي وسوم br، أي يسمح بأي كود html و باضافة خصائص css. و يفضل ألا يسمح الا لمن تثق بهم أن يستخدموا هذا النمط
    PHP code
    نمط ادخال خاص جدا يسمح بكتابة كود php داخل الصفحة مباشرة، يتم تنفيذ هذا البرنامج الصغير في سياق دروبال بحيث يتاح للبرنامج كافة متغيرات دروبال بما المتاحة للوحدات البرمجية بما فيها معلومات عن المستخدم الحالي (أي من يتصفح العقدة التي تحتوي على الكود) و تظهر نتائج تشغيل البرنامج في المكان الذي يحتوي غالبا على المحتوى


    الفلاتر هي الوحدات المكونة لأنماط الادخال، الفلتر يصف قاعدة من قواعد تحوير النص و رص مجموعة من الفلاتر في صورة stack بحيث يتم تنفيذ قواعد كل فلتر بحسب ترتيبه في الstack يصف نمط ادخال.

    مثلا filtered html مكون في الأصل من فلترين، فلتر مسئول عن طمس الوسوم الغير مسموح بيها و فلتر مسئول عن الحفاظ على المسافات ما بين السطور (عن طريق تحويل نهايات الأسطر الي وسم br)

    يمكن تعديل نمط filtered html و اضافة فلتر لتصحيح كود الhtml للحماية من أخطاء مستخدمي النظام كما يمكن اضافة فلتر لتحديد اتجاه السطر بشكل تلقائي فيحول الفقرات العربية الي اليمين و الفقرات الأخرى الي اليسار بغض النظر عن الاتجاه الأصلي للصفحة.

    اضافة فلاتر جديدة يكون عن طريق اضافة وحدات برمجية، لكن ادراج الفلاتر في أنماط ادخال عمل يقوم به مدير الموقغ administer->input formats

    بعض الفلاتر لها اعدادات يمكن تعديلها، التعديل يتم غالبا على مستوى نمط الادخال، فمثلا الفلتر المستخدم في طمس وسوم الhtml الغير مرغوب فيها جزء من اعدادته هو تعريف ما هي الوسوم المسموح بها، لكن يمكن عمل أكثر من نمط ادخال بحيث يتيح كل نمط حزمة مختلفة من الوسوم، فمثلا لا يسمح لجمهور الموقع أن يدرج صور في التعليقات لكن يسمح لكتاب الموقع بادراج صور، و بالتالي تكون صفحة الاعدادات مرتبطة بنمط الادخال و يقوم مدير الموقع باعداد نفس الفلتر بصورة مختلفة في كل نمط ادخال.

    بعض الفلاتر غرضها الاضافة الي النص و ليس فقط تسهيل أو تنظيم كيفية كتابة النص، فمثلا وحدة glossary تضيف فلتر يراجع كل كلمات النص على قاموس مصطلحات، اذا وجدت كلمة في النص تطابق كلمة في القاموس يحول الكلمة في النص الي رابط لتعريف الكلمة في القاموس. فمثلا كلمة FOSS على موقع eglug يمكن فهم معناها بمجرد الاشارة اليها أو الضغط عليها.


    نظام التصنيف الخاص بدروبال من أهم نقاط قوته، و لكنه أعقد في التعامل من نظم التصنيف الأخرى.

    يستخدم نظام التصنيف في دروبال في وظائف قد تبدو بعيدة عن التصنيف فمثلا وحدة glossary تعتمد على نظام التصنيف في تعريف قاموس مصطلحات يتم عن طريق نظام التصنيف.

    يدعم دروبال نظم تصنيف شجرية (هايراركية) و بالتالي تعتمد الكثير من الوحدات على نظام التصنيف من أجل بناء أطر شجرية (منتديات، جالريهات الصور، الخ).

    التحكم في التصنيف في دروبال يكون عن طريق admin->categories


    عبارة عن مجموعة من المصطلحات (الفئات أو التصنيفات) مرتبطة ببعضها، فمثلا مجموعة مصطلحات الألوان تشمل الأحمر و الأخضر و الأزرق الخ في حين أن مجموعة مصطلحات البلاد تشمل مصر و أوغندا و الصين الخ.

    الغرض من تجميع المصطلحات في مجموعات مختلفة هو اتاحة التصنيف على أسس مختلفة و النظر الي المحتوى وفقا لقواعد مختلفة، فمثلا يمكن تصنيف التدوينات حسب موضوعها (ثقافة، فن، تكنولوجيا، سياسة، الخ)، و في نفس الوقت يمكن تصنيف نفس التدوينات حسب رخصة توزيع المحتوى (رخصة حرة، مجال عام، جميع الحقوق محفوظة) و يمكن أيضا تصنيفها حسب الحالة المزاجية وقت الكتابة (سعيد، مكتئب، خمول، الخ)، كما يمكن تصنيف نفس المحتوى تصنيفات داخلية قد لا تهم القارئ لكن تهم أصحاب الموقع (سيطبع في دورية المركز، يرسل بالبريد الاكتروني للمشتركين، مهم للمؤتمر القادم، كتبه كاتب من خارج المؤسسة، الخ).

    اذن عقدة محتوى واحدة يمكن تصنيفها وفقا لأكثر من طريقة (أو نظرة).

    عند انشاء أو تعديل مجموعة مصطلحات يتم تحديد أنواع المحتوى التى سينطبق عليها التصنيف، فمثلا الصور ستصنف على أساس اللون الغالب و المقالات ستصنف على أساس الموضوع لكن التصنيف على أساس رخصة المحتوى سيشمل الصور و المقالات.

    من المهم تفادي التقاطع بين مجموعات المصطلحات. فلا معنى للخلط بين الألوان و رخص التوزيع.

    عن انشاء مجموعة مصطلحات تحدد أيضا اذا كانت مجموعة مصطلحات مسطحة (مجرد قائمة مرتبة) أم ستأخذ شكل شجري (single hierarchy) يكون للمصطلحات فيه جذر واحد على الأكثر و فروع عديدة، أم ستأخذ شكل شبكي (multiple hierarchy) تتعد فيه الجذور و الفروع.

    يمكن أيضا تحديد ما اذا كان متاح تصنيف عقدة محتوى واحدة تحت أكثر من مصطلح من نفس مجموعة المصطلحات (فمثلا مقال عن فيلم سياسي يمكن تصنيفه تحت فن و تحت سياسة، و التصنيفين جزء من مجموعة مصطلحات واحدة أسمها مثلا موضوع المقال).

    taxonomy term

    مصطلح أو تصنيف، و يكون جزء من مجموعة مصطلحات و هو ما يندرج تحته مجموعة ما من العقد.

    لكل مصطلح صفحة مشابهة للصفحة الرئيسية الافتراضية يعرض فيها العقد المصنفة تحت المصطلح مرتبة عكسيا حسب تاريخ النشر، بالاضافة الى تلقيمة rss خاصة بالمصطلح.

    دروبال لا يخلق روابط واضحة لصفحات المصطلحات تلقائيا، يضيف النظام روابط الي كل عقدة بصفحات المصطلحات الخاصة بالعقدة. لكن عنوان صفحة المصطلح يتبع دائما الشكل taxonomy/term/ID حيث يتم استبدال ID بالرقم المسلسل للمصطلح.

    يمكن معرفة الرقم المسلسل لكل مصطلح عن طريق ملاحظة عنوان صفحة تحرير المصطلح

    لاحظ اضافة /0 في عنوان التلقيمة، 0 يشير الي عمق التلقيمة في شجرة المصطلحات، فصفر تعني عرض العقد المصنفة مباشرة تحت المصطلح لكن 1 تعني عرض العقد المصنفة مباشرة بالاضافة الي العقد المصنفة تحت أي مصطلحات متفرع مباشرة من المصطلح اياه و 2 تعني عرض ما صنف تحت المصطلح و فروعه و فروع فروعه و هكذا، و تستخدم all للدلالة على المصطلح و كل فروعه (أي أعمق ما يمكن). طبعا في حالة مجموعة مصطلحات مسطحة لا يهم الرقم الاضافي و اصطلح استخدام صفر.

    تضيف الوحدة الاضافية taxonomy menu روابط لصفحات مصطلحات التصنيف تلقائيا في قائمة التصفح الرئيسية و يمكن طبعا نقل الروابط الي قائمة مستقلة.

    path alias

    صفحات دروبال لها عناوين محددة، اذا سجلت عنوان صفحة ثم زرته ثانيا ستجد نفس الصفحة، تتبع تلك العناوين نظام محدد فمثلا عناوين العقد تأخذ صورة node/ID أي أولا عقدة عنوانها node/1 و ثاني عقدة node/2 و هكذا، و هذا العنوان ثابت فمثلا مسح ثاني عقدة لا يغير من عنوان ثالث عقدة (تظل node/3)، ذات الشيئ ينطبق على عناوين صفحات مصطلحات التصنيف التي تأخد الشكل taxonomy/term/ID و هكذا.

    لكن يتيح دروبال لمدير الموقع تحديد عناوين اضافية لأي صفحة، مما يثري الموقع، فمثلا استخدام /about كعنوان لصفحة "من نحن" أفضل من استخدام node/503 و استخدام /community_events أفضل من taxonomy/term/51,95

    عمل عناوين اضافية يعتمد على وحدة path (مرفقة مع دروبال لكن غير مفعلة تلقائيا)، في حالة العقد يمكن عمل عنوان بديل/من خلال استمارة انشاء محتوى، للصفحات الأخرى يجب زيارة administer->url aliases


    مستخدم النظام هو أي زائر للموقع، سواء كان مجرد قارئ أو مشارك أو مدير الموقع، يمكن طبعا تسجيل حسابات عضوية على الموقع و استخدام اسم الحساب و كلمة سر للولوج الي الموقع


    لكل مستخدم مسجل ملف على الموقع يمكن زيارته من user/ID حيث ID هي مسلسل المستخدم.

    في الأصل لا يطلب دروبال الا اسم و عنوان بريد الكتروني لكي ينشئ حساب بالاضافة الي كلمة سر يختارها دروبال عشوائيا ثم يتاح للمستخدم تعديلها. لكن بعد تفعيل وحدة profile يمكن لمدير الموقع تصميم استمارة عضوية بها خانات اضافية (الاسم بالكامل، المهنة، مفتاح التشفير العلني، الاهتمامات، الخ) كما يمكن تحديد أي خانات أجبارية و أيها اختياري و أي الخانات سيعرض لحظة التسجيل و أيها متاح فقط عند تعديل بيانات الحساب.

    user roles

    يقسم دروبال المستخدمين الى أدوار بحيث يكون لكل دور صلاحيات مختلفة فمثلا يمكن توزيع المستخدمين على أدوار كاتب مسموح له فقط كتابة محتوى و اضافته في طابور النشر، و دور محرر قسم مسموح له مراجعة و تعديل أي محتوى و السماح بنشره و محرر الموقع المسموح له نشر محتوى على الصفحة الرئيسية و هكذا.

    ينشئ دروبال دواران تلقائيان:

    anonymous user
    مستخدم مجهول و مقصود به أي زائر للموقع لم يلج الى حساب مستخدم مسجل في الموقع (الغالبية العظمى من قراء أي صفحة وب علنية)
    authenticated user
    مستخدم معروف للنظام و المقصود به أي زائر للموقع له حساب مسجل و قام فعلا بالولوج عن طريق ادخال اسم الحساب و كلمة السر

    يمكن لمدير الموقع انشاء أدوار اضافية عن طريق administer-> و تحديد صلاحيات كل دور من administer->access control و تخصيص الأدوار يكون عن طريق تعديل حساب المستخدم user/ID/edit

    يمكن لمستخدم واحد الجمع ما بين أكثر من دور و في هذه الحالة يكون للمستخدم كافة الصلاحيات المتاحة للأدوار المختلفة

    يعامل أول حساب على النظام (مسلسل 1) معاملة خاصة، أشبه بالمستخدم الجذر في نظم اليونكس، أي تتاح له كافة الصلاحيات بغض النظر عن أدواره و صلاحيات تلك الأدوار.

    وحدة members الاضافية تتيح عرض قائمة بالمستخدمين حسب أدوارهم.

    book page



    image gallery

    flexinode templates wiki syntax rich text editor

    I suppose each of these should go on a seperate book page that falls under the same heirarchy, and any new arabic pages on drupal should fall under that heirarchy this way we might one day (as in the next decade) have a decent drupal booklet in arabic.

    غرفة محادثة

    كعادة مجموعات مستخدمى لينكس فى العالم و القائمين على مشروعات مفتوحة المصدر عامة, مجموعة جنو لينكس المصرية لديها غرفة محادثة نشطة الى حد بعيد على ال IRC, عادة ما ستجد على الأقل 10 مستخدمين متواجدين هناك على مدار اليوم و اليل, هناك يمكنك أن تطلب المساعدة و تنتظر رد ديناميكى متفاعل أو يمكنك أن تضيع بعض الوقت فى الرغى عن أى شيئ (الأخير هذا هو الاستخدام المعتاد), لكن عليك اتباع بعد القواعد العامة و المعروفة بالنتيكيت بغرض المحافظة على التظام نوعا ما(هذا لا يعنى أن كلهم يتبعوا هذه القواعد على أى حال...).

    كيفية ضبط الurpm فى توزيعة mandriva

    الurpmi عبارة عن أداه موجوده فى توزيعة mandriva .. وهدفها تسهيل تثبيت البرامج لأقصى درجة ممكنه. وفكرتها الأساسية تعتمد على حزم rpm (redhat package manager).

    بالطبع يوجد مناظر لها فى عديد من التوزيعات مع الفارق طبعا .. فهناك ال apt-get الخاصة ب debian و ال emerge لل gentoo و غيرها.. لكننا الأن بصدد الحديث عن mandrake أو mandriva.

    الفكرة هنا هى أن القائمين على توزيعة mandriva بالإضافة الى المتطوعين يقومون بانشاء حزم rpm للبرامج وأجزاء النظام عموما. ويتم وضعهم بعد اختبارهم على خوادم (servers) موجوده ومتاحة على الإنترنت، فبكل بساطة عندما تطلب تثبيت برنامج ما وليكن katoob فيكفى أن تعطى الأمر urpmi katoob. فتقوم الأداة بالبحث عن موقع هذا البرنامج فى المعلومات المخزنة عندها، ثم تقوم بتحميل هذا البرنامج من على الإنترنت ثم تقوم بتثبيته. كل هذا أوتوماتيكيا بدون أى تدخل منك (الا فى حالة حدوث خطأ معين).

    لكى نستطيع أن نستعمل هذه الأداة يجب أن نقوم ببعض الضبط.. أولا يجب أن نعطيها مواقع الخوادم المحتوية على حزم rpm وأماكن الحزم عليها (وهذا المسمى بال mirrors). ثانيا يجب أن تعرف أسماء الحزم الموجوده على كل خادم منهم بل وتعرف لكل حزمه احتياجاتها من الحزم الأخرى (بعض أو أغلب الحزم تعتمد على حزم أخرى لا بد أن تكون مثبته لكى تعمل جيدا.. اعتماد حزمه على أخرى يسمى ال dependencies). القائمة الخاصة باسماء الحزم واعتماداتها تسمى ال headers أو ال hdlist, وهذه القائمة يجب تحديثها دوريا لكى تظل قادرا على تثبيت أحدث البرامج المتاحة. ثم يمكنك استخدام urpmi وقتما تريد بعد هذه الخطوات.

    كيفية عمل هذه الخطوات كالتالى:

    1. اختار نسخة ال mandriva المثبتة على جهازك واختار نوع المعالج (اذا كنت غير متأكد من نوع معالجك اختار i568).واختر "Show specific sources too" ثم اضغط على "Proceed to step 2"لا حظ أن الحزم, مقسمة الى مجموعات:
      1. main: الجزأ الرئيسى من التوزيعة وهو الموجود فى الإسطوانات لديك لذا غالبا لن تحتاجه
      2. contrib: هذه قام بتحزيمها متطوعين وليست ماندريك,تحتور على الكثير من الحزم المفيدة
      3. updates:التحديثات الرسمية من ماندريفا مثل التحديثات الأمنية وغيرها
      4. jpackage:برامج مكتوبة بالجافا
      5. plf-free &plf-nonfree:الحزم التى تمنع بعض المشاكل القانونية فى بعض الدول توزيعها بصورة رسمية مع التوزيعة ,الكثير من البرامج الحرة قد تقع تحت هذا البند
    2. اختار خادم لكل نوع من أنواع الحزم. لاحظ أن الفرق بين أى خادم واخر لا يتعدى السرعة ( اختر الأقرب لك و قد تحتاج للتجربة لتقرر أيهم أسرع لك). ثم اضغط على "Proceed to Step 3"

    1. ثم تكتب السطور المبتدئة ب urpmi.addmedia التى أخرجها لك الموقع easyurpmi ... كل سطر من هؤلاء يعطى موقع لخادم معين وأماكن الحزم عليه, ويقوم اللينوكس أوتوماتيكيا بتحميل ال hdlist الخاصة به. لاحظ أن هذه الخطوة ستأخذ الكثير من الوقت.. وقد تأخذ وقتا طويلا جدا لمستخدمى خدمة الانترنت عن طريق الهاتف. لذا يمكنك اختيار Use compressed index وهذا سيقلل من الوقت لكنك ستدفع ثمنا لهذا فقدك لكثير من المعلومات عن الحزم (مثل الوصف وقائمة الملفات)
    2. لوضع مصادر محلية للحزم (من القرص الصلب او من القرص المدمجج)

    NAME اسم للمصدر المضاف

    PATH مسار المصدر المضاف الذي يحتوي علي الحزم

    RELATIVE PATH TO HDLIST مسار القائمة الخاصة باسماء الحزم واعتماداتها


    بعد هذه الخطوات أنت جاهز لاستعمال ال urpmi عندما تحتاج.. لاحظ أنك لا بد أن تكون root لكى تتمكن من استعمالها.

    بعض الأوامر الخاصة ب urpmi:

    urpmi package_name
    تحميل وتثبيت البرنامج المذكور
    urpmi --allow-nodeps package_name
    اذا فشلت الإعتماديات يسألك هل يقوم بالتثبيت ويتجاهل ذلك
    urpmi --allow-force package_name
    urpmi --auto package_name
    يختار أى حزم مطلوبىة لتنصيب هذه الحزمة أوتوماتيكيا دون سؤال
    urpmi --wget package_name
    يستخدم wget لتحميل الحزم
    urpmi --resume package_name
    يعيد تحميل حزمة لم يكتمل تحميلها فى مرة سابقة
    urpmi --noclean package_name
    يحتفظ بالحزم التى تم تحميلها فى الـ cache (/var/cache/urpmi) ولا يمسحا بعد التنصيب
    urpmi --auto-select
    يقوم بعمل تحديث (update) لجميع الحزم الموجودة ما عدا ال kerne
    urpmi --auto-orphans
    لازالة الorphan packages
    urpmi kernel-*********
    يقوم بعمل تحديث لل kernel الى النسخة المختارة
    urpmi.update -a
    يقوم باعادة تحميل ال headers لل mirrors التى سبق ضبطها.. مفيد لكى تستطيع أن تحمل البرامج الجديدة ويجب استعماله دوريا كل فترة
    urpmi.update medium_name
    يحدث الوسيط المذكور
    urpmi.removemedia -a
    يقوم بازالة جميع الضبط ل urpmi.. وذلك لكى تستطيع ضبطه من جديد
    urpmi.removemedia medium_name
    يحذف الوسيط المذكور

    يعرض الحزم المتاحة للتحميل للبرنامج المطلوب (-i: يقوم بعرض وصف و معلومات مفيدة عن البرنامج المطلوب)

    من الواجهة الرسومية:

    اذا كنت لا تحب استخدام سطر الأوامر (لماذا !!) فيمكنك القيام بكل هذه المهام عن طريق مركز تحكم ماندريك

    • drakrpm-edit-media
    • gurpmi.addmedia
    • drakrpm
    • gurpmi
    • drakrpm-remove
    • drakrpm-update

    لؤلؤة عربية جديدة تنضم لعقد التوزيعات العربية العريقة

    اتفضلو اعلان توزيعه الاقصي

    وهذا التعريف والتقديم الذى كتبه انترلينوكس ....... السلام عليكم ورحمة الله وبركاته

    لؤلؤة عربية جديدة تنضم لعقد التوزيعات العربية العريقة

    توزيعة الأقصى لم تصدر لتتنافس مع غيرها من التوزيعات العربية الشقيقة مثل أرابيان وجواثا وفيكتارا ( ترتيب أبجدي ) بل صدرت لإثراء مجتمع اللينوكس العربي ولإضافة نكهة جديدة لنظام لينوكس إعتمادا على تركيزها الشديد على الإرتقاء بجمال سطح مكتب نظام التشغيل لينوكس وهذا ما ستتأكدون منه بعد تجربة التوزيعة التي أعتقد أنها ستنال إعجابكم

    شاهد بعض صور التوزيعة هنا

    توزيعة الأقصى 1.3 RC1 مبنية على توزيعة كنوبيكس 4.0.2 الأخيرة

    مميزات توزيعة الأقصى

    كرنيل 2.6.12

    KDE 3.4.1

    حذف طقم أوبن أوفيس 1.4 من التوزيعة وتثبيت النسخة الأخيرة أوبن أوفيس 2 وتضبيطه ليعمل بالخطوط العربية التي تم تركيبها في النظام

    تسريع اقلاع التوزيعة بتقليل الخدمات التي تبدأ مع إقلاع الحاسب وجعلها تبدأ في خلفية سطح المكتب

    تركيب أحدث تعريب لسطح مكتب كيه دي ئي والتوزيعة تعمل للواجهة العربية بصورة إفتراضية

    تحديث ال unionfs بأحدث باتش ولا توجد حاليا أي مشاكل معه

    إضافة الكوديك الخاص win32 لتشغيل كل أنواع ملفات الملتيميديا

    استخدام أحدث إصدارة من libntfs لدعم القراءة والكتابة لأجزاء ntfs ( لم أختبر هذه الخاصية نظرا لعدم وجود أجزاء بهذا التنسيق على جهازي )

    تركيب رقع حديثة للفاير فوكس

    تم تثبيت ماكروميديا فلاش بلاير


    إضافة مجموعة ألعاب ثلاثية الأبعاد مثل سباق سيارات مجسم وسباق البطريق وقتال فضائي ومعركة الدبابات وغيرها من الألعاب الشهيرة البديلة لألعاب الويندوز

    إضافة بعض الخطوط العربية الشهيرة مثل Times New Roman و و Courier New و Arial و Arabic Transparent و Traditional Arabic وغيرها

    وضع رابط على سطح المكتب لبرنامج تثبيت التوزيعة HD Instalوتصميم أيقونة الرابط

    تحسين المظهر العام

    تثبيت kbfx

    تصميم زر لقائمة كيه خاص للتوزيعة وتصميم ملف خلفية الأرضية في البانل وتصميم الصورة الجانبية في قائمة k وتحتوي على شعار التوزيعة

    تركيب ويندوز ديكوريشن مثل الموجود في توزيعة سوس 10 الأخيرة وتصميم شعار للتوزيعة يظهر في الوينوز ديكوريشن بأعلى أي نافذة وهذه الميزة لن تجدها سوى في توزيعة سوس فقط

    بعض التحسينات الطفيفة على مظهر الكنترول سنتر ليناسب المظهر المميز للتوزيعة

    تصميم بوت سبلاش لسطح مكتب كيه دي ئي للتوزيعة مبني على ريدموند انجن بوت سبلاش

    صور للتوزيعة

    بوت سبلاش التوزيعة

    التعرف على الهارد وير

    بوت سبلاش سطح المكتب

    سطح المكتب

    قائمة برامج التوزيعة والألعاب التي فيها

    برامج التحكم وإدارة النظام

    برامج الجرافيك لعرض وتحرير الصور

    برامج طقم أوبن أوفيس 2

    برامج الفيديو والصوت

    برامج الإنترنت والشبكات

    مركز التحكم

    الكتابة بالعربي في التوزيعة وهي تعمل مباشرة من القرص المدمج وترى خط تايمس نيورومان الشهير

    عيوب التوزيعة

    1 عند تشغيلها مباشرة من القرص المدمج لا تستطيع قراءة أسماء الملفات والمجلدات باللغة العربية في أجزاء الويندوز

    2 بعد تثبيت التوزيعة يجب القيام بهاتان الخطوتان لكي تتمكن من قراءة أسماء الملفات العربية في أجزاء الويندوز

    الخطوة الأولى

    إفتح كونسول المستخدم الجذر وإكتب الأمر التالي واضغط مفتاح انتر

    كود: كود: cp /home/aqsa/tmp/environment /etc

    ستظهر لك رسالة استفهام اكتب حرف y ثم اضغط مفتاح انتر

    الخطوة الثانية

    يجب عليك أن تعدل الأسطر أمام أجزاء الويندوز في ملف

    كود: كود: /etc/fstab

    السطر سيكون على سبيل المثال هكذا

    كود: /dev/hda1 /mnt/hda1 vfat noauto,users,exec,umask=000 0 0

    أو بحسب الحال لديك hda2 or hda3 or hda4 or hda5 or hda6 or hda7 إلخ ..

    عدل السطر ليصبح هكذا

    كود: /dev/hda1 /mnt/hda5 vfat noauto,users,exec,umask=0,codepage=864,iocharset=utf8 0 0

    أو بحسب الحال في قرصك الصلب hda2 or hda3 or hda4 or hda5 or hda6 or hda7 إلخ ..

    والآن تستطيع قراءة أسماء الملفات العربية في أجزاء الويندوز

    وأخيراً نظرا لشدة إنشغالي وإذا أردت الحصول على الدعم الفني للتوزيعة إبحث في منتدى التوزيعة الأصلية كنوبيكس لكن باللغة الإنجليزية وإن شاء الله ستجد لديهم حلول لأي مشكلة تواجهك

    أتمنى أن تعجبكم التوزيعة التي حرصت على إعطائها مظهر جذاب ومميز لتشجيعكم على إستخدام نظام لينوكس خاصة أن العديد منكم لازال يعتبر سطح مكتب لينوكس أقل جمالاً من سطح مكتب الويندوز لكن هاهي توزيعة الأقصى تثبت العكس بتميز واجهتها الرسومية ولا أنسى أن أشكر إدارة نبع__ العرب على دعمهم القوي والمميز لنشر العلم والمعرفة بين العرب في شتى المجالات وعلى دعمهم لنظام لينوكس بصفة خاصة ولكرمهم وتطوعهم بإستضافة التوزيعات العربية على سيرفر نبع الخير لكل العرب فجزاهم الله خيراً

    ولا أنسى أن أشكر أخي بوخالد على أنه كان الملهم لي في تحسين مظهر سطح مكتب كيه دي ئي في توزيعة الأقصى بعد أن شاهدت صور توزيعة فيكتارا الجميلة و قمت بالبحث والتنقيب داخل kde_look لأكتشف كنز من الإضافات الرائعة ولا أنسى أن أشكر أخي خالد 1424مطور توزيعة جواثا التي تطورت بشكل ممتاز ولازالت هي وأرابيان وفيكتارا على أجهزة قاعة المحاضرات في شركتي جنبا لجنب مع توزيعات ميبس وفيدورا ومندريفا وسوس ولا أنسى أن توزيعة جواثا قد ألهمتني أن أجعل سطح مكتب التوزيعة الإفتراضي عندما تعمل من القرص المدمج هو 800x600 ولا أنسى أخي العزيز مسلم عادل مطور توزيعة أرابيان التي فتحت الباب لتطوير توزيعات عربية أخرى بسبب كفائتها وتميزها ولا أنسى أن قسوته على معربي التوزيعات هي التي دفعتني لإعتبار توزيعة الأقصى الحالية معربة على إعتبار أن حذف الحزم وتركيبها وإضافة برامج وألعاب وخطوط وكوديك وتركيب حزم لترقية البرامج لا يعتبر تطويرا في التوزيعة

    وفي النهاية أعلم أن الطريق لازال طويلا أمام توزيعة الأقصى التي هي حاليا مجرد نسخة ريماستر remaster لتوزيعة كنوبيكس وإن شاء الله أعدكم بتطويرها وتحسينها لتصبح توزيعة عربية مستقلة

    وفي النهاية أذكركم بأن الدافع لتصنيع توزيعة الأقصى هو إثراء مجتمع اللينوكس العربي بزيادة عدد التوزيعات العربية ولتشجيع الآخرين على المضي قدما في تعلم خفايا وأسرار النظام وبالطبع تعدد التوزيعات العربية هو لصالح المستخدمين العرب أولا وأخيراً علما بأن هذه النسخة تعتبر تعريب لسطح مكتب توزيعة كنوبيكس وإن شاء الله من المستهدف إصدار توزيعة الأقصى كنسخة مطورة وليس معربة كما هو الحال في هذه التوزيعة علما بأن العمل يجري على عدة محاور لتطوير توزيعة ترتكز على تكنلوجيا ديبيان وهذه كانت المحاولة الأولى لإحدى هذه المحاور ( للأسف الشديد أعمل منفرداً ودونما أي مساعدة من الغير سواء عرب أو أجانب علماً بأن محاور تطوير توزيعة الأقصي هي أولاً أناكوندا والبديل هو ديبيان إنستالر في حالة فشل محور أناكوندا وكذلك محور التوزيعات اللايف التي يمكن تثبيتها على القرص الصلب مثل كنوبيكس وكانوتيكس وميبس وندعو الله أن يوفقنا لما فيه الخير أضف لذلك أني أوشكت على الإنتهاء من أول برنامج باللغة العربية لتعليم نظام التشغيل لينوكس وهو مجموعة محاضرات مصورة فيديو من سطح المكتب ومشروحة بالصوت لتركيب التوزيعات وبرامجها وتشبة مجموعة ال CBT أضف لذلك محاولة متواضعة لإنشاء وتصميم موقع عربي مجاني لنظام لينوكس تلبية لطلب الإستاذ المحترم على ناجي الشهير بإسم عرب لينوكس وهو عضو في المنتدى والموقع يحتوي على دروس وأخبار ومقالات تحليلية وإستعراض للتوزيعات ومكتبة برامج وألعاب لينوكس ومجموعة وثائق عربية وأفضل ما في هذا الموقع هو عدم وجود منتديات ( هههههه ) حاليا لازال الموقع على سيرفر مجاني هو WWW.LINUX.BYETHOST11.COM

    وقد قرر الإستاذ على ناجي في حالة إكتمال الموقع التبرع بشراء دومين وتأجير مساحة له لكن للأسف الشديد ليس لدي الوقت الكافي لإستكمال تطوير الموقع )

    أخيرا طريقة تثبيت توزيعة الأقصى هي نفس طريقة تثبيت توزيعة جواثا كا سبق أن شرحتها بالصور وإن شاء الله سأرفع لكم فيلم لطريقة تثبيت التوزيعة

    Author: Hosam Aamer

    رابط تحميل ملف مضغوط يحتوى على صورة الأيزو لتوزيعة الأقصى

    باسوورد لفك الضغط للملف

    . فك ضغط الملف وسجل ملف الابزو علي السيدى رايتر وشغل التوزيعه على الكومبيوتر التوزيعة لايف ممكن تشغلها من سيدي وكمان ممكن تنزلها على جهازك

    اخوكم على ناجي

    نظام تشغيل لينكس

    نبذة عن نظام تشغيل لينكس

    البعض منا لم يسمع من قبل كلمة (لينكس) والبعض الأخر قد يكون سمع عنها ولكنه لا يعرف بالضبط ما هو هذا اللينكس و السبب فى ذللك ان الغالبية العظمى من مستخدمى الحاسبات الشخصية ومنذ سنوات عديدة تستخدم نظام النوافذ ، اللينكس هو نظام تشغيل مثل نظام النوافذ تماما ،و يقوم بنفس الوظيفة التى يقوم بها ،نظام تشغيل بوجه عام يتألف من مجموعة من البرامج التى تجعلنا نتعامل مع واحدات الحاسب مثل الشاشة ووحدات التخزين و الطباعة ،وهى التى تجعل التطبيقات التى تستخدمها على حاسباتنا تتعامل مع هذة الوحدات ، فهى التى تتحكم فى طريقة عما وحدات التخزين لكى تمكن البرامج التى نستخدمها من قراءة البيانات المخزنة بها،وهى التى تصل البيانات التى نريد مشاهدتها الى الشاشة لكى تعرض عليها،أى ان نظام التشغيل هو حلقة الوصل بين التطبقات التى تستخدمها فى نفس الوقت على الحاسب ،الفرق الكبير بين نظام تشغيل نظام النوفذ و نظام ونظام تشغيل اللينكس ان الأول يباع بمبلغ من المال بينما اللينكس نظان مجانى ،ليس هذا فقط با ان نظام اللينكس من نوعية البرامج التى يطلق عليها (مفتوحة المصدر) اى مخططى البرامج يستطيعون ان يعدلوا فى البرامج التى يتكون منها نظام تشغيل اللينكس لكى يجعلوها تنفذ لهم وظائف خاصة،أما نظام النوافذ فهو مغلق المصدر ، أى لا يمكن لأى شخص ان يقوم بتغير أمر واحد من ملايين الأوامر التى يتكون منها النظام،يمكنك بسهولة اذا كان لديك خط انترنت سريع أن تدخل على مواقع عديدة على شبكة الأنترنت ،و تقوم بتنزيل نظام اللينكس وتستخدمة لتشغيل حاسبك الشخصى ،....أما اذا كنت أكثر مهارة ولديك خبرة فى لغات الحاسب الألى ،فيمكنك ان تقوم بتعديل أوامر نظام اللينكس أو اضافة أوامر جديدة لة لكى يناسب تماما طريقة عملك... الأسباب السابقة تدعو الى الارتباك و الحيرة فالنظامان يستخدمان لتشغيل الحاسبات الشخصية و يؤديان نفس الوظيفة أحدهما مجانى و الأخر ندفع فية مبلغا من المال (ليس بقليل) وأيضا أحدهما يغطى لمستخدمه مرونة فى تغيير أوامره لكى يستطيع تنفيذ أى وظيفة جديدة قد يفكر فيها، بينما الأخر ليس به هذة المرونة بل هو مغلق على الأوامر التى قامتالشلركة النتجة بتصميمها

    • لعدة سنوات كان الناس ينظرون الى نظام يونكس على انه نظام التشغيل الأمثل للشبكات فهو يوفر العمود الفقرى لمعظم خدمات الأنترنت المألولفة للك.وعندما أصبحت شبكة الأنترنت (والشبكات عموما)أكثر شيوعا، تزايدت الحاجة ﻷنظمة تشغيل الشبكات . وتمكن المشكلة فى ان الأصدارات التقليدية لنظام يونكس باهظة الثمن. كان البديل اذا هو ظهور نظام تشغيل لينوكس.
    • ونظام تشغيل يعمل بشكل مشابه لنظام يونكس. لقد تم اعداد هذا النظام بواسطة لينوس تروفلدس، كما استمرت عمليه التطوير تحت اشرافه.ويوجد آﻻف من الناس فى كافة أنحاء العالم أشتركوا فى تطوير هذا النظام الذى يختلف عن بقية نظم التشغيل.فالسبب وراء عمل هؤﻻء الناس فى النظام هو مجرد رغبتهم فى ذلك وليس ﻷنهم مكلفون به.وكانت النتيجة نظام تشغيل ناتج عن حب العمل وانتشار المصادر المفتوحه ،وهو مجانى تماما.
    • يتم توزيع نظام لينك جنو العامة،التى تقضى بأن تكون الشفرة المصدر للبرنامج مجانية أيضا.ولكن .....أﻻ توجد شركات تبيع نظام لينوكس؟ بلى،يوجد الكثير.تقوم هذه الشركات بانتاج اصدارات من لينوكس لها العديد من الخواص الاضافية وايضا معها وثائق مطبوعة.ورغم ذلك يمكن الحصول على هذة الاصدارات التجارية مجانا عن طريق الانترنت.
    • وبالأضافة انه مجانيا فان لينوكس نظام تشغيل قوى جدا.فهو يحقق حماية للذاكرة،وتعددالمهام،وايضا يوفر بيئة تعدد المستخدمين بشكل كامل...الخ.وبخلاف نظم التشغيل الأخرى فأن احتياجات لينوكس من معدات الكمبيوتر متواضعة.وأكثر من ذلك ، فهو يعمل على انظمة كثيرة .فقد تم ملأءمة لينوكس للعمل على أنواع كثيرة ومختلفة من المعالجات المركزية، بدءا بمعالج ألفا الى بنتيوم المعالجات باور بى سى .هذا يعنى انة يمكن تشغيل لينوكس على جهاز ماكنتوش أو ديل أو جيتواى.


    Linux Essentials Course

    I would like to propose giving Linux Essentials course if enough number want it. I could give a session once per week for 3-4 hours in Sakit El Sawy or somewhere near down town.


    • Someone to organize with the place.
    • Source of book either softcopy or hardcopy (prefered).

    First Polling period ends

    Eglug elections first polling period ends after 10 days, if minimum number of votes (17) is met elections will end.

    Under Construction Articles Status

    This page is to evaluate and coordinate the under construction articles..

    The status of the wiki page is to be one of (active, inactive, obsolete)

    the tracker (if applicable) is the one who is focusing on a wiki page to update/complete it.. this is not necessery and anyone can participate in any wiki page, it's only something to show who is interested in the page.

    wiki pagestatustracker