<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.linuxquestions.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Evilmrhenry</id>
	<title>LQWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linuxquestions.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Evilmrhenry"/>
	<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/wiki/Special:Contributions/Evilmrhenry"/>
	<updated>2026-04-12T03:39:41Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.0</generator>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Return_to_Castle_Wolfenstein&amp;diff=29275</id>
		<title>Return to Castle Wolfenstein</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Return_to_Castle_Wolfenstein&amp;diff=29275"/>
		<updated>2006-10-04T04:27:06Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: Mac version on Linux&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Return to Castle Wolfenstein''' is an [[FPS]] from Id Software ([[Doom]], [[Quake]]) with single/multi-player capabilities.  Dark game based in WWII times, you are an Army ranger that must first escape from imprisonment in Castle Wolfenstein, and when you report your findings to your authorities, you are assigned to return and help stop the creation of a genetically enhanced army being raised to level the allied armies.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
You need to download a setup binary to create the base RTCW installation.  This will not be a complete install...see the directions in the Install section to complete the installation.  Here are some download locations (note, you may need to download the GOTY edition setup file...see install section for details):&lt;br /&gt;
&lt;br /&gt;
[http://www.3dgamers.com/games/returnwolfenstein/ 3D Gamers]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://ftp.ipgn.com.au/rtcw/linux/ iPGN]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://titaniclinux.net/mirrors/wolf/Linux/ titaniclinux.net]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.sh.nu/download/games/ SH.NU]&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
&lt;br /&gt;
You must have the Retail CD to install RTCW.  There are 2 ways to install it, depending on which CD you purchased.  If you have the GOTY (game of they year) edition, its much easier.  Full directions are at [http://zerowing.idsoftware.com/linux/wolf/INSTALL Id's website]&lt;br /&gt;
&lt;br /&gt;
''Installing from Windows retail CD''&amp;lt;br&amp;gt;&lt;br /&gt;
If you already have it installed in a Windows partition, you will copy some of the files from there to your RTCW folder in Linux.  Otherwise, you can use [http://www.winehq.com Wine] to run setup.exe in Linux and then get the files from that installation directory.&lt;br /&gt;
&lt;br /&gt;
''Installing from GOTY edition''&amp;lt;br&amp;gt;&lt;br /&gt;
Download and run the ''GOTY'' setup file from one of the above links.  After you've installed that, you will need to copy some files off of your CD.  See above install link for the list of files.&lt;br /&gt;
&lt;br /&gt;
''Installing from Mac edition''&amp;lt;br&amp;gt;&lt;br /&gt;
The Mac version of RTCW also works. The installation method from the GOTY edition works, but you will need to mount the disk using the '-t hfs' option, and copy the files from the &amp;quot;Wolfenstein/Main&amp;quot; directory.&lt;br /&gt;
&lt;br /&gt;
You may be interested in buying an [http://www.tuxgames.com/details.cgi?gameref=85&amp;amp;id=250552&amp;amp;nc=1021226295 RTCW installer] from Tux Games.  This will do all the manual work described in the above install document for you.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
&lt;br /&gt;
[http://games.activision.com/games/wolfenstein/ Homepage]&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Ncftp&amp;diff=23333</id>
		<title>Ncftp</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Ncftp&amp;diff=23333"/>
		<updated>2005-07-24T21:22:28Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: ncftp automation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''NcFTP''' is a set of [[FTP]] programs that includes the main, [[CLI]], ftp client program '''ncftp''' and the separate [[CLI]] utilities '''ncftpget''', '''ncftpput''', '''ncftpls''', a batch processing daemon '''ncftpbatch''', and a bookmark manager called '''ncftpbookmarks'''.&lt;br /&gt;
&lt;br /&gt;
NcFTP's ftp client supports tab-completion and command line history.&lt;br /&gt;
&lt;br /&gt;
==Automation==&lt;br /&gt;
&lt;br /&gt;
One of ncftp's strengths is its ability to be automated. For example, to do an upload of pictures from the current directory to a server,&lt;br /&gt;
 ncftpput -u username -p password ftp.server.com www/pictures *.jpg&lt;br /&gt;
This can be placed in a batch file with little difficulty, while the equivalent commands in regular [[FTP]] would be more difficult to script.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
&lt;br /&gt;
*[http://www.ncftpd.com/ NcFTP homepage]&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Lsmod&amp;diff=22983</id>
		<title>Lsmod</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Lsmod&amp;diff=22983"/>
		<updated>2005-07-02T05:24:14Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: slight expansion of arguments&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''lsmod''' is a utility which  '''l'''i'''s'''ts currently loaded '''mod'''ules.&lt;br /&gt;
&lt;br /&gt;
A Linux [[kernel]] can have [[module]]s for drivers or other functionality. To keep the size of the kernel small, the modules will be loaded only when specified and as opposed to built in modules will not bloat the kernel if e.g. the driver modules hardware isn't present.&lt;br /&gt;
&lt;br /&gt;
This program has only two possible arguments: -V (--version) and -h (--help). Their use should be self-explanatory.&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Ulimit&amp;diff=24022</id>
		<title>Ulimit</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Ulimit&amp;diff=24022"/>
		<updated>2005-06-29T02:50:00Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: Added options and examples&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''ulimit''' is a shell [[builtin]] [[command]] used to show and set various restrictions on resource usage for a shell.  Among the limitations that can be set you find, maximum file size, maximum core file size, maximum size of resident memory.  Though the restrictions are shell-independent, the exact syntax depends on what [[shell]] you are running.&lt;br /&gt;
&lt;br /&gt;
It's a good practice to set some of these limitations to prevent for instance a faulty shell script to start unlimited copies of it self or to prevent users on the system to start processes that run forever.&lt;br /&gt;
&lt;br /&gt;
In general, the command ulimit -$ (where $ is some letter) will return the current value of the variable linked with $, while ulimit -$ NUMBER (again, where $ is some letter, and NUMBER is generally an integer, or &amp;quot;unlimited&amp;quot;) will set that variable. Of special note is the -a option, which will display all limits for the system.&lt;br /&gt;
&lt;br /&gt;
The -H and -S options are also special. -H will affect the &amp;quot;hard&amp;quot; limit, which is an absolute limit on a resource. -S &lt;br /&gt;
will affect the &amp;quot;soft&amp;quot; limit. The major difference between the two is that hard limits can only be increased by root. Since the default for options is to affect both hard and soft limits, adding -S to a command will allow returning the variable to the previous value without root access.&lt;br /&gt;
&lt;br /&gt;
Finally, all limits only apply to the thread in which they are set. For systemwide setting of limits, try /etc/security/limits.conf&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
* ulimit -S -c 0 (Set the maximum filesize for core files to 0, as a soft limit. This will prevent [[core dump|core dumps]] from forming, while allowing returning to the previous limit.)&lt;br /&gt;
* ulimit -f (Return the maximum file size.)&lt;br /&gt;
* ulimit -u unlimited (Remove all limits on the number of simultaneous user processes.)&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Core_dump&amp;diff=24927</id>
		<title>Core dump</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Core_dump&amp;diff=24927"/>
		<updated>2005-06-29T02:21:36Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: How to allow core dumps&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Core dump''' is an operation of saving current state of a [[process]] and its memory to a file when the program crashes.&lt;br /&gt;
&lt;br /&gt;
The resulting file, usually called ''core'' can be used by a programmer to find out what happend. Usually a [[debugger]] is used in the process.&lt;br /&gt;
&lt;br /&gt;
In most current Linux distributions creating core files is turned off. To check, or to enable, use the &amp;quot;[[ulimit]] -c&amp;quot; command. For example, ulimit -c 0 will turn off core dumps, while ulimit -c 50000 will allow core dumps (that take up to 25000 KB). Finally, ulimit -c will allow you to view the current value for this variable.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[core]]&lt;br /&gt;
*[[gdb]]&lt;br /&gt;
*[[debuggers]]&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Gaming_via_Wine_or_WineX&amp;diff=18187</id>
		<title>Gaming via Wine or WineX</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Gaming_via_Wine_or_WineX&amp;diff=18187"/>
		<updated>2005-04-30T06:49:35Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: Updated Transgaming database location&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Many Windows games (and applications) can be run in GNU/Linux. This is normally (since there are other Windows [[emulator]]s as well) done with [[Wine]]/[[WineX]]. Wine and WineX are projects that, in a nutshell, try to replace the Windows base so that your Windows apps and games work properly on GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
While Wine is free to use, [http://www.transgaming.com Transgaming] (the company that develops [[WineX]]) does charge a monthly fee ($5 per month, 3 month minimum) for easy-to-install packages and updates. It is possible, though, to use WineX for free, but the process involves downloading and compiling older versions. The advantage is that WineX is more thoroughly tested for games, so you have a much greater chance to play. It is also focused on getting the Direct 3D layer of Windows working on Linux.&lt;br /&gt;
&lt;br /&gt;
== Wine ==&lt;br /&gt;
&lt;br /&gt;
Since there isn't any information here yet, I suggest you go to [http://www.winehq.com WINE's homepage]. There are normally tips and hints on how to make a certain app/game work under GNU/Linux with Wine. Another site to watch is [http://frankscorner.org Frank's Corner]. Frank's Corner provides easy tutorials for the installation and use of common Windows games and apps on Linux.&lt;br /&gt;
&lt;br /&gt;
Since Wine is still in Alpha state (unstable) you should take care to follow the exact instructions you find on how to install each game. Note also that installing new versions (builds) of Wine can make functioning games to stop working. If it ain't broke, don't fix it!&lt;br /&gt;
&lt;br /&gt;
You can find Wine prepackaged and ready to install in most major distributions; if you want newer (or perhaps older) builds, you'll have to [http://www.winehq.org/site/download download] them from the website.&lt;br /&gt;
&lt;br /&gt;
==WineX==&lt;br /&gt;
&lt;br /&gt;
Transgaming maintains a [http://transgaming.org/gamesdb/ database] of the games currently supported, and their actual usability on Linux, varying between 0 (Doesn't install nor work) and 5 (as in Windows). Remember, when you search, to use full names instead of game acronyms (Diablo 2 instead of D2 for instance). Results will link you to pages that have a compatibility rating, screen shots, and a message board for the game you searched for. However, the database is often out of date.&lt;br /&gt;
&lt;br /&gt;
The message board is important, as the compatibility rating is not always accurate. Reading through it can provide a better idea as to the actual compatability.&lt;br /&gt;
&lt;br /&gt;
It's also important to frequently check the TransGaming website (listed above) for WineX as new versions come out regularly that solve older problems. (for example, [http://steampowered.com/ Steam] now works in 3.3).&lt;br /&gt;
&lt;br /&gt;
==Currently supported games==&lt;br /&gt;
&lt;br /&gt;
Games that have been reported to work on [[Wine]]/[[WineX]] include Starcraft, Warcraft III - Reign of Chaos and Warcraft III - The Frozen Throne, GTA 3 - Vice City, Jedi Knight 2 - Jedi Outcast, Half Life and its many modifications, including Counter-Strike, and many more. Note that games coming from [http://www.idsoftware.com ID Software], such as Quake 3 Arena, Return to Castle Wolfenstein and Enemy Territory, run natively on Linux (i.e. without the need for Wine).&lt;br /&gt;
&lt;br /&gt;
==System Requirements==&lt;br /&gt;
&lt;br /&gt;
For 3D games to work on Linux, you must have a supported graphic card with 3D capabilities. At the moment, these include nVIDIA cards (very good drivers) and ATI cards (also good).&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Sed&amp;diff=19447</id>
		<title>Sed</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Sed&amp;diff=19447"/>
		<updated>2005-04-30T06:09:02Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: On second thought, plain * doesn't work. Fixed.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''sed''' ('''s'''tream '''ed'''itor) is an editor used, not interactively on text files (like [[vi]] or [[emacs]]), but on [[stream]]s. This allows it to transform text input from a pipe or the command line or a file (if it is piped to sed or given as an argument to sed).&lt;br /&gt;
&lt;br /&gt;
sed supports [[regular expression]]s which gives it great control over what it can do to the input stream. Common applications of sed include parsing log files, replacing specific words/typos in a stream, and reading [[CSV]] files.&lt;br /&gt;
&lt;br /&gt;
==Substitution==&lt;br /&gt;
&lt;br /&gt;
The Substitute command is quite powerful. In its basic form, it consists of 's/old/new/g', which will replace all occurances of &amp;quot;old&amp;quot; with &amp;quot;new&amp;quot;. Of course, the basic form can be changed significantly.&lt;br /&gt;
&lt;br /&gt;
'''Regular Expressions''': [[Regular Expression]]s allow replacement of patterns instead of strings. sed uses the standard [-]*^ regex syntax. For example, 's/[0-9]*//g' will remove all numbers from the input.&lt;br /&gt;
&lt;br /&gt;
'''Remembering the input''': sed can remember parts of the input pattern, and replace that section in the output file. This is done through the &amp;amp;, \(, \), and \1-9 commands.&lt;br /&gt;
&lt;br /&gt;
The &amp;amp; command, when used in the replacement pattern, is replaced with the input string. For example 's/[^ ]*/&amp;amp;&amp;amp;/g' will double the input. The \( \) commands allow for more precise work; any text between the first \( occurance and the first \) occurance can be placed into the output with \1. The second \( \) pair can be recalled with \2, and so on, up to \9. For example, 's/\([0-9]\)\([0-9]*\)/\2\1/g' will take numbers, and put the first digit of the input on the end of the output.&lt;br /&gt;
&lt;br /&gt;
'''Multiple Substitutions''': Normally, sed can only make one substitution at a time; sed 's/old1/new1/g' 's/old2/new2' will not work. However, the -e option allows multiple commands. Place a &amp;quot;-e&amp;quot; before all commands: sed -e 's/old1/new1/g' -e 's/old2/new2/g'&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
One of the most common uses of &amp;lt;tt&amp;gt;sed&amp;lt;/tt&amp;gt; is to make a quick substitution in a file or data stream.  This is done with the following:&lt;br /&gt;
 $  ''command'' | sed 's/''regexp''/''replacement''/g'&lt;br /&gt;
Here, &amp;lt;tt&amp;gt;''command''&amp;lt;/tt&amp;gt; generates the input data, &amp;lt;tt&amp;gt;''regexp''&amp;lt;/tt&amp;gt; is the text to search for and remove, and &amp;lt;tt&amp;gt;''replacement''&amp;lt;/tt&amp;gt; is the new text to insert.  The &amp;lt;tt&amp;gt;g&amp;lt;/tt&amp;gt; suffix causes &amp;lt;tt&amp;gt;sed&amp;lt;/tt&amp;gt; to make more than one replacement per input line as is usually intended.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- This is the WORST example I could think of for sed, and doesn't follow at all with the above text&lt;br /&gt;
A specific example of this handy use of sed is to rename all files that have the extension .jpg to be files with the extention .jpeg:&lt;br /&gt;
X $ for each in *.jpg; do mv &amp;quot;${each}&amp;quot; &amp;quot;$(echo &amp;quot;${each}&amp;quot; | sed -e &amp;quot;s,\.jpg$,.jpeg,&amp;quot;)&amp;quot;; done&lt;br /&gt;
&lt;br /&gt;
Of course, if regular expressions aren't needed, the [[Bash_tips#Renaming_a_set_of_files|shell can be used]].&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;sed&amp;lt;/tt&amp;gt; is commonly also used as a pre-processing step before handing off to another program. A specific example of this would be to strip out all HTML tags from a file before passing the file to &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt; for the word ''internet''.&lt;br /&gt;
  $ sed 's/&amp;lt;.*&amp;gt;//g' foobar.html | grep internet&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;sed&amp;lt;/tt&amp;gt; also works for text editing tasks. For example, the command&amp;lt;BR&amp;gt;&lt;br /&gt;
  $ sed -e 's/foo \([^ ]*\)/foo(&amp;quot;\1&amp;quot;)/g' -e 's/bar \([0-9]*\) \([^ ]*\)/bar(\1, &amp;quot;\2&amp;quot;)' &amp;lt; inputfile.txt &amp;gt; outputfile.txt&lt;br /&gt;
will search the file &amp;lt;TT&amp;gt;inputfile.txt&amp;lt;/TT&amp;gt; for all strings of the form &amp;lt;tt&amp;gt;foo something&amp;lt;/tt&amp;gt; and replace them with &amp;lt;tt&amp;gt;foo(&amp;quot;something&amp;quot;)&amp;lt;/tt&amp;gt;. It will also search for strings of the form &amp;lt;TT&amp;gt;bar 543543 something&amp;lt;/tt&amp;gt; and replace them with &amp;lt;tt&amp;gt;bar(543543, &amp;quot;something&amp;quot;)&amp;lt;/tt&amp;gt;. It will then output the resulting file to outputfile.txt.&lt;br /&gt;
&lt;br /&gt;
Examining the above command in more detail: the -e flags specify a new expression, allowing more than one replacement rule in the same command. The escaped-parentheses \( and \) tell sed to remember the string that was enclosed. The \1 and \2 commands tell sed to insert a remembered string; numbers 1-9 all work as expected. The [0-9]* and similar commands are just [[Regular Expression]]s.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
&lt;br /&gt;
*[http://man.linuxquestions.org/index.php?query=sed&amp;amp;section=0&amp;amp;type=2 sed man page]&lt;br /&gt;
*[http://www.gnu.org/software/sed/manual/sed.html GNU sed online manual]&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Sed&amp;diff=15905</id>
		<title>Sed</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Sed&amp;diff=15905"/>
		<updated>2005-04-30T05:00:06Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: Added more examples/doc on the substitute command&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''sed''' ('''s'''tream '''ed'''itor) is an editor used, not interactively on text files (like [[vi]] or [[emacs]]), but on [[stream]]s. This allows it to transform text input from a pipe or the command line or a file (if it is piped to sed or given as an argument to sed).&lt;br /&gt;
&lt;br /&gt;
sed supports [[regular expression]]s which gives it great control over what it can do to the input stream. Common applications of sed include parsing log files, replacing specific words/typos in a stream, and reading [[CSV]] files.&lt;br /&gt;
&lt;br /&gt;
==Substitution==&lt;br /&gt;
&lt;br /&gt;
The Substitute command is quite powerful. In its basic form, it consists of 's/old/new/g', which will replace all occurances of &amp;quot;old&amp;quot; with &amp;quot;new&amp;quot;. Of course, the basic form can be changed significantly.&lt;br /&gt;
&lt;br /&gt;
'''Regular Expressions''': [[Regular Expression]]s allow replacement of patterns instead of strings. sed uses the standard [-]*^ regex syntax. For example, 's/[0-9]*//g' will remove all numbers from the input.&lt;br /&gt;
&lt;br /&gt;
'''Remembering the input''': sed can remember parts of the input pattern, and replace that section in the output file. This is done through the &amp;amp;, \(, \), and \1-9 commands.&lt;br /&gt;
&lt;br /&gt;
The &amp;amp; command, when used in the replacement pattern, is replaced with the input string. For example 's/*/&amp;amp;&amp;amp;/g' will double the input. The \( \) commands allow for more precise work; any text between the first \( occurance and the first \) occurance can be placed into the output with \1. The second \( \) pair can be recalled with \2, and so on, up to \9. For example, 's/\([0-9]\)\([0-9]*\)/\2\1/g' will take numbers, and put the first digit of the input on the end of the output.&lt;br /&gt;
&lt;br /&gt;
'''Multiple Substitutions''': Normally, sed can only make one substitution at a time; sed 's/old1/new1/g' 's/old2/new2' will not work. However, the -e option allows multiple commands. Place a &amp;quot;-e&amp;quot; before all commands: sed -e 's/old1/new1/g' -e 's/old2/new2/g'&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
One of the most common uses of &amp;lt;tt&amp;gt;sed&amp;lt;/tt&amp;gt; is to make a quick substitution in a file or data stream.  This is done with the following:&lt;br /&gt;
 $  ''command'' | sed 's/''regexp''/''replacement''/g'&lt;br /&gt;
Here, &amp;lt;tt&amp;gt;''command''&amp;lt;/tt&amp;gt; generates the input data, &amp;lt;tt&amp;gt;''regexp''&amp;lt;/tt&amp;gt; is the text to search for and remove, and &amp;lt;tt&amp;gt;''replacement''&amp;lt;/tt&amp;gt; is the new text to insert.  The &amp;lt;tt&amp;gt;g&amp;lt;/tt&amp;gt; suffix causes &amp;lt;tt&amp;gt;sed&amp;lt;/tt&amp;gt; to make more than one replacement per input line as is usually intended.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- This is the WORST example I could think of for sed, and doesn't follow at all with the above text&lt;br /&gt;
A specific example of this handy use of sed is to rename all files that have the extension .jpg to be files with the extention .jpeg:&lt;br /&gt;
X $ for each in *.jpg; do mv &amp;quot;${each}&amp;quot; &amp;quot;$(echo &amp;quot;${each}&amp;quot; | sed -e &amp;quot;s,\.jpg$,.jpeg,&amp;quot;)&amp;quot;; done&lt;br /&gt;
&lt;br /&gt;
Of course, if regular expressions aren't needed, the [[Bash_tips#Renaming_a_set_of_files|shell can be used]].&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;sed&amp;lt;/tt&amp;gt; is commonly also used as a pre-processing step before handing off to another program. A specific example of this would be to strip out all HTML tags from a file before passing the file to &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt; for the word ''internet''.&lt;br /&gt;
  $ sed 's/&amp;lt;.*&amp;gt;//g' foobar.html | grep internet&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;sed&amp;lt;/tt&amp;gt; also works for text editing tasks. For example, the command&amp;lt;BR&amp;gt;&lt;br /&gt;
  $ sed -e 's/foo \(*\)/foo(&amp;quot;\1&amp;quot;)/g' -e 's/bar \([0-9]*\) \(*\)/bar(\1, &amp;quot;\2&amp;quot;)' &amp;lt; inputfile.txt &amp;gt; outputfile.txt&lt;br /&gt;
will search the file &amp;lt;TT&amp;gt;inputfile.txt&amp;lt;/TT&amp;gt; for all strings of the form &amp;lt;tt&amp;gt;foo something&amp;lt;/tt&amp;gt; and replace them with &amp;lt;tt&amp;gt;foo(&amp;quot;something&amp;quot;)&amp;lt;/tt&amp;gt;. It will also search for strings of the form &amp;lt;TT&amp;gt;bar 543543 something&amp;lt;/tt&amp;gt; and replace them with &amp;lt;tt&amp;gt;bar(543543, &amp;quot;something&amp;quot;)&amp;lt;/tt&amp;gt;. It will then output the resulting file to outputfile.txt.&lt;br /&gt;
&lt;br /&gt;
Examining the above command in more detail: the -e flags specify a new expression, allowing more than one replacement rule in the same command. The escaped-parentheses \( and \) tell sed to remember the string that was enclosed. The \1 and \2 commands tell sed to insert a remembered string; numbers 1-9 all work as expected. The [0-9]* and similar commands are just [[Regular Expression]]s.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
&lt;br /&gt;
*[http://man.linuxquestions.org/index.php?query=sed&amp;amp;section=0&amp;amp;type=2 sed man page]&lt;br /&gt;
*[http://www.gnu.org/software/sed/manual/sed.html GNU sed online manual]&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Regular_expression&amp;diff=18797</id>
		<title>Regular expression</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Regular_expression&amp;diff=18797"/>
		<updated>2005-04-30T04:21:05Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: Added Lazy quantifiers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Regular expressions''', also known as &amp;quot;patterns&amp;quot; or simply &amp;quot;regexes&amp;quot; are a notation of describing sets of strings. They are used in many facets of the Unix environment.&lt;br /&gt;
&lt;br /&gt;
Invented by mathematician Stephen Cole Kleene in the mid-1950s as a way to manipulate &amp;quot;regular sets&amp;quot;, they are formal descriptions of the behaviour of finite state machines, in regular algebra.&lt;br /&gt;
&lt;br /&gt;
Later adopted by computer science as a way of representing patterns with a combination of symbols and operators.&lt;br /&gt;
&lt;br /&gt;
There are many differing &amp;quot;flavors&amp;quot; of regular expressions, though they all fall into one of three primary types of regular expression engines:&lt;br /&gt;
*[[DFA]] - ''Deterministic Finite Automaton''  (used by such things as [[awk]], [[egrep]], and [[lex]])&lt;br /&gt;
*[[NFA]] - ''Nondeterministic Finite Automaton''(used by such things as [[Perl]], [[Python]], and [[Tcl]])&lt;br /&gt;
*POSIX NFA&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Irrespective of syntax, the following features are in all widely-used regex engines:&lt;br /&gt;
*The ability to match any one of a given set of subexpressions, eg &amp;quot;match Tom '''or''' Dick '''or''' Harry&amp;quot;&lt;br /&gt;
**The ability to match any one of a group of characters, eg &amp;quot;match '''any one of''' a, e, i, o and u&amp;quot;&lt;br /&gt;
***Within such a group, the ability to include ranges of characters, eg &amp;quot;match '''any one of''' the characters a through f inclusive&amp;quot;&lt;br /&gt;
***The ability to invert those groups so that only characters not included may match, eg &amp;quot;match '''any character other than''' z&amp;quot;&lt;br /&gt;
***The ability to match any character that is not a newline (or less frequently, any character at all; some syntaxes provide allowance for both)&lt;br /&gt;
***The ability to match any character in a certain character class, and inverted instances of each class&lt;br /&gt;
****A character class consisting of letters&lt;br /&gt;
****A character class consisting of digits&lt;br /&gt;
****A character class consisting of whitespace (spaces, tabstops, linefeeds, etc)&lt;br /&gt;
****A character class consisting of &amp;quot;word characters&amp;quot; (usually letters, digits and the underscore)&lt;br /&gt;
*The ability to match a certain subexpression a variable number of times, eg &amp;quot;match Tom '''at least''' twice&amp;quot; or &amp;quot;match Dick '''between''' three and seven times&amp;quot;&lt;br /&gt;
**The ability to make a given subexpression match optionally&lt;br /&gt;
**The ability to make a given subexpression match zero or more times&lt;br /&gt;
**The ability to make a given subexpression match one or more times&lt;br /&gt;
*The ability to store a matched subexpression and match it again later, eg &amp;quot;match Tom '''or''' Dick '''followed by''' Harry '''followed by''' whoever was originally matched&amp;quot;&lt;br /&gt;
*The ability to make &amp;quot;zero-width&amp;quot; matches; adding these to a regex which matches strings in group ''x'' will narrow it down to strings in group ''y'', ''y'' being a subset (possibly containing the entiriety) of ''x'', but will not change (except possibly by narrwing down) the matched portions of any of these strings.&lt;br /&gt;
**The ability to make these matches at the beginning or end of a string&lt;br /&gt;
**The ability to make these matches at the beginning or end of a line&lt;br /&gt;
**The ability to make these matches at the boundry between a &amp;quot;word&amp;quot; and a &amp;quot;non-word&amp;quot; character&lt;br /&gt;
&lt;br /&gt;
==Literals &amp;amp; Meta Characters==&lt;br /&gt;
Regular expressions, often called patterns, are mainly built up using a combination of literals and meta characters. Let's take it from an example:&lt;br /&gt;
*grep -e 'Linux' somedoc&lt;br /&gt;
Grep uses regular expressions to search documents for matches to the regular expression. The command above would search the file somedoc for lines containing the characters Linux in that order and print them on the screen. All characters in that pattern are literals, taken literally.&lt;br /&gt;
*grep -e '.inux' somedoc&lt;br /&gt;
The dot (.) in this pattern is a meta character meaning any character (except new line). This would search the same file for lines with the characters inux that are preceded by any character, for example would it match Linux as well as linux or tinux.&lt;br /&gt;
&lt;br /&gt;
Most characters are taken as literals, and include letter, numbers and space. In certain syntaxes, such as that of grep, this is true even of most metacharacters - they are taken as literals unless they are [[Escaping|escaped]], traditionally with a backslash. In others, such as that of egrep, the meta form of a character is the default, and escaping turns it into a literal.&lt;br /&gt;
&lt;br /&gt;
==Common syntax==&lt;br /&gt;
This is the most common syntax for expressions, defined by the [[POSIX]] 1003.2 standard and adopted by just about everything that uses them. There are many differences, such as whether or not certain metacharacters need escaping or not, and extra features have been added, but regexes written for one program in this syntax will be mostly portable to another program.&lt;br /&gt;
&lt;br /&gt;
===Branches===&lt;br /&gt;
A pattern will match if one or more of its branches does. A branch consists of several pieces which match next to each other. They are usually separated with the metacharacter |.&lt;br /&gt;
&lt;br /&gt;
===Pieces===&lt;br /&gt;
A piece is merely an atom, optionally followed by a quantifier. It matches if the atom matches as many times as required by the quantifier, or once if there is no quantifier.&lt;br /&gt;
&lt;br /&gt;
===Atoms===&lt;br /&gt;
An atom is simply anything that will match on its own, and will match if it is there. Atoms include:&lt;br /&gt;
*Any character that is not a metacharacter, including metacharacters that match literally by means of escaping (or lack thereof)&lt;br /&gt;
*The . (period) character, to match any character that is not a newline&lt;br /&gt;
*^ or $, to match the null string at the beginning and end of a string, respectively (sometimes they also or only match at the beginning and end of a line, rather than a string; often however, the distinction is meaningless as witth programs such as grep which only operate on entire lines)&lt;br /&gt;
*Bracket expressions&lt;br /&gt;
*Subexpresions, which are patterns in their own right and as such can contain branchs, pieces, atoms and quantifiers of their own.&lt;br /&gt;
&lt;br /&gt;
===Quantifiers===&lt;br /&gt;
Quantifiers provide us with a possibility to match a certain number of the previous character or meta character. Some of the most common quantifiers are:&lt;br /&gt;
* * Match 0 or more times&lt;br /&gt;
*+ Match 1 or more times&lt;br /&gt;
*? Match 1 or 0 times&lt;br /&gt;
The pattern ''Li*nux'' would match any number of i like the following, Lnux Linux Liiiiinux. If we exchange the * for a + Lnux wouldn't be matched.&lt;br /&gt;
&lt;br /&gt;
There are also quantifiers for telling the exact number of times to match or a range.&lt;br /&gt;
*{n} Match exactly ''n'' times&lt;br /&gt;
*{n,} Match at least ''n'' times&lt;br /&gt;
*{x,y} Match at least ''x'' times, but no more than ''y'' times&lt;br /&gt;
Often the braces will not be metacharacters by default, requiring \{n\}, \{n,\}, etc. Less often, this will only apply to the opening brace, allowing just \{n}, \{n,}, etc.&lt;br /&gt;
&lt;br /&gt;
===Bracket expressions===&lt;br /&gt;
So called because they reside within [ and ], any character between them will match. They can be inverted by placing a caret (^) as the first character. Ranges can be specified using hyphens: [a-d] means the same as [abcd]. Character classes can be specified inside them with another set of bracket enclosing colons and the name of the class: ''[:classname:]''. Class names include ''alnum'' (the same as ''a-zA-Z0-9'') and ''digit'' (the same as ''0-9'').&lt;br /&gt;
&lt;br /&gt;
===Subexpressions===&lt;br /&gt;
Surrounded with \( and \) (this is the only instance in which the POSIX standard calls for a metacharacter to be literal by default), these are full patterns in their own right, but treated as atoms by the including pttern. As such, any pattern can be parenthesised and optionally followed by a quantifier to become a piece, which can be included in a branch, which can be part of its own subexpression, ad infinitum.&lt;br /&gt;
&lt;br /&gt;
==Backtracking==&lt;br /&gt;
[more]&lt;br /&gt;
&lt;br /&gt;
==Backreferences==&lt;br /&gt;
One of the more useful constructs is grouping and back referencing which let us group and reuse matches. Backreferencing comes extra handy when doing substitutions where we can use the matched part in the substitution string.&lt;br /&gt;
&lt;br /&gt;
Grouping can be done with or without capturing. When using capturing the matched text are saved for later use, called backreferencing. The use of non-capturing grouping is useful when you want to use alternation, as in the pattern (apple|banana) for matching ''apple'' or ''banana''.&lt;br /&gt;
*( ) Group the text without capturing&lt;br /&gt;
*\( \) Group the text and capture the result&lt;br /&gt;
&lt;br /&gt;
Let's use [[sed]] as an example:&lt;br /&gt;
*sed -e 's/\(Linus\)/\1 Torvalds/g' somedoc.txt&lt;br /&gt;
The substitution command to sed has the syntax, ''s/text to replace/text to insert instead/options''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This substitution above searches the somedoc.txt for occurrences of ''Linus'' and puts every match in memory. It replaces it with the first match (\1) and adds a space plus the text ''Torvalds''.&lt;br /&gt;
&lt;br /&gt;
==Greedy==&lt;br /&gt;
Standard quantifiers as those described above are greedy, they try to match as many times as possible. The pattern (an)+ would match ''anan'' in the word ''banana''. The greedy quantifiers will only give up matches (called [[#Backtracking|backtracking]]) when it's needed to find an overall match to the pattern.&lt;br /&gt;
&lt;br /&gt;
==Lazy==&lt;br /&gt;
Lazy quantifiers are basically the opposite of greedy quantifiers; they match as few times as possible, only taking extra matches when needed to match an overall pattern.&lt;br /&gt;
&lt;br /&gt;
==Positive/Negative lookahead==&lt;br /&gt;
[more]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*http://www.regular-expressions.info/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{msg:stub}}&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Sox&amp;diff=23844</id>
		<title>Sox</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Sox&amp;diff=23844"/>
		<updated>2004-12-21T01:41:16Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: fixed spelling: although&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''sox''' is a powerful sound sample converter capable of converting between well over 20 different formats. They include .8svx, .aiff, .au, .avr, .cdr, .cvs, .dat, .gsm, .hcom, .maud, .mp3, .nul, .ogg, ossdsp, .prc, .sf, .sph, .smp, .snd, .sndt, sunau, .txw, .vms, .voc, .vox, .wav, .wve, and .raw, (From sox -h) so the conversion you need should be in there.&lt;br /&gt;
&lt;br /&gt;
Used in its most simple form, sox can be used as &amp;amp;quot;sox input.wav output.ogg&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sox can also perform some effects, such as fade-in/out, or tasks like turning up/down the volume, or resampling the audio&lt;br /&gt;
&lt;br /&gt;
usage: ''sox OPTIONS input OPTIONS output EFFECTS''&lt;br /&gt;
&lt;br /&gt;
sox is rather picky about that order, effects/filters are at the end, the options are declared 2 times, one for the input data, and the other for the output, although the output can inherit the input options, such as the sample rate, number of channels, etc&lt;br /&gt;
&lt;br /&gt;
read sox's [[man]] page for full info on what it can do, and be sure to read carefully, its not exactly the easiest to understand man page.&lt;br /&gt;
{{msg:stub}}&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Usleep&amp;diff=21942</id>
		<title>Usleep</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Usleep&amp;diff=21942"/>
		<updated>2004-12-15T03:12:15Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: closed tag, added space&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''usleep''' suspends execution for microsecond intervals.&lt;br /&gt;
&lt;br /&gt;
wait for 1 microsecond:&amp;lt;br&amp;gt;&lt;br /&gt;
 $ usleep 1&lt;br /&gt;
&lt;br /&gt;
wait for 1000 microseconds, which is 1 milli second:&amp;lt;br&amp;gt;&lt;br /&gt;
 $ usleep 1000&lt;br /&gt;
&lt;br /&gt;
wait for 1 million microseconds, which is 1 second:&amp;lt;br&amp;gt;&lt;br /&gt;
 $ usleep 1000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;sleep 1&amp;lt;/tt&amp;gt;  is equivalent to &amp;lt;tt&amp;gt;usleep 1000000&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BUGS : Probably  not accurate on many machines down to the microsecond.  Count on precision only to -4 or maybe -5.&lt;br /&gt;
&lt;br /&gt;
If you have a fast PC like a 2 GHz P4 or AMD, the accuracy is ok.&lt;br /&gt;
&lt;br /&gt;
==Also see==&lt;br /&gt;
*[[sleep]]&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Dir&amp;diff=25360</id>
		<title>Dir</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Dir&amp;diff=25360"/>
		<updated>2004-12-15T03:04:57Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: created&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The dir command will display the contents of the current [[directory]]. It is equivalent to &amp;quot;[[ls]] -C -b&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Zipsplit&amp;diff=15720</id>
		<title>Zipsplit</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Zipsplit&amp;diff=15720"/>
		<updated>2004-12-15T02:39:46Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: changed formatting from html to wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''zipsplit''' [options] [-n size] [-r room] [-b path] &amp;lt;i&amp;gt;zipfile&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Split a zip file into multiple zip files.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Size&amp;quot; must be larger than the largest compressed file.&lt;br /&gt;
&lt;br /&gt;
==OPTIONS==&lt;br /&gt;
&lt;br /&gt;
*'''-t''': tell how many files would be used, but don't create them&lt;br /&gt;
*'''-i''': create index (zipsplit.idx), count size against first zip file&lt;br /&gt;
*'''-n''': maximum zip file size (default = 36000 bytes)&lt;br /&gt;
*'''-r''': leave room for so many bytes on the first disk (default = 0)&lt;br /&gt;
*'''-b''': path for output zip files&lt;br /&gt;
*'''-p''': pause between output zip files&lt;br /&gt;
*'''-s''': output zip files in sequence, even if it's not optimal&lt;br /&gt;
&lt;br /&gt;
==Examples:==&lt;br /&gt;
&lt;br /&gt;
''See how many zip files it would be, if split into 100,000 bytes each.''&lt;br /&gt;
&lt;br /&gt;
zipsplit -tn 100000 blah.zip&lt;br /&gt;
&lt;br /&gt;
''Perform the split.''&lt;br /&gt;
&lt;br /&gt;
zipsplit -n 100000 blah.zip&lt;br /&gt;
&lt;br /&gt;
==See also:==&lt;br /&gt;
* [[zip]]&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Exit&amp;diff=25043</id>
		<title>Exit</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Exit&amp;diff=25043"/>
		<updated>2004-12-15T02:34:48Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: Added use with su&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Exit''' is a built in command for some [[shell]]s, specifically [[bash]].&lt;br /&gt;
&lt;br /&gt;
It causes the shell to exit with a error code that is optionally given to it as a argument.&lt;br /&gt;
&lt;br /&gt;
This command is quite useful when coupled with [[su]]. After switching to another user, the exit command will exit out of that shell, returning to the previous user. &lt;br /&gt;
&lt;br /&gt;
Typing '''help exit''' in a [[terminal]] will give more info on the command.&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Whoami&amp;diff=14238</id>
		<title>Whoami</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Whoami&amp;diff=14238"/>
		<updated>2004-12-15T02:30:14Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: simple &amp;gt; simply&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[command]] '''whoami''' simply outputs the username of the currently logged in user. For example:&lt;br /&gt;
&lt;br /&gt;
 [JRHacker@localhost /]$ whoami&lt;br /&gt;
 JRHacker&lt;br /&gt;
&lt;br /&gt;
The object of this for human use is quite easily defeated by the fact that most shells display the username in the prompt (as shown above in the [[Bash]] example) but can be used by applications to retrieve the current username through [[piping]].&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Ping&amp;diff=20668</id>
		<title>Ping</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Ping&amp;diff=20668"/>
		<updated>2004-12-15T02:29:11Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: Added examples, and means of stopping ping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Ping''' is a [[network]] troubleshooting tool that sends [[ICMP]] echo requests that is used for testing connectivity between [[node]]s. It, of course, is named after sonar pings that a submarine uses to detect other ships. It is sometimes said to stand for '''P'''acket '''IN'''ternet '''G'''roper, but this is a [[backronym]].&lt;br /&gt;
&lt;br /&gt;
One difference between the MS-DOS/Windows version of this tool and the Linux version is that, by default, the DOS version quits after 4 pings, the Linux version keeps pinging indefinitely. (Stop it with Ctrl C, or run it with the -c 4 option to stop after 4 pings.)&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
* ping 127.0.0.1&lt;br /&gt;
** Pings your local machine.&lt;br /&gt;
** This should work, even with no internet connection.&lt;br /&gt;
&lt;br /&gt;
* ping www.google.com&lt;br /&gt;
** Pings Google.&lt;br /&gt;
** Note that ping can accept IP addresses or domain names.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[traceroute]]&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Renice&amp;diff=23843</id>
		<title>Renice</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Renice&amp;diff=23843"/>
		<updated>2004-10-22T19:39:57Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: details, permissions, and examples.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''renice''' is a [[command]] used to change the [[priority]] of running processes.&lt;br /&gt;
&lt;br /&gt;
renice can be used to change the priority of a single [[process]] or a whole process group. It can also change priority for processes owned by a given user or group.&lt;br /&gt;
&lt;br /&gt;
Note, however, that the nice value of a process is not the priority. a nice value of -5 means the process gets priority over processes with greater nice values, such as +5. The allowable nice values usually run from 20 to -20, with 0 being the default.&lt;br /&gt;
&lt;br /&gt;
When renicing processes, [[permissions]] are taken into account. If you do not own the process, you cannot renice it. Also, even for processes you do own, it is still not possible to increase the priority beyond a system-specific level. (Usually 0) Both of these restrictions are ignored by the [[superuser]].&lt;br /&gt;
&lt;br /&gt;
Example renice commands: (Assumes apropriate permissions.)&lt;br /&gt;
* renice -2 -p 17055 (Sets the process with the [[PID]] of 17055 to a nice value of -2)&lt;br /&gt;
* renice 10 -u user_name (Sets all processes owned by user_name to a nice value of 10, decreasing the priority.)&lt;br /&gt;
 &lt;br /&gt;
----&lt;br /&gt;
renice is also a system library call, which programmers can use to change the prority of a process.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[nice]]&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Sox&amp;diff=14002</id>
		<title>Sox</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Sox&amp;diff=14002"/>
		<updated>2004-10-22T18:04:13Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: Listed file formats, added example.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''sox''' is a powerful sound sample converter capable of converting between well over 20 different formats. They include .8svx, .aiff, .au, .avr, .cdr, .cvs, .dat, .gsm, .hcom, .maud, .mp3, .nul, .ogg, ossdsp, .prc, .sf, .sph, .smp, .snd, .sndt, sunau, .txw, .vms, .voc, .vox, .wav, .wve, and .raw, (From sox -h) so the conversion you need should be in there.&lt;br /&gt;
&lt;br /&gt;
Used in its most simple form, sox can be used as &amp;quot;sox input.wav output.ogg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{msg:stub}}&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Command_options&amp;diff=14457</id>
		<title>Command options</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Command_options&amp;diff=14457"/>
		<updated>2004-10-22T17:49:35Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: Added -- option.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Command-line options ('''Command options''' or flags) are parameters given to a [[command line]] program to alter the way it runs.  One of the most familiar examples of their usage is &amp;lt;tt&amp;gt;ls -l&amp;lt;/tt&amp;gt;, where ''-l'' is a flag telling &amp;lt;tt&amp;gt;ls&amp;lt;/tt&amp;gt; to use the command's &amp;quot;long&amp;quot; format.&lt;br /&gt;
&lt;br /&gt;
==Types of Options==&lt;br /&gt;
&lt;br /&gt;
* The simplest options are single-letter flags like the &amp;lt;tt&amp;gt;-l&amp;lt;/tt&amp;gt; above.  They can be combined into a single word, like &amp;lt;tt&amp;gt;ls -la&amp;lt;/tt&amp;gt; to use the '''l'''ong format and list '''a'''ll files.&lt;br /&gt;
&lt;br /&gt;
* Some command options take arguments.  Then the program knows not only that the option was given, but also gets some additional information.  An example is &amp;lt;tt&amp;gt;ssh -l myname myhost.myisp.com&amp;lt;/tt&amp;gt;, where the &amp;lt;tt&amp;gt;-l&amp;lt;/tt&amp;gt; option is given the parameter &amp;lt;tt&amp;gt;myname&amp;lt;/tt&amp;gt; to tell [[ssh]] what username to use when connecting.  These options can be combined with the first type, though they must be the last option in the word, like &amp;lt;tt&amp;gt;ssh -Xl myname myhost.myisp.com&amp;lt;/tt&amp;gt;, where the &amp;lt;tt&amp;gt;X&amp;lt;/tt&amp;gt; tells ssh to try to forward X connections, and the &amp;lt;tt&amp;gt;l&amp;lt;/tt&amp;gt; is the same as before.&lt;br /&gt;
&lt;br /&gt;
* long options of the X type use a single &amp;lt;tt&amp;gt;-&amp;lt;/tt&amp;gt; and consist of more than one letter.  They can take arguments or not.  For example, &amp;lt;tt&amp;gt;emacs -geometry +0-0&amp;lt;/tt&amp;gt; uses the &amp;lt;tt&amp;gt;geometry&amp;lt;/tt&amp;gt; option to tell [[emacs]] to place itself in the corner of the screen.&lt;br /&gt;
&lt;br /&gt;
* long options of the GNU type use the double &amp;lt;tt&amp;gt;--&amp;lt;/tt&amp;gt;.  &amp;lt;tt&amp;gt;ls --all&amp;lt;/tt&amp;gt; is the same as &amp;lt;tt&amp;gt;ls -a&amp;lt;/tt&amp;gt;.  Long and single-letter arguments can be mixed on the same commandline, but not in the same word.  Long options of this type that take arguments sometimes use an equals sign instead of a space to separate the option name from its argument.&lt;br /&gt;
&lt;br /&gt;
* When running a program on a data file that may be mistaken for an option, the -- option can be helpful. This option shows that the option listing is over, and the next input will be a datafile. (Example: rm -- -f would delete the file &amp;quot;-f&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==How to write programs that take options==&lt;br /&gt;
&lt;br /&gt;
* [[C]] programs can use the &amp;lt;tt&amp;gt;getopt()&amp;lt;/tt&amp;gt; function to interpret single-letter command options.  &amp;lt;tt&amp;gt;getopt_long()&amp;lt;/tt&amp;gt; finds long options with '&amp;lt;tt&amp;gt;--&amp;lt;/tt&amp;gt;' before them, while &amp;lt;tt&amp;gt;getopt_long_only()&amp;lt;/tt&amp;gt; can find long options with either '&amp;lt;tt&amp;gt;--&amp;lt;/tt&amp;gt;' or '&amp;lt;tt&amp;gt;-&amp;lt;/tt&amp;gt;'.  All of these are described in the getopt() man page (see External links below).&lt;br /&gt;
* [[Shell scripts]] can use the &amp;lt;tt&amp;gt;getopt&amp;lt;/tt&amp;gt; program.&lt;br /&gt;
* [[bash]] scripts can use the &amp;lt;tt&amp;gt;getopts&amp;lt;/tt&amp;gt; [[builtin]] command.&lt;br /&gt;
* [[Perl]] scripts can use the Getopt::Std or Getopt::Long module.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
&lt;br /&gt;
* [http://man.linuxquestions.org/index.php?query=getopt&amp;amp;section=1&amp;amp;type=2 getopt man page] - for shell scripts (including bash)&lt;br /&gt;
* [http://man.linuxquestions.org/index.php?query=getopt&amp;amp;section=3&amp;amp;type=2 getopt() man page] - for C programs&lt;br /&gt;
* [http://man.linuxquestions.org/index.php?query=bash&amp;amp;section=0&amp;amp;type=2 bash man page] - for bash scripts&lt;br /&gt;
* [http://man.linuxquestions.org/index.php?query=Getopt%3A%3ALong&amp;amp;section=0&amp;amp;type=2 Getopt::Long] and [http://man.linuxquestions.org/index.php?query=Getopt%3A%3AStd&amp;amp;section=0&amp;amp;type=2 Getopt::Std] - for perl&lt;br /&gt;
&lt;br /&gt;
:''This section is a [[LQWiki:stub articles|stub]] and needs to be finished. [[LQWiki:plunging forward|plunge forward]] and [[LQWiki:How to edit a page|help it grow]]!''&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Roguelikes&amp;diff=7970</id>
		<title>Roguelikes</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Roguelikes&amp;diff=7970"/>
		<updated>2004-03-18T04:12:16Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: death in rougelikes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Roguelikes''' refers to a genre of [[Gaming|games]] which are similar to the classic computer game '''Rogue'''. These [[role playing games]] are usually formed on a fantasy or sci-fi backdrop, and present the player with a randomly generated dungeon. The dungeon in these games is furthermore represented as an [[ASCII]]-based map, typically with an '''@''' representing the player, '''#''' or equivalent characters for walls, '''^''' representing traps, and various colored letters representing different monsters. Some roguelikes have graphical interfaces available, although die-hard players prefer the [[ASCII]] symbols. A major feature of roguelikes is that death is permanent. Once the character dies, the game will need to be restarted from the beginning. This creates a focus on playing defensively, trying to survive instead of trying to win.&lt;br /&gt;
&lt;br /&gt;
== List of roguelikes ==&lt;br /&gt;
&amp;lt;!-- let's keep this alphabetical, please --&amp;gt;&lt;br /&gt;
The following roguelikes are available for Linux-based systems.&lt;br /&gt;
* [[ADoM]] (Ancient Domains of Mystery)&lt;br /&gt;
* [[Angband]] (with approximately 50 variants)&lt;br /&gt;
** [[ToME]]&lt;br /&gt;
* [[Avanor]]&lt;br /&gt;
* [[Fargoal]]&lt;br /&gt;
* [[IVAN]]&lt;br /&gt;
* [[Moria]]&lt;br /&gt;
* [[Nethack]]&lt;br /&gt;
** [[Slash'EM]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Roguelike Roguelike] (Wikipedia article)&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=C/C_plus_plus_tips&amp;diff=3927</id>
		<title>C/C plus plus tips</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=C/C_plus_plus_tips&amp;diff=3927"/>
		<updated>2004-03-10T07:48:53Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: quicksort&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
&lt;br /&gt;
In a nutshell,..&lt;br /&gt;
&lt;br /&gt;
C is ubiquitous on GNU/Linux and UNIX. Back in frontier times, when computer scientists programmed mostly in [[assembly]], C was considered a high-level language. Nowadays, most folks think of C as a low-level language, and comparatively few people (except compiler writers, OS kernel authors, and their ilk) use assembly language. C is a procedural language and is pretty easy to learn but has many pitfalls for the unwary.&lt;br /&gt;
&lt;br /&gt;
C++ is an object-oriented language, built upon the foundation that is C. C and C++ are not the same language. C++ is not &amp;lt;i&amp;gt;exactly&amp;lt;/i&amp;gt; a superset of C, but if you can program in C++, you can program in C. [[Objective-C]] however, ''is'' an object-oriented superset of C. C++ is large, complex, and powerful -- and not for the faint of heart. It takes considerable time to master C++.&lt;br /&gt;
&lt;br /&gt;
Compiled C code runs &amp;lt;i&amp;gt;very&amp;lt;/i&amp;gt; fast. Some would say optimized C code can be as fast as hand-written assembly. Compiled C++ code may run &amp;lt;i&amp;gt;just about&amp;lt;/i&amp;gt; as fast as C depending on how carefully the code is written. Programs written in interpreted languages like Python and Perl typically won't run nearly as fast as C or C++ programs.&lt;br /&gt;
&lt;br /&gt;
If you are interested in writing system software, device drivers, compilers, operating systems, virtual machines, or graphics-intensive code (or similar software which needs to execute very quickly), you very likely want to learn and use C and/or C++. If you are just interested in GUI application software, C++ might be useful, but [[Python]] might be even better. If you are more interested in system administration, try [[Perl]]. If you want to write GUI software that will also be able to build and run on Mac OS X, have a look at [[GNUstep]] and [[objective-c]]. If you just want to be different, maybe look into [[ruby]], the D programming language, [[lisp]], or any number of other languages that have implementations available for GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
You compile C and C++ code on GNU/Linux using the GNU Compiler Collection (&amp;quot;[[GCC]]&amp;quot;). A C program gets compiled with the &amp;lt;tt&amp;gt;gcc&amp;lt;/tt&amp;gt; command, and a C++ program gets compiled with the &amp;lt;tt&amp;gt;g++&amp;lt;/tt&amp;gt; command. Note that GCC (the software package) compiles more than just C and C++. It can also build [[objective-c]], [[java]], [[ada]], and [[fortran]] source code.&lt;br /&gt;
&lt;br /&gt;
==Comments:  Early and often==&lt;br /&gt;
&lt;br /&gt;
Do comment your code. It rarely hurts to describe what you are doing, and more importantly, why. &lt;br /&gt;
&lt;br /&gt;
Documentation is the most important part. Trying to find out how component X is supposed to be used by looking at the code alone is tedious and error-prone. This is especially important if the code might work anyway on platform Z even when you leave initfoo() out. You can be sure that someone on that platform will do so if it's not there.&lt;br /&gt;
&lt;br /&gt;
Also, if you're about to do some complex task, write your intent briefly down in natural language first. This will both help you organize your thoughts and let someone else later grok what you were trying to do if the code after all doesn't. Sometimes the writing might be more clumsy than the code itself though. Use common sense.&lt;br /&gt;
&lt;br /&gt;
An example of a good comment:&lt;br /&gt;
 /*&lt;br /&gt;
  * Insert the values in buckets by their Nth byte. Bucket pointers are &lt;br /&gt;
  * set up so that they will automatically form a concatenated list this way.&lt;br /&gt;
  */&lt;br /&gt;
Here we describe a perhaps non-obvious part of an algorithm. Very good.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, a good code needs less comments than a bad one because it's more readable. Thus, the need to comment is often a sign of another problem:&lt;br /&gt;
&lt;br /&gt;
  obscure++; /* this is pointer to the last element */&lt;br /&gt;
Renaming the variable does the same.&lt;br /&gt;
&lt;br /&gt;
  last_el++; /* increment last element */&lt;br /&gt;
Now, that's pretty obvious.&lt;br /&gt;
&lt;br /&gt;
  /* last_el points to the first_el+N now */&lt;br /&gt;
Otherwise a good one, but we could assert(last_el == first_el+N) instead.&lt;br /&gt;
&lt;br /&gt;
  /*&lt;br /&gt;
   * Insert the values in buckets by their Nth byte. Bucket pointers are &lt;br /&gt;
   * set up so that they will automatically form a concatenated list this way.&lt;br /&gt;
   */&lt;br /&gt;
  for (i=0; i&amp;lt;cnt; i++) for (j=0; j&amp;lt;i; j++) if (a[i]&amp;lt;a[j]) SWAP(a[i], a[j]);&lt;br /&gt;
Uh, that isn't really what we're doing, now is it? ;) Yes, comments get outdated when code gets replaced by better implementations etc. You need to keep them up to date. In this case, a mention that the algorithm was changed because it didn't work for negative values would be helpful.&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
===Let the Compiler Nitpick===&lt;br /&gt;
When compiling with GCC or G++, always use the &amp;lt;tt&amp;gt;-Wall&amp;lt;/tt&amp;gt; command-line argument to tell GCC/G++ to print extra warnings and errors. This can often help you locate potential problems in your code.  But it's not enough to let the compiler spit the nitpicks at you;  you have to take them seriously.  Warnings are often a sign that your code is doing something it shouldn't.&lt;br /&gt;
&lt;br /&gt;
Other useful options of gcc are &amp;lt;tt&amp;gt;-Wstrict-prototypes -Wmissing-prototypes&amp;lt;/tt&amp;gt;.  These help make sure your function calls have the correct arguments, even &amp;lt;tt&amp;gt;printf()&amp;lt;/tt&amp;gt; calls.&lt;br /&gt;
&lt;br /&gt;
[Examples?]&lt;br /&gt;
&lt;br /&gt;
===Remote Debugging with DDD and gdb===&lt;br /&gt;
&lt;br /&gt;
1. Make sure gdbsever and libthread_db.so.1 on the remote machine.&lt;br /&gt;
&lt;br /&gt;
2. run gdbserver on target:&lt;br /&gt;
gdbserver host:2345 /path/application&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;host&amp;quot; is ignored, so this can be anything. 2345 is an arbitrary TCP&lt;br /&gt;
port not in use.  2345 ususally works, just make sure it does not conflict with other IP ports in use.&lt;br /&gt;
&lt;br /&gt;
The target application on the remote machine does not require symbols (debugging information).&lt;br /&gt;
&lt;br /&gt;
3. On the host (your local PC):&lt;br /&gt;
a. ddd program (must have symbols)&lt;br /&gt;
b. At the (gdb) prompt&lt;br /&gt;
    target remote xxx.xxx.xxx.xxx:2345 &lt;br /&gt;
&lt;br /&gt;
Where the IP address is that of the remote machine.&lt;br /&gt;
&lt;br /&gt;
That's it, remote debugging is up and running.&lt;br /&gt;
&lt;br /&gt;
==Optimization==&lt;br /&gt;
&lt;br /&gt;
Optimizing a program is often more an art than a science.  But even in art,  there are some rules that should be carefully followed (especially for new practitioners who aren't quite sure why the rules are important).&lt;br /&gt;
&lt;br /&gt;
===Optimization Rule #1 : DON'T!===&lt;br /&gt;
You're coding along,  minding your own business,  when you notice a simple,  quick optimization just begging to be done.  Maybe it's as simple as replacing &amp;lt;tt&amp;gt;d = c * 2;&amp;lt;/tt&amp;gt; with &amp;lt;tt&amp;gt;d = c &amp;lt;&amp;lt; 1;&amp;lt;/tt&amp;gt;.  Why do an expensive multiply when you could do a cheap right-shift and come up with precisely the same result?&lt;br /&gt;
&lt;br /&gt;
Why indeed?  This optimization should do the right thing,  but at the expense of a tiny bit of program clarity.  Program clarity is a precious commodity,  which isn't something that can be said for your computer's processor time.  It may be that you'll end up making precisely this optimization later on.  But right now,  the important thing is to get the program working correctly.&lt;br /&gt;
&lt;br /&gt;
===Optimization Rule #2 : DON'T!===&lt;br /&gt;
So now the program runs.  It runs like a fifteen year old weiner dog.  Sometimes it sits down on its haunches,  staring off into space as though it's waiting for a doggie treat.  So it's time to go in and replace that multiply with the bitshift,  right?&lt;br /&gt;
&lt;br /&gt;
Patience,  grasshopper.&lt;br /&gt;
&lt;br /&gt;
Before you decide if it's worth investing even one second in optimizing the program,  decide how valuable your effort is going to be.  The value derived from the effort is directly linked to the purpose of the program.  Is it a tiny app you wrote for your own personal use,  that you'll only use once a week?  Is it part of a critical,  high-performance application or library that will be used by millions,  or a scientific number-cruncher which will take years to solve a problem?  Most likely,  it will be somewhere between these two extrema.  To some extent,  &amp;quot;fast enough&amp;quot; is a subjective judgment.&lt;br /&gt;
&lt;br /&gt;
===Optimization Rule #3 : DON'T!===&lt;br /&gt;
Okay,  I see you're getting impatient.  You want to go in and make that aged dachshund run like a young rotweiler chasing a mailman smothered in barbecue sauce.  But the bad news is,  it's still not time to replace that line of code.  If you go back in and start &amp;quot;optimizing&amp;quot; right now,  you may end up with hundreds of little tweaks,  whose overall effect is to make the code difficult to understand and impossible to maintain.  Even worse,  it may not speed your program up noticeably.&lt;br /&gt;
&lt;br /&gt;
Before you make a single change,  take advantage of a profiler ([[gprof]] ([http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html tutorial]), for example).  A profiler will tell you exactly where your code is spending all its time.  The rationale for this is referred to as [http://en.wikipedia.org/wiki/Amdahls_law Amdahl's law] :  The amount of time saved by optimizing a section of code cannot be greater than the time the program spent running that code.  For example,  if a single for loop comprises 7% of a program's running time,  then no optimization you could perform on that loop will cause more than a 7% performance increase.&lt;br /&gt;
&lt;br /&gt;
Most programs spend most of their time executing a few very small areas of code.  Find out which areas,  and you'll likely get huge boosts from small changes.&lt;br /&gt;
&lt;br /&gt;
===Optimization Rule #4 : Never Assume an Optimization Works===&lt;br /&gt;
It is important that you know exactly how the unoptimized version of your program was performing,  because many optimizations don't do anything.  Some &amp;quot;optimizations&amp;quot; will even slow your program.&lt;br /&gt;
&lt;br /&gt;
Part of this is due to the fact that,  without being told,  the compiler will try to do whatever optimizations it considers &amp;quot;safe&amp;quot;,  and a programmer's attempts to optimize the code may interfere with the optimizations the compiler is trying to perform.  The best thing is to perform one optimization,  compare the new performance to the old performance,  decide whether to keep it,  and then move on to the next potential improvement.&lt;br /&gt;
&lt;br /&gt;
===Optimization Rule #5 : Three Words: Algorithms===&lt;br /&gt;
Very frequently,  the best way to speed up a program is to change the way you solve the problem.  No amount of pointer arithmetic or loop unwinding is going to give you a thousand-fold improvement in runtime,  but changing the algorithm frequently does just that. For example, changing a sorting algorithm from bubble sort to quicksort can make an hour-long sort take just seconds. [Need details, specifics] &lt;br /&gt;
&lt;br /&gt;
[That's really 90% of optimization (sans details),  but there are also things to cover like pre-caching,  just-in-time calculation,  optimizing for space vs. optimizing for time,  etc.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Save Compiler Optimizations for the End===&lt;br /&gt;
Also, don't use any -O flags when debugging, it can compound current errors and make things really weird. They can possibly add new bugs too, due to the way the compiler does low-level optimization.  The higher the optimization level,  the riskier the optimizations that the compiler will attempt.&lt;br /&gt;
&lt;br /&gt;
Once you know the program works in an unoptimized state,  then it may be time to crank the -O flag up a couple of notches.  Compare both performance and stability between the unoptimized and optimized versions.&lt;br /&gt;
&lt;br /&gt;
==Memory management==&lt;br /&gt;
===Valgrind===&lt;br /&gt;
Many new programmers have difficulties with pointers and sudden segmentation faults due to careless usage. [http://valgrind.kde.org/ Valgrind] is an excellent program to get more information about what is causing the problems.&lt;br /&gt;
&lt;br /&gt;
===new and malloc:  Arch-nemises===&lt;br /&gt;
Don't mix malloc and new; they might work togeather temporarily, but they're bound to cause errors. Pick which one from the start and stay with it. Valgrind will also point out this kind of error.  &lt;br /&gt;
&lt;br /&gt;
''Note: The same can be said for &amp;lt;iostream&amp;gt; and &amp;lt;iostream.h&amp;gt;.  Don't play mix and match.''&lt;br /&gt;
&lt;br /&gt;
==Use Macros With Care==&lt;br /&gt;
Macros are simply precompiler directives that instruct the compiler to replace certain strings of text with others before it attempts to compile.  If used carelessly,  they can make a program terribly confusing.&lt;br /&gt;
&lt;br /&gt;
For example,  if you wanted to be intentionally misleading,  you could write:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt; #define CLOSE_BLOCK {&lt;br /&gt;
 #define OPEN_BLOCK }&lt;br /&gt;
 #define CIN cout&lt;br /&gt;
 #define COUT cin&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then write the rest of the program as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt; for( int i = 0; i &amp;lt; 100; ++i )&lt;br /&gt;
 CLOSE_BLOCK&lt;br /&gt;
    for( int j = 0; j &amp;lt; 100; ++j )&lt;br /&gt;
    CLOSE_BLOCK&lt;br /&gt;
       CIN &amp;lt;&amp;lt; data[ i ][ j ];&lt;br /&gt;
    OPEN_BLOCK&lt;br /&gt;
 OPEN_BLOCK&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But intentional obfuscation isn't the real danger.  The real problem comes from accidental obfuscation,  as in the following example.&lt;br /&gt;
&lt;br /&gt;
===Example:  Proving the Meaning of Life===&lt;br /&gt;
&lt;br /&gt;
The meaning of life is elusive.  Here is a prime example of why parentheses are needed around macro definitions.&lt;br /&gt;
&lt;br /&gt;
life.c:&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;tt&amp;gt; #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 #define SIX 1+5      /* Should be (1+5) */&lt;br /&gt;
 #define SEVEN 6+1    /* Should be (6+1) */&lt;br /&gt;
&lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
     printf(&amp;quot;The meaning of life: %d x %d = %d\n&amp;quot;, SIX, SEVEN, SIX * SEVEN);&lt;br /&gt;
     return 0;&lt;br /&gt;
 }&amp;lt;/tt&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
Rather than evaluating (1+5) * (6+1) as we would hope,  the compiler will now read the statement as 1+(5*6)+1.  Result:  32 rather than 42,  and thousands of years of time wasted by the galaxy's biggest supercomputer.&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Rm&amp;diff=9931</id>
		<title>Rm</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Rm&amp;diff=9931"/>
		<updated>2004-03-09T21:43:58Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: added examples&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Command rm== &lt;br /&gt;
Removes files or directories. Rm removes each specified file. By default, it does not remove directories. If a file is unwritable, the standard input is a tty, and the -f or --force option is not given, rm prompts the user for whether to remove the file. If the response does not begin with `y' or `Y', the file is skipped.  &lt;br /&gt;
  &lt;br /&gt;
===Syntax===&lt;br /&gt;
'''rm ''[OPTION] file'' '''  &lt;br /&gt;
&lt;br /&gt;
===Options===&lt;br /&gt;
* ''-d'', ''--directory'' - unlink file, even if it is a non-empty directory (super-user only) &lt;br /&gt;
* ''-f'', ''--force'' - ignore nonexistent files, never prompt &lt;br /&gt;
* ''-i'', ''--interactive'' - prompt before any removal &lt;br /&gt;
* ''-r'', ''-R'', ''--recursive'' - remove the contents of directories recursively &lt;br /&gt;
* ''-v'', ''--verbose'' - explain what is being done &lt;br /&gt;
* ''--help'' - display this help and exit &lt;br /&gt;
* ''--version'' - output version information and exit &lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
* rm file1.txt&lt;br /&gt;
** removes file1.txt&lt;br /&gt;
* rm -r testing&lt;br /&gt;
** removes the directory 'testing', including all files it contained.&lt;br /&gt;
* rm file*&lt;br /&gt;
** removes all files starting with the letters 'file' (eg file1.bin, filed.txt).&lt;br /&gt;
* rm -i file1.txt&lt;br /&gt;
** asks you for confirmation before deleting file1.txt.&lt;br /&gt;
&lt;br /&gt;
To remove a file whose name starts with a `-', for example `-foobar', use one of these commands:&lt;br /&gt;
&lt;br /&gt;
* rm ./-foobar &lt;br /&gt;
* rm -- -foobar &lt;br /&gt;
&lt;br /&gt;
Note that if you use rm to remove a file, it is usually possible to [[recover]] the contents of that file. If you want more assurance that the contents are truly unrecoverable, consider using [[shred]].   &lt;br /&gt;
&lt;br /&gt;
===Related Commands===&lt;br /&gt;
* [[shred]]&lt;br /&gt;
* [[mv]]&lt;br /&gt;
* [[mkdir]]&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Man&amp;diff=3771</id>
		<title>Man</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Man&amp;diff=3771"/>
		<updated>2004-03-09T21:36:45Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: added example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;man, short for &amp;quot;[[manual pages]]&amp;quot;. The Unix [[Documentation]]. &lt;br /&gt;
&lt;br /&gt;
Often refered to when someone interjects [[RTFM]]!! to a new user who asks a question that could easily have been answered had he/she read the [[man page]].&lt;br /&gt;
&lt;br /&gt;
The standard way to use the man pages is to enter 'man command'. 'man ls', for example, will show a large amount of information regarding the [[ls]] command.&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Lynx&amp;diff=5950</id>
		<title>Lynx</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Lynx&amp;diff=5950"/>
		<updated>2004-03-09T21:34:02Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: added commands and examples&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lynx is the classic text based web browsing program. You run it right from the [[CLI]] -- no X Window System required. Also check out [[Links]] if you are interested in this type of application.&lt;br /&gt;
&lt;br /&gt;
Every system should have lynx installed on it, simply so you can browse and get at web pages when you are ssh'd in.  Not typically for daily use, though it is quite useful when trying to discover why [[X]] is not working. The main commands are up and down (arrow keys) to move through a page, left and right to follow links, 'g' to go to an arbitrary webpage, and 'q' to quit.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* lynx&lt;br /&gt;
** starts up Lynx with the default home page.&lt;br /&gt;
* lynx file.html&lt;br /&gt;
** opens file.html in Lynx.&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=User:Evilmrhenry&amp;diff=22678</id>
		<title>User:Evilmrhenry</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=User:Evilmrhenry&amp;diff=22678"/>
		<updated>2004-03-07T19:39:36Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Wiki_markup]]&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=LyX&amp;diff=3623</id>
		<title>LyX</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=LyX&amp;diff=3623"/>
		<updated>2004-03-07T19:35:29Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LyX is a graphical frontend to [[LaTeX]], enabling people to use the power of LaTeX while not knowing the actual commands. Although more difficult to learn than most word-proccessors, (reading the help files is recommended) it is simpler than the raw LaTeX files, and can produce very well formatted output. It has versions for Windows, Linux, and MacOS X.&lt;br /&gt;
&lt;br /&gt;
Offical website: http://www.lyx.org/&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=LyX&amp;diff=3051</id>
		<title>LyX</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=LyX&amp;diff=3051"/>
		<updated>2004-03-07T19:35:06Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LyX is a graphical frontend to LaTex, enabling people to use the power of LaTeX while not knowing the actual commands. Although more difficult to learn than most word-proccessors, (reading the help files is recommended) it is simpler than the raw LaTeX files, and can produce very well formatted output. It has versions for Windows, Linux, and MacOS X.&lt;br /&gt;
&lt;br /&gt;
Offical website: http://www.lyx.org/&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Applications&amp;diff=3089</id>
		<title>Applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Applications&amp;diff=3089"/>
		<updated>2004-03-07T19:23:39Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: added LyX&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Use this space to collect notes and information on common Linux software!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;Do&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Provide basic descriptive and historical information about the application.&lt;br /&gt;
* Add notes or in-depth commentary on usage/common problems/tips.&lt;br /&gt;
* Include a concise list of important and distinctive features that will help a potential user decide whether a particular application will meet his or her needs.&lt;br /&gt;
* Critically process information you include.&lt;br /&gt;
* Link to official project pages and notable community resources.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;Don't&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Hesitate to add what you know, especially to a stub; any information is better than no or incorrect information.&lt;br /&gt;
* Simply duplicate the reference manual or uncritically include the project &amp;quot;About&amp;quot; page.&lt;br /&gt;
* Clutter the pages with platitudes, personal experience, opinion, or preference.&lt;br /&gt;
* Try and list every application in the world. Generally stick to those that are popular or distinctive, and stable or actively maintained/developed.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
* '''[[3D modeling]]''' - [[Blender]], [[PovRay]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Audio Editor]]''' - [[Audacity]], [[Ardour]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Backup]]''' - [[rdiff-backup]], [[rsync]]&lt;br /&gt;
&lt;br /&gt;
* '''[[CD Burning]]''' - [[K3b]], [[Xcdroast]], [[cdrecord]], [[cdrdao]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Compiler]]''' - [[GCC]], [[Mono]], [[Intel Compiler|Intel C/C++ Fortran]], [[PGI]], [[Pathscale]], [[IBM XLF,VAC]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Database]]''' - [[PostgreSQL]], [[MySQL]], [[Oracle]], [[DB2]], [[FireBirdSQL]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Database Tools]]''' - [[DBVisualizer]], [[DataDino]], [[PGAdmin]], [[PHPMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Desktop Environment]]''' - [[KDE]], [[Gnome]], [[XFce]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Email Client]]''' - [[Evolution]], [[Thunderbird]], [[Kmail]], [[Sylpheed]], [[Sylpheed-claws]], [[mutt]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Emulation]]''' - [[CrossOver]], [[DOSEMU]], [[Dosbox]], [[VMware]], [[Wine]], [[WineX]]&lt;br /&gt;
&lt;br /&gt;
* '''[[File Managers]]''' - [[Midnight Commander]], [[Konqueror]], [[Gentoo File Manager]], [[emelFM]], [[Nautilus]]&lt;br /&gt;
&amp;lt;!-- NB: Gentoo File Manager is used to avoid a name conflict with Gentoo, the distribution--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''[[Image browser]]''' - [[imgSeek]], [[KimDaBa]], [[Gthumb]], [[pixieplus]], [[GQview]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Image manipulation]]''' - [[Gimp]], [[XV]], [[ImageMagick]], [[Sodipodi]], [[Inkscape]], [[Scribus]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Instant Messaging]]''' - [[Gaim]], [[Kopete]], [[Bitlbee]], [[Centericq]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Integrated Development Environment and Web Design]]''' - [[Quanta Plus]], [[KDevelop]], [[Bluefish]], [[Anjuta]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Internet Relay Chat]]''' - [[X-Chat]], [[BitchX]], [[Irssi]], [[ircII]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Music player]]''' - [[XMMS]], [[RhythmBox]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Office Suite]]''' - [[OpenOffice]], [[StarOffice]], [[KOffice]]&lt;br /&gt;
&lt;br /&gt;
* '''[[PVR]]''' - [[MythTV]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Scientific Applications]]''' - [[BioInformatics]], [[Phy/Chem]], [[Molecular Dynamics]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Spreadsheet]]''' - [[Gnumeric]], [[KSpread]]&lt;br /&gt;
&lt;br /&gt;
* '''[[System Statistics]]''' - [[GKrellm2]], [[Dockapps]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Terminal Emulator]]''' - [[aterm]], [[Eterm]], [[rxvt]], [[xterm]], [[wterm]], [[root-tail]], [[pterm]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Editor|Text Editor]]''' - [[Emacs]], [[Vi]] and [[Vim]], [[Joe]], [[Nano]], [[Gedit]], [[Bluefish]], [[Kwrite]], [[Kate]], [[NEdit]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Text Processing]]''' - [[TeX]], [[LaTeX]], [[teTeX]], [[LyX]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Video Capture]]''' - [[Xvidcap]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Video Editor]]''' - [[Cinelerra]], [[Kino]], [[Transcode]], [[DVD::Rip]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Video player]]''' - [[Xine]], [[Totem]], [[MPlayer]], [[vlc]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Web browser]]''' - [[Mozilla]], [[Firefox]], [[Opera]], [[Konqueror]], [[Epiphany]], [[Galeon]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Window Manager]]''' - [[Fluxbox]], [[Blackbox]], [[Window Maker]], [[Sawfish]], [[Enlightenment]], [[Metacity]], [[IceWM]], [[Ion]], [[Openbox]], [[Afterstep]], [[FVWM]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Word Processor]]''' - [[AbiWord]], [[KWord]]&lt;br /&gt;
&lt;br /&gt;
* '''[[X Window System]]'''&lt;br /&gt;
**[[General Tips]]&lt;br /&gt;
**[[Programming]]                &amp;lt;!--Formatted like this a subsections rather--&amp;gt;&lt;br /&gt;
**[[Configuring]]                &amp;lt;!--app list, so should look different      --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
* '''[[Useful Sites]]'''&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Applications&amp;diff=2449</id>
		<title>Applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Applications&amp;diff=2449"/>
		<updated>2004-03-06T21:53:11Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: 3D modeling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Use this space to collect notes and information on common Linux software!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;Do&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Provide basic descriptive and historical information about the application.&lt;br /&gt;
* Add notes or in-depth commentary on usage/common problems/tips.&lt;br /&gt;
* Include a concise list of important and distinctive features that will help a potential user decide whether a particular application will meet his or her needs.&lt;br /&gt;
* Critically process information you include.&lt;br /&gt;
* Link to official project pages and notable community resources.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;Don't&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Hesitate to add what you know, especially to a stub; any information is better than no or incorrect information.&lt;br /&gt;
* Simply duplicate the reference manual or uncritically include the project &amp;quot;About&amp;quot; page.&lt;br /&gt;
* Clutter the pages with platitudes, personal experience, opinion, or preference.&lt;br /&gt;
* Try and list every application in the world. Generally stick to those that are popular or distinctive, and stable or actively maintained/developed.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
* '''[[Desktop Environment]]''' - [[KDE]], [[Gnome]], [[XFce]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Window Manager]]''' - [[Fluxbox]], [[Blackbox]], [[Window Maker]], [[Sawfish]], [[Enlightenment]], [[Metacity]], [[IceWM]], [[Ion]], [[Openbox]], [[Afterstep]], [[FVWM]]&lt;br /&gt;
&lt;br /&gt;
* '''[[X Window System]]''' - [[General Tips]], [[Programming]], [[Configuring]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Terminal Emulator]]''' - [[aterm]], [[Eterm]], [[rxvt]], [[xterm]], [[wterm]], [[root-tail]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Office Suite]]''' - [[OpenOffice]], [[StarOffice]], [[KOffice]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Word Processor]]''' - [[AbiWord]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Spreadsheet]]''' - [[Gnumeric]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Text Editor]]''' - [[Emacs]], [[Vi]] and [[Vim]], [[Joe]], [[Nano]], [[Gedit]], [[Bluefish]], [[Kwrite]], [[Kate]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Web browser]]''' - [[Mozilla]], [[Firefox]], [[Opera]], [[Konqueror]], [[Epiphany]], [[Galeon]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Email Client]]''' - [[Evolution]], [[Thunderbird]], [[Kmail]], [[Sylpheed]], [[Sylpheed-claws]], [[mutt]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Instant Messaging]]''' - [[Gaim]], [[Kopete]], [[Bitlbee]], [[Centericq]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Integrated Development Environment and Web Design]]''' - [[Quanta Plus]], [[KDevelop]], [[Bluefish]], [[Anjuta]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Internet Relay Chat]]''' - [[X-Chat]], [[BitchX]], [[Irssi]], [[ircII]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Video player]]''' - [[Xine]], [[Totem]], [[MPlayer]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Music player]]''' - [[XMMS]], [[RhythmBox]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Audio Editor]]''' - [[Audacity]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Video Editor]]''' - [[Cinelerra]], [[Kino]], [[Transcode]], [[DVD::Rip]]&lt;br /&gt;
&lt;br /&gt;
* '''[[3D modeling]]''' - [[Blender]], [[PovRay]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Video Capture]]''' - [[Xvidcap]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Image manipulation]]''' - [[Gimp]], [[XV]], [[ImageMagick]], [[Sodipodi]], [[Inkscape]], [[Scribus]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Image browser]]''' - [[imgSeek]], [[KimDaBa]], [[Gthumb]], [[pixieplus]], [[GQview]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Emulation]]''' - [[CrossOver]], [[DOSEMU]], [[Dosbox]], [[VMware]], [[Wine]], [[WineX]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Compiler]]''' - [[GCC]], [[Mono]], [[Intel Compiler|Intel C/C++ Fortran]], [[PGI]], [[Pathscale]], [[IBM XLF,VAC]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Database]]''' - [[PostgreSQL]], [[MySQL]], [[Oracle]], [[DB2]], [[FireBirdSQL]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Database Tools]]''' - [[DBVisualizer]], [[DataDino]], [[PGAdmin]], [[PHPMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
* '''[[File Managers]]''' - [[Midnight Commander]], [[Konqueror]], [[Gentoo File Manager]], [[emelFM]], [[Nautilus]]&lt;br /&gt;
&amp;lt;!-- NB: Gentoo File Manager is used to avoid a name conflict with Gentoo, the distribution--&amp;gt;&lt;br /&gt;
* '''[[System Statistics]]''' - [[GKrellm2]], [[Dockapps]]&lt;br /&gt;
&lt;br /&gt;
* '''[[CD Burning]]''' - [[K3b]], [[Xcdroast]], [[cdrecord]], [[cdrdao]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Backup]]''' - [[rdiff-backup]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Scientific Applications]]''' - [[BioInformatics]], [[Phy/Chem]], [[Molecular Dynamics]]&lt;br /&gt;
----&lt;br /&gt;
* '''[[Useful Sites]]'''&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Blender&amp;diff=6197</id>
		<title>Blender</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Blender&amp;diff=6197"/>
		<updated>2004-03-06T21:47:21Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: belder-&amp;gt;blender&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Blender''' is a 3D modeling application available for Linux, Windows, and Macintosh.  It is a powerful, professional 3D environment, but it has a steep learning curve, and many sometimes obscure shortcut keys.  It currently supports animation rendering, radiosity, particle systems, and OpenGL Realtime animation for some (but not all) platforms/OSs.&lt;br /&gt;
&lt;br /&gt;
'''External Links:'''&lt;br /&gt;
&lt;br /&gt;
[http://www.blender3d.org Blender3d.org]&lt;br /&gt;
&lt;br /&gt;
{{msg:stub}}&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Dosbox&amp;diff=2389</id>
		<title>Dosbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Dosbox&amp;diff=2389"/>
		<updated>2004-03-06T21:39:31Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: link to compatability database&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dosbox is a PC emulator with builtin DOS intended for running DOS Games primarily. The latest version 0.61 has already support for &amp;lt;b&amp;gt;most&amp;lt;/b&amp;gt; dos games. Dosbox has extensive emulation for different kinds of hardware, such as GUS, Vesa, IPX networking / modem connections over TCP. Dosbox is licensed under GPL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;External link&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[http://dosbox.sourceforge.net/ Dosbox homepage]&lt;br /&gt;
*[http://dosbox.sourceforge.net/comp_list.php Compatability database]&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Man_page&amp;diff=3115</id>
		<title>Man page</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Man_page&amp;diff=3115"/>
		<updated>2004-03-06T21:29:55Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Unix]] [[command]]: view documentation for a given [[command]]. Usually in the format of &amp;lt;code&amp;gt;man command&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The man page usually contains information about proper syntax and options, though the contents and quality vary between applications.&lt;br /&gt;
&lt;br /&gt;
See also [[man]], and read the man page: [[man man]]&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Grep&amp;diff=3592</id>
		<title>Grep</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Grep&amp;diff=3592"/>
		<updated>2004-03-06T21:25:30Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: added examples&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Powerful utility that prints a line matching a given [[pattern]]. Supports [[regexp]].&lt;br /&gt;
&lt;br /&gt;
See also [[egrep]] and [[fgrep]]&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* grep Something *&lt;br /&gt;
** Search all files in the current directory for the word 'Something'.&lt;br /&gt;
* grep -i something example.txt&lt;br /&gt;
** Search example.txt for all occurances of the word 'something', case-insensitive.&lt;br /&gt;
* grep -r something exam*&lt;br /&gt;
** search all files that start with 'exam' (ie: example.txt, exam4.txt) both in the current directory, and all subdirectories, for the word 'something'.&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Uncompressing_files&amp;diff=2672</id>
		<title>Uncompressing files</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Uncompressing_files&amp;diff=2672"/>
		<updated>2004-03-06T21:13:26Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: added explaination for tar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;b&amp;gt;Uncompressing Files&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[[bunzip2]] (.bz2)- Decompresses the specified filename&lt;br /&gt;
Example# bunzip2 &amp;lt;filename.bz2&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*[[gunzip]] (.gz)- This utility can decompress files created with the following utilities: [[compress]], [[gzip]] and [[zip]]&lt;br /&gt;
Example# gunzip &amp;lt;filename.gz&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[[unarj]] (.arj)- Decompresses or lists the content of the specified ARJ archive.&lt;br /&gt;
Example# ?&lt;br /&gt;
&lt;br /&gt;
*[[uncompress]]- Decompresses the [[compress]] compressed file.&lt;br /&gt;
Example# uncompress -d &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[[unzip]] (.zip)- Decompresses and extracts files created by the Linux [[zip]] utility, PKZIP(MS-DOS) or WinZip(Microsoft Windows).&lt;br /&gt;
Example# unzip &amp;lt;filename.zip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[[tar]] (.tar) - This command is what is typically used to compress and decompress files in linux.&lt;br /&gt;
Example# tar -xvf &amp;lt;filename.tar&amp;gt;&lt;br /&gt;
Example# tar -xvzf &amp;lt;filename.tar.gz&amp;gt;&lt;br /&gt;
Example# tar -xvjf &amp;lt;filename.tar.bz2&amp;gt;&lt;br /&gt;
(x to extract a file, v to show what it's doing, z to run the file through [[gunzip]] first, j to run the file through [[bunzip2]] first, and f to specify the filename.)&lt;br /&gt;
&lt;br /&gt;
*[[unace]] (.ace)- Decompresses ace files&lt;br /&gt;
Example# unace x &amp;lt;filename.ace&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[[unrar]] (.rar)- Decompresses rar files&lt;br /&gt;
Example# unrar x &amp;lt;filename.rar&amp;gt;&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=WineX&amp;diff=2391</id>
		<title>WineX</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=WineX&amp;diff=2391"/>
		<updated>2004-03-06T21:02:27Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: link to Gaming via Wine or WineX&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WineX is a commercial version of [[wine]] that is geared twoards games. It features a very large database of games, and forums. It comes with excellent support for paying customers, and good support for non-game applications.&lt;br /&gt;
&lt;br /&gt;
It is produced by [http://www.transgaming.com/ Transgaming Technologies] and forked from wine years ago. It currently has a different license which makes porting code between WineX and wine very hard. &lt;br /&gt;
&lt;br /&gt;
Transgaming dose provide support and binary releases to paying customers. Otherwise as with wine what you get is the current CVS.&lt;br /&gt;
&lt;br /&gt;
See the [[wine]] page for further information, or [[Gaming via Wine or WineX]] for information on playing games under WineX.&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=PySol&amp;diff=5212</id>
		<title>PySol</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=PySol&amp;diff=5212"/>
		<updated>2004-03-06T20:47:03Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PySol is a Python-based solitare game. It currently includes a little over 200 varieties of solitare, and has versions for Windows, Linux, and Macintosh. The website is at http://www.oberhumer.com/opensource/pysol/&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Gaming&amp;diff=2085</id>
		<title>Gaming</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Gaming&amp;diff=2085"/>
		<updated>2004-03-06T16:11:46Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is a list of articles related to playing games under Linux. This is a small list; more articles will follow.&lt;br /&gt;
&lt;br /&gt;
* [[First person shooters]]&lt;br /&gt;
** [[America's Army]]&lt;br /&gt;
** [[Heavy Metal: F.A.K.K.2]]&lt;br /&gt;
** [[Parsec]]&lt;br /&gt;
** [[Postal Plus]]&lt;br /&gt;
** [[Quake 3 Arena]]&lt;br /&gt;
** [[Return to Castle Wolfenstein]]&lt;br /&gt;
** [[Rune]]&lt;br /&gt;
** [[Savage]]&lt;br /&gt;
** [[Soldier of Fortune]]&lt;br /&gt;
** [[Tribes 2]]&lt;br /&gt;
** [[Unreal Tournament]]&lt;br /&gt;
** [[Wolfenstein: Enemy Territory]]&lt;br /&gt;
&lt;br /&gt;
* [[Emulators]]&lt;br /&gt;
** [[Daphne]]&lt;br /&gt;
** [[DarcNES]]&lt;br /&gt;
** [[Dosbox|DOSBox]]&lt;br /&gt;
** [[ePSXe]]&lt;br /&gt;
** [[FakeNES]]&lt;br /&gt;
** [[FCE Ultra]]&lt;br /&gt;
** [[Generator]]&lt;br /&gt;
** [[Gens]]&lt;br /&gt;
** [[gngb]]&lt;br /&gt;
** [[Handy]] - Atari Lynx&lt;br /&gt;
** [[Hatari]] - Atari ST&lt;br /&gt;
** [[InfoNES]]&lt;br /&gt;
** [[MAME]]&lt;br /&gt;
** [[Mupen64]]&lt;br /&gt;
** [[NEStra]]&lt;br /&gt;
** [[PCSX]]&lt;br /&gt;
** [[SNES9X]]&lt;br /&gt;
** [[Stella]]&lt;br /&gt;
** [[ZSNES]]&lt;br /&gt;
&lt;br /&gt;
* [[Role playing games]]&lt;br /&gt;
** [[Crossfire]]&lt;br /&gt;
** [[Daimonin]]&lt;br /&gt;
** [[FreedroidRPG]]&lt;br /&gt;
** [[Neverwinter Nights]]&lt;br /&gt;
** [[Roguelikes]]&lt;br /&gt;
&lt;br /&gt;
* Racing&lt;br /&gt;
** [[GLTron]]&lt;br /&gt;
** [[Tux Racer]]&lt;br /&gt;
** [[Tux Kart]]&lt;br /&gt;
&lt;br /&gt;
* Arcade&lt;br /&gt;
** [[Chromium]]&lt;br /&gt;
** [[Crack Attack]]&lt;br /&gt;
** [[Maelstrom]]&lt;br /&gt;
** [[XPuyopuyo]]&lt;br /&gt;
** [[JumpnBump]]&lt;br /&gt;
** [[LiquidWar]]&lt;br /&gt;
** [[XScorch]]&lt;br /&gt;
&lt;br /&gt;
* Simulation&lt;br /&gt;
** [[Simcity 3000]]&lt;br /&gt;
** [[Lincity]]&lt;br /&gt;
** [[FreeCiv]]&lt;br /&gt;
** [[Alpha Centauri]]&lt;br /&gt;
&lt;br /&gt;
* Other&lt;br /&gt;
** [[Persistent online worlds]]&lt;br /&gt;
** [[BZFlag]]&lt;br /&gt;
** [[Gaming via Wine or WineX]]&lt;br /&gt;
** [[Half-Life Server]]&lt;br /&gt;
** [[Freedroid]]&lt;br /&gt;
** [[Nighthawk]]&lt;br /&gt;
** [[Simutrans]]&lt;br /&gt;
** [[Dope Wars]]&lt;br /&gt;
** [[PySol]]&lt;br /&gt;
** [[XQF]] game server browser&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Roguelikes&amp;diff=2315</id>
		<title>Roguelikes</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Roguelikes&amp;diff=2315"/>
		<updated>2004-03-06T16:00:15Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: die-hard players don't scorn tile people&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Roguelikes''' refers to a genre of [[Gaming|games]] which are similar to the classic computer game '''Rogue'''. These [[role playing games]] are usually formed on a fantasy or sci-fi backdrop, and present the player with a randomly generated dungeon. The dungeon in these games is furthermore represented as an [[ASCII]]-based map, typically with an '''@''' representing the player, '''#''' or equivalent characters for walls, '''^''' representing traps, and various colored letters representing different monsters. Some roguelikes have graphical interfaces available, although die-hard players prefer the [[ASCII]] symbols.&lt;br /&gt;
&lt;br /&gt;
== List of roguelikes ==&lt;br /&gt;
&amp;lt;!-- let's keep this alphabetical, please --&amp;gt;&lt;br /&gt;
The following roguelikes are available for Linux-based systems.&lt;br /&gt;
* [[ADoM]] (Ancient Domains of Mystery)&lt;br /&gt;
* [[Angband]] (with approximately 50 variants)&lt;br /&gt;
** [[ToME]]&lt;br /&gt;
* [[Fargoal]]&lt;br /&gt;
* [[IVAN]]&lt;br /&gt;
* [[Moria]]&lt;br /&gt;
* [[Nethack]]&lt;br /&gt;
** [[Slash'EM]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Roguelike Roguelike] (Wikipedia article)&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Talk:Gaming_via_WINE_or_WINEX&amp;diff=22212</id>
		<title>Talk:Gaming via WINE or WINEX</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Talk:Gaming_via_WINE_or_WINEX&amp;diff=22212"/>
		<updated>2004-03-06T08:59:36Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: moved to &amp;quot;Talk:Gaming_via_Wine_or_WineX&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Talk:Gaming_via_Wine_or_WineX]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Gaming_via_WINE_or_WINEX&amp;diff=22211</id>
		<title>Gaming via WINE or WINEX</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Gaming_via_WINE_or_WINEX&amp;diff=22211"/>
		<updated>2004-03-06T08:59:36Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: moved to &amp;quot;Gaming_via_Wine_or_WineX&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Gaming_via_Wine_or_WineX]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=ToME&amp;diff=2654</id>
		<title>ToME</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=ToME&amp;diff=2654"/>
		<updated>2004-03-06T08:56:39Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ToME stands for Troubles of Middle Earth, and is one of the more popular [[Angband]] variants. Known as PernAngband in the past, the name and theme were changed due to copyright issues. Currently, ToME strives to closely follow the Middle Earth world.&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* World map based on Middle Earth.&lt;br /&gt;
* Numerous classes and races.&lt;br /&gt;
* Built-in module support.&lt;br /&gt;
* Active development.&lt;br /&gt;
&lt;br /&gt;
The website is http://t-o-m-e.net/&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Gaming&amp;diff=1530</id>
		<title>Gaming</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Gaming&amp;diff=1530"/>
		<updated>2004-03-06T02:49:36Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: WinexX to WineX&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is a list of articles related to playing games under Linux. This is a small list; more articles will follow.&lt;br /&gt;
&lt;br /&gt;
* [[First person shooters]]&lt;br /&gt;
** [[Unreal Tournament]]&lt;br /&gt;
** [[Quake 3 Arena]]&lt;br /&gt;
** [[Return to Castle Wolfenstein (ET)]]&lt;br /&gt;
** [[Half-Life Server]]&lt;br /&gt;
** [[America's Army]]&lt;br /&gt;
* [[Emulators]]&lt;br /&gt;
** [[ZSNES]]&lt;br /&gt;
** [[SNES9X]]&lt;br /&gt;
** [[MAME]]&lt;br /&gt;
** [[DarcNES]]&lt;br /&gt;
** [[ePSXe]]&lt;br /&gt;
** [[InfoNES]]&lt;br /&gt;
** [[FakeNES]]&lt;br /&gt;
** [[FCE Ultra]]&lt;br /&gt;
** [[PCSX]]&lt;br /&gt;
** [[Generator]]&lt;br /&gt;
&lt;br /&gt;
* [[Role playing games]]&lt;br /&gt;
** [[FreedroidRPG]]&lt;br /&gt;
** [[Roguelikes]]&lt;br /&gt;
* Other&lt;br /&gt;
** [[Persistent online worlds]]&lt;br /&gt;
** [[BZFlag]]&lt;br /&gt;
** [[Gaming via Wine or WineX]]&lt;br /&gt;
** [[Tux Racer]]&lt;br /&gt;
** [[Freedroid]]&lt;br /&gt;
** [[Nighthawk]]&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Gaming&amp;diff=1513</id>
		<title>Gaming</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Gaming&amp;diff=1513"/>
		<updated>2004-03-06T02:44:35Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: fixed WINE link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is a list of articles related to playing games under Linux. This is a small list; more articles will follow.&lt;br /&gt;
&lt;br /&gt;
* [[First Person Shooters]]&lt;br /&gt;
** [[Unreal Tournament]]&lt;br /&gt;
** [[Quake 3 Arena]]&lt;br /&gt;
** [[Return to Castle Wolfenstein (ET)]]&lt;br /&gt;
** [[Half-Life Server]]&lt;br /&gt;
** [[America's Army]]&lt;br /&gt;
* [[Emulators]]&lt;br /&gt;
** [[ZSNES]]&lt;br /&gt;
** [[SNES9X]]&lt;br /&gt;
** [[MAME]]&lt;br /&gt;
** [[DarcNES]]&lt;br /&gt;
** [[ePSXe]]&lt;br /&gt;
** [[InfoNES]]&lt;br /&gt;
** [[FakeNES]]&lt;br /&gt;
** [[FCE Ultra]]&lt;br /&gt;
** [[PCSX]]&lt;br /&gt;
** [[Generator]]&lt;br /&gt;
&lt;br /&gt;
* [[Role Playing Games]]&lt;br /&gt;
** [[FreedroidRPG]]&lt;br /&gt;
** [[Roguelikes]]&lt;br /&gt;
* Other&lt;br /&gt;
** [[Persistent Online Worlds]]&lt;br /&gt;
** [[BZFlag]]&lt;br /&gt;
** [[Gaming via WINE or WINEX | Gaming via WINE or WineX]]&lt;br /&gt;
** [[Tux Racer]]&lt;br /&gt;
** [[Freedroid]]&lt;br /&gt;
** [[Nighthawk]]&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Gaming&amp;diff=1499</id>
		<title>Gaming</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Gaming&amp;diff=1499"/>
		<updated>2004-03-06T02:35:11Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;b&amp;gt;Gaming&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''[[First Person Shooters]]'''&lt;br /&gt;
   * [[Unreal Tournament]]&lt;br /&gt;
   * [[Quake 3 Arena]]&lt;br /&gt;
   * [[Return to Castle Wolfenstein (ET)]]&lt;br /&gt;
   * [[Half-Life Server]]&lt;br /&gt;
   * [[America's Army]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Emulators]]'''&lt;br /&gt;
   * [[ZSNES]]&lt;br /&gt;
   * [[MAME]]&lt;br /&gt;
&lt;br /&gt;
* '''[[Role Playing Games]]'''&lt;br /&gt;
   * [[FreedroidRPG]]&lt;br /&gt;
   * [[Roguelikes]]&lt;br /&gt;
&lt;br /&gt;
* '''Other'''&lt;br /&gt;
   * [[Persistent Online Worlds]]&lt;br /&gt;
   * [[BZFlag]]&lt;br /&gt;
   * [[Gaming via WINE or WineX]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;More to come...&amp;lt;/i&amp;gt;&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxquestions.org/index.php?title=Gaming_via_Wine_or_WineX&amp;diff=1410</id>
		<title>Gaming via Wine or WineX</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxquestions.org/index.php?title=Gaming_via_Wine_or_WineX&amp;diff=1410"/>
		<updated>2004-03-06T01:37:34Z</updated>

		<summary type="html">&lt;p&gt;Evilmrhenry: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Many Windows-games (and applications) can be run in GNU/Linux. This is normally (since there are other Windows [[emulator]]s as well) done with [[WINE]]/[[WINEX]]. WINE and WINEX are projects that, in a nutshell, try to replace the Windows base so that your Windows apps and games work properly on GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
While WINE is free to use, [http://www.transgaming.com Transgaming] (the company that develops [[WINEX]]) does charge a monthly fee ($5 per month, 3 month minimum) for easy-to-install packages and updates. It is possible, though, to use WINEX for free, but the process involves downloading and compiling older versions. The advantage is that WINEX is more thoroughly tested for games, so you have a much greater chance to play. It is also focused on getting the Direct X layer of Windows working on Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==WINE==&lt;br /&gt;
&lt;br /&gt;
Since there isn't any information here yet, I suggest you go to [http://www.winehq.com WINE's homepage], and look at the [http://www.winehq.com/site/supported_applications list of supported applications]. There are normally tips and hints on how to make a certain app/game work under GNU/Linux with WINE. Another site to watch is [http://frankscorner.org Frank's Corner]. Frank's Corner provides easy tutorials for the installation and use of common Windows games and apps on Linux.&lt;br /&gt;
&lt;br /&gt;
Since WINE is still in Alpha state (unstable) you should take care to follow the exact instructions you find on how to install each game. Note also that installing new versions (builds) of WINE can make functioning games to stop working. If it ain't broke, don't fix it!&lt;br /&gt;
&lt;br /&gt;
You can find WINE prepackaged and ready to install in most major distributions; if you want newer (or perhaps older) builds, you'll have to [http://www.winehq.org/site/download download] them from the website.&lt;br /&gt;
&lt;br /&gt;
==WINEX==&lt;br /&gt;
&lt;br /&gt;
Transgaming maintains a [http://www.transgaming.com/searchgame.php database] of the games currently supported, and their actual usability on Linux, varying between 0 (Doesn't install nor work) and 5 (as in Windows). Remember, when you search, to use full names instead of game acronyms (Diablo 2 instead of D2 for instance). Results will link you to pages that have a compatibility rating, screen shots, and a message board for the game you searched for.&lt;br /&gt;
&lt;br /&gt;
The message board is important, as the compatibility rating is not always accurate. Reading through it can provide a better idea as to the actual compatability.&lt;br /&gt;
&lt;br /&gt;
It's also important to frequently check the TransGaming website (listed above) for WineX as new versions come out regularly that solve older problems. (for example, Steam now works in 3.3).&lt;br /&gt;
&lt;br /&gt;
==Currently supported games==&lt;br /&gt;
&lt;br /&gt;
Games that have been reported to work on [[WINE]]/[[WINEX]] include Starcraft, Warcraft III - Reign of Chaos and Warcraft III - The Frozen Throne, GTA 3 - Vice City, Jedi Knight 2 - Jedi Outcast, Half Life and its many modifications, including Counter-Strike, and many more. Note that games coming from [http://www.idsoftware.com ID Software], such as Quake 3 Arena, Return to Castle Wolfenstein and Enemy Territory, run natively on Linux (i.e. without the need for WINE).&lt;br /&gt;
&lt;br /&gt;
==System Requirements==&lt;br /&gt;
&lt;br /&gt;
For 3D games to work on Linux, you must have a supported graphic card with 3D capabilities. At the moment, these include nVIDIA cards (very good drivers) and ATI cards (apparently not so good).&lt;/div&gt;</summary>
		<author><name>Evilmrhenry</name></author>
	</entry>
</feed>