<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://programmingexamples.net/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://programmingexamples.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Griswolf</id>
		<title>ProgrammingExamples - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://programmingexamples.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Griswolf"/>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Special:Contributions/Griswolf"/>
		<updated>2026-04-25T09:09:18Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.5</generator>

	<entry>
		<id>http://programmingexamples.net/wiki/Python/ThreePartOperator</id>
		<title>Python/ThreePartOperator</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Python/ThreePartOperator"/>
				<updated>2011-10-05T18:55:01Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: minor correction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Early versions of Python did not supply a &amp;quot;ternary operator&amp;quot;, but it is sometimes very nice. &lt;br /&gt;
&lt;br /&gt;
If you simply want a default value in case the initial value evaluates to &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; you can use the &amp;lt;code&amp;gt;or&amp;lt;/code&amp;gt; operator which takes the leftmost operand that evaluates to &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; or the right operand if neither evaluates &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt;. Like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def example(required, alist=None, anum=None, astring=''):&lt;br /&gt;
  my_list = alist or ['item']&lt;br /&gt;
  my_num = anum or 0 # note that 0 evaluates False, but is still chosen here&lt;br /&gt;
  my_string = astring or 'string'&lt;br /&gt;
  print('required: &amp;quot;%s&amp;quot;\nlist: %s\nNumber: %s\nString: &amp;quot;%s&amp;quot;'%(required, my_list,my_num,my_string))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Since version 2.5, however, Python has an official  [http://docs.python.org/reference/expressions.html#conditional-expressions ternary operator] called a &amp;quot;conditional expression&amp;quot;: &amp;lt;code&amp;gt;x if C else y&amp;lt;/code&amp;gt; evaluates C first, then either x or y.&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Python/ThreePartOperator</id>
		<title>Python/ThreePartOperator</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Python/ThreePartOperator"/>
				<updated>2011-10-05T18:53:57Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: better example using a False default: It still works&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Early versions of Python did not supply a &amp;quot;ternary operator&amp;quot;, but it is sometimes very nice. &lt;br /&gt;
&lt;br /&gt;
If you simply want a default value in case the initial value evaluates to &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; you can use the &amp;lt;code&amp;gt;or&amp;lt;/code&amp;gt; operator which takes the leftmost operand that evaluates to &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; or the right operand if neither evaluates &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt;. Like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def example(required, alist=None, anum=None, astring=''):&lt;br /&gt;
  my_list = alist or ['item']&lt;br /&gt;
  my_num = anum or 0 # note that 0 evaluates False, but is still chosen here&lt;br /&gt;
  my_string = astring or 'string'&lt;br /&gt;
  print('required: &amp;quot;%s&amp;quot;\nlist: %s\nNumber: %s\nString: &amp;quot;%s&amp;quot;'%(required, my_list,my_num,my_string))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Since version 2.5, however, Python has an official  [http://docs.python.org/reference/expressions.html#conditional-expressions ternary operator] called a &amp;quot;conditional operator&amp;quot;: &amp;lt;code&amp;gt;x if C else y&amp;lt;/code&amp;gt; evaluates C first, then either x or y.&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Python/ThreePartOperator</id>
		<title>Python/ThreePartOperator</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Python/ThreePartOperator"/>
				<updated>2011-10-05T18:52:18Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: rewrite to mention conditional operator&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Early versions of Python did not supply a &amp;quot;ternary operator&amp;quot;, but it is sometimes very nice. &lt;br /&gt;
&lt;br /&gt;
If you simply want a default value in case the initial value evaluates to &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; you can use the &amp;lt;code&amp;gt;or&amp;lt;/code&amp;gt; operator which takes the leftmost operand that evaluates to &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; or the right operand if neither evaluates &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt;. Like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def example(required, alist=None, anum=None, astring=''):&lt;br /&gt;
  my_list = alist or ['item']&lt;br /&gt;
  my_num = anum or 666&lt;br /&gt;
  my_string = astring or 'string'&lt;br /&gt;
  print('required: &amp;quot;%s&amp;quot;\nlist: %s\nNumber: %s\nString: &amp;quot;%s&amp;quot;'%(required, my_list,my_num,my_string))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Since version 2.5, however, Python has an official  [http://docs.python.org/reference/expressions.html#conditional-expressions ternary operator] called a &amp;quot;conditional operator&amp;quot;: &amp;lt;code&amp;gt;x if C else y&amp;lt;/code&amp;gt; evaluates C first, then either x or y.&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Python/ThreePartOperator</id>
		<title>Python/ThreePartOperator</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Python/ThreePartOperator"/>
				<updated>2011-10-05T18:34:26Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Python does not supply the ?: operator, but it is sometimes very nice. Here's how to mimic it&lt;br /&gt;
&lt;br /&gt;
We often want to set local variables to &amp;quot;what was passed, or if not, a default&amp;quot; like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def example(required, alist=None, anum=None, astring=''):&lt;br /&gt;
  my_list = alist or ['item']&lt;br /&gt;
  my_num = anum or 666&lt;br /&gt;
  my_string = astring or 'string'&lt;br /&gt;
  print('required: &amp;quot;%s&amp;quot;\nlist: %s\nNumber: %s\nString: &amp;quot;%s&amp;quot;'%(required, my_list,my_num,my_string))&lt;br /&gt;
&lt;br /&gt;
example('must') # prints 'must' plus the three defaults&lt;br /&gt;
example('yes',anum=99) # prints 'yes', default, 99, default&lt;br /&gt;
# etc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Note the use of the '''or''' operator. Python uses lazy left to right evaluation of that operator, so if the left operand evaluates as True the assignment takes it, else it takes the right operand.&lt;br /&gt;
&lt;br /&gt;
There are some issues (what if you want the default to be something that evaluates as False?) but this technique will work often enough to be worth knowing.&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Python/ThreePartOperator</id>
		<title>Python/ThreePartOperator</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Python/ThreePartOperator"/>
				<updated>2011-10-05T18:33:42Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: add final note&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Python does not supply the ?: operator, but it is sometimes very nice. Here's how to mimic it&lt;br /&gt;
&lt;br /&gt;
We often want to set local variables to &amp;quot;what was passed, or if not, a default&amp;quot; like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def example(required, alist=None, anum=None, astring=''):&lt;br /&gt;
  my_list = alist or ['item']&lt;br /&gt;
  my_num = anum or 666&lt;br /&gt;
  my_string = astring or 'string'&lt;br /&gt;
  print('required: &amp;quot;%s&amp;quot;\nlist: %s\nNumber: %s\nString: &amp;quot;%s&amp;quot;'%(required, my_list,my_num,my_string))&lt;br /&gt;
&lt;br /&gt;
example('must') # prints 'must' plus the three defaults&lt;br /&gt;
example('yes',anum=99) # prints 'yes', default, 99, default&lt;br /&gt;
# etc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Note the use of the '''or''' operator. Python uses lazy left to right evaluation of that operator, so if the left operand is &amp;quot;True&amp;quot; the assignment takes it, else it takes the right operand.&lt;br /&gt;
&lt;br /&gt;
There are some issues (what if you want the default to be something that evaluates as False?) but this technique will work often enough to be worth knowing.&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Python/ThreePartOperator</id>
		<title>Python/ThreePartOperator</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Python/ThreePartOperator"/>
				<updated>2011-10-05T18:30:02Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: add example of default assignment&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Python does not supply the ?: operator, but it is sometimes very nice. Here's how to mimic it&lt;br /&gt;
&lt;br /&gt;
We often want to set local variables to &amp;quot;what was passed, or if not, a default&amp;quot; like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def example(required, alist=None, anum=None, astring=''):&lt;br /&gt;
  my_list = alist or ['item']&lt;br /&gt;
  my_num = anum or 666&lt;br /&gt;
  my_string = astring or 'string'&lt;br /&gt;
  print('required: &amp;quot;%s&amp;quot;\nlist: %s\nNumber: %s\nString: &amp;quot;%s&amp;quot;'%(required, my_list,my_num,my_string))&lt;br /&gt;
&lt;br /&gt;
example('must') # prints 'must' plus the three defaults&lt;br /&gt;
example('yes',anum=99) # prints 'yes', default, 99, default&lt;br /&gt;
# etc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Python</id>
		<title>Python</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Python"/>
				<updated>2011-10-05T18:16:59Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: Add ThreePartOperator&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Python =&lt;br /&gt;
[http://python.org/ The Python programming language]&lt;br /&gt;
* Is [http://python.org/download/ Freely available]&lt;br /&gt;
* Runs [http://python.org/about/#python-runs-everywhere &amp;quot;everywhere&amp;quot;]&lt;br /&gt;
* Is interpreted (byte code compiled)&lt;br /&gt;
* Has efficient high level [http://docs.python.org/tutorial/datastructures.html data structures]&lt;br /&gt;
* Provides simple, effective [http://en.wikipedia.org/wiki/Object-oriented_programming object oriented programming]&lt;br /&gt;
* Has dynamic typing ([http://en.wikipedia.org/wiki/Duck_typing duck typing])&lt;br /&gt;
* Has an extensive [http://docs.python.org/library/index.html standard library] as well as many [http://pypi.python.org/pypi 3rd party additions]&lt;br /&gt;
* Is readily extensible using code written in C or C++&lt;br /&gt;
There is [http://docs.python.org/ extensive online documentation], including a [http://docs.python.org/tutorial/index.html tutorial].&lt;br /&gt;
----&lt;br /&gt;
=== Python Programming Examples ===&lt;br /&gt;
* [[Python/Smtplib|Send Emails with SMTP Library]]&lt;br /&gt;
* [[Python/ManyArgs|Handle many parameters under maintenance]]&lt;br /&gt;
* [[Python/UserPasswords|Getting a user name and (hidden text) password]]&lt;br /&gt;
* [[Python/DictAsSwitch|How to do a switch/case statement in Python]]&lt;br /&gt;
* [[Python/ThreePartOperator|How to mimic C's a = b ? b : c]]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Help:Editing</id>
		<title>Help:Editing</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Help:Editing"/>
				<updated>2011-04-21T01:19:32Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: Links to various editing pages at mediawiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Quick tricks ===&lt;br /&gt;
* To get syntax highlighting, surround your source code with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source lang=&amp;quot;&amp;lt;/nowiki&amp;gt;''language''&amp;lt;nowiki&amp;gt;&amp;quot;&amp;gt;...&amp;lt;/source&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt;or (preferred) &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;&amp;lt;/nowiki&amp;gt;''language''&amp;lt;nowiki&amp;gt;&amp;quot;&amp;gt;...&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;The [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi#Supported_languages list of supported languages] is huge, and includes among many others '''c''', '''cpp''', '''java''', '''perl''', '''python'''. Note: lang attributes are in all lower case.&lt;br /&gt;
* To keep your indentation, but '''not''' show syntax highlighting, you may surround your code with ''pre'' tags: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;your code&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Editing in general ===&lt;br /&gt;
* How to use [http://www.mediawiki.org/wiki/Help:Formatting Markup] for bullets, faces, use of HTML&lt;br /&gt;
* How to create [http://www.mediawiki.org/wiki/Help:Links Links] of various kinds&lt;br /&gt;
* How to make [http://www.mediawiki.org/wiki/Help:Tables Tables]&lt;br /&gt;
* '''Way''' more than you wanted to know about [http://www.mediawiki.org/wiki/Help:Images Images]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Help:Contents</id>
		<title>Help:Contents</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Help:Contents"/>
				<updated>2011-04-21T01:12:58Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: Get rid of ugly boilerplate and make a link to our local help:editing page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Editing pages: [[Help:Editing]]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Help:Editing</id>
		<title>Help:Editing</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Help:Editing"/>
				<updated>2011-04-21T01:08:19Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: /* Quick tricks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I3XklJ  &amp;lt;a href=&amp;quot;http://jmzwylmlcpmi.com/&amp;quot;&amp;gt;jmzwylmlcpmi&amp;lt;/a&amp;gt;, [url=http://itxrhqkswyau.com/]itxrhqkswyau[/url], [link=http://xlszzokcgjcq.com/]xlszzokcgjcq[/link], http://inoiuhcpgrgx.com/&lt;br /&gt;
&lt;br /&gt;
=== Quick tricks ===&lt;br /&gt;
* To get syntax highlighting, surround your source code with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source lang=&amp;quot;&amp;lt;/nowiki&amp;gt;''language''&amp;lt;nowiki&amp;gt;&amp;quot;&amp;gt;...&amp;lt;/source&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt;or (preferred) &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;&amp;lt;/nowiki&amp;gt;''language''&amp;lt;nowiki&amp;gt;&amp;quot;&amp;gt;...&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;The [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi#Supported_languages list of supported languages] is huge, and includes among many others '''c''', '''cpp''', '''java''', '''perl''', '''python'''. Note: lang attributes are in all lower case.&lt;br /&gt;
* To keep your indentation, but '''not''' show syntax highlighting, you may surround your code with ''pre'' tags: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;your code&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Help:Formatting To mark up the page in other ways] ''Be sure to read to the bottom of the page where tables, links and images are mentioned.''&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Help:Editing</id>
		<title>Help:Editing</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Help:Editing"/>
				<updated>2011-04-21T01:07:52Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: be sure&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I3XklJ  &amp;lt;a href=&amp;quot;http://jmzwylmlcpmi.com/&amp;quot;&amp;gt;jmzwylmlcpmi&amp;lt;/a&amp;gt;, [url=http://itxrhqkswyau.com/]itxrhqkswyau[/url], [link=http://xlszzokcgjcq.com/]xlszzokcgjcq[/link], http://inoiuhcpgrgx.com/&lt;br /&gt;
&lt;br /&gt;
=== Quick tricks ===&lt;br /&gt;
* To get syntax highlighting, surround your source code with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source lang=&amp;quot;&amp;lt;/nowiki&amp;gt;''language''&amp;lt;nowiki&amp;gt;&amp;quot;&amp;gt;...&amp;lt;/source&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt;or (preferred) &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;&amp;lt;/nowiki&amp;gt;''language''&amp;lt;nowiki&amp;gt;&amp;quot;&amp;gt;...&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;The [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi#Supported_languages list of supported languages] is huge, and includes among many others '''c''', '''cpp''', '''java''', '''perl''', '''python'''. Note: lang attributes are in all lower case.&lt;br /&gt;
* To keep your indentation, but '''not''' show syntax highlighting, you may surround your code with ''pre'' tags: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;your code&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Help:Formatting To mark up the page in other ways] Be sure to read to the bottom of the page where tables, links and images are mentioned.&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Help:Editing</id>
		<title>Help:Editing</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Help:Editing"/>
				<updated>2011-04-21T01:04:31Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: how to markup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I3XklJ  &amp;lt;a href=&amp;quot;http://jmzwylmlcpmi.com/&amp;quot;&amp;gt;jmzwylmlcpmi&amp;lt;/a&amp;gt;, [url=http://itxrhqkswyau.com/]itxrhqkswyau[/url], [link=http://xlszzokcgjcq.com/]xlszzokcgjcq[/link], http://inoiuhcpgrgx.com/&lt;br /&gt;
&lt;br /&gt;
=== Quick tricks ===&lt;br /&gt;
* To get syntax highlighting, surround your source code with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source lang=&amp;quot;&amp;lt;/nowiki&amp;gt;''language''&amp;lt;nowiki&amp;gt;&amp;quot;&amp;gt;...&amp;lt;/source&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt;or (preferred) &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;&amp;lt;/nowiki&amp;gt;''language''&amp;lt;nowiki&amp;gt;&amp;quot;&amp;gt;...&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;The [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi#Supported_languages list of supported languages] is huge, and includes among many others '''c''', '''cpp''', '''java''', '''perl''', '''python'''. Note: lang attributes are in all lower case.&lt;br /&gt;
* To keep your indentation, but '''not''' show syntax highlighting, you may surround your code with ''pre'' tags: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;your code&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Help:Formatting To mark up the page in other ways]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Bash/Parsing_command_line_arguments_using_getopts</id>
		<title>Bash/Parsing command line arguments using getopts</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Bash/Parsing_command_line_arguments_using_getopts"/>
				<updated>2011-04-21T00:59:17Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: Add example of handling command line arguments&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an example of looping over the command line parameters, handling flags and arguments. To do it right, I ended up showing several other things too. The critical bits are&lt;br /&gt;
* looping by checking the number of remaining args '''$#'''&lt;br /&gt;
* using '''case / esac''', case tags '''xxx)''', '''shift''' and ''';;'''&lt;br /&gt;
* using '''cat &amp;lt;&amp;lt;EOM''' ... '''EOM''' to provide a multi-line message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
globalVariableStrings=''  # by default, bash variables are strings&lt;br /&gt;
declare -i globalVariableInt=0 # but if you know it's an int, declare it so&lt;br /&gt;
while [[ $# -gt 0 ]] ; do # $# is the count of command line args&lt;br /&gt;
  case $1 in              # $1 is the first (remaining) arg. &lt;br /&gt;
  # case tags can be simple regular expressions. cat &amp;lt;&amp;lt;EOM cats everything up to a solo EOM on a line&lt;br /&gt;
  -h|--h*)cat &amp;lt;&amp;lt;EOM       &lt;br /&gt;
Usage: $(basename $0) [flags] [arguments]&lt;br /&gt;
 -h/--help: Show this message and exit&lt;br /&gt;
 -i value /--int=value: handle an integer flag. Last one wins&lt;br /&gt;
 &amp;lt;argument&amp;gt; handle a non-flag argument. Each seen is appended&lt;br /&gt;
EOM&lt;br /&gt;
  exit 0 ;;               # exit 0 flags 'success'. ;; shows end of a case statement&lt;br /&gt;
  -i) shift;              # shift removes the first arg (-i here)&lt;br /&gt;
       globalVariableInt=$1  # set the integer value&lt;br /&gt;
       shift ;;           # remove the integer value and drop from the case block&lt;br /&gt;
  --int=*) &lt;br /&gt;
       globalVariableInt=$(echo $1|cut -f2 -d=) # -f: Which field; -d: what delimiter&lt;br /&gt;
       shift ;;           # as always&lt;br /&gt;
  *) globalVariableStrings=&amp;quot;$globalVariableStrings $1&amp;quot; # append argument&lt;br /&gt;
     shift ;;             # as always&lt;br /&gt;
  esac&lt;br /&gt;
done&lt;br /&gt;
echo &amp;quot;The integer is $globalVariableInt&amp;quot;&lt;br /&gt;
for s in $globalVariableStrings ; do&lt;br /&gt;
  echo &amp;quot;You entered argument '$s'&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Bash</id>
		<title>Bash</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Bash"/>
				<updated>2011-04-21T00:12:32Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Bash/LoopOverFiles|Loop over files]]&lt;br /&gt;
* [[Bash/commandLineArgs|Handle command line arguments]]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Main_Page"/>
				<updated>2010-11-24T06:35:58Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: /* Coding Standards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome to ProgrammingExamples.net!==&lt;br /&gt;
This site is intended to provide short, compilable code snippets demonstrating frequently used concepts in several programming languages. Please feel free to modify the existing examples, and add new examples!&lt;br /&gt;
&lt;br /&gt;
Please read [[Help:Editing|Editing Wiki Pages]] and [[Help:DosAndDonts|Do's and Don'ts]] before getting started.&lt;br /&gt;
&lt;br /&gt;
== Coding Standards ==&lt;br /&gt;
We don't want to get too carried away here, but below are some guidelines.&lt;br /&gt;
&lt;br /&gt;
* Use a sensible and internally consistent indentation scheme&lt;br /&gt;
* Use &amp;quot;best coding practices&amp;quot; for your language&lt;br /&gt;
* Use descriptive, fully spelled variable names (in English please)&lt;br /&gt;
** Good: dispatchTable, dispatch_table&lt;br /&gt;
** Bad: dispTbl, disp_tbl, mesaDespacho, avsändande_bord&lt;br /&gt;
* Comment (only) to clarify your code or your intention.&lt;br /&gt;
&lt;br /&gt;
== Languages ==&lt;br /&gt;
* [[CPP|C++]]&lt;br /&gt;
* [[Java]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
* [[Perl]]&lt;br /&gt;
&lt;br /&gt;
== GUI Systems ==&lt;br /&gt;
* [[Qt]]&lt;br /&gt;
* [[wxWidgets]]&lt;br /&gt;
&lt;br /&gt;
== Visualization/Graphics/Images ==&lt;br /&gt;
* [http://www.vtk.org/Wiki/VTK/Examples/Cxx VTK]&lt;br /&gt;
* [http://www.itk.org/Wiki/ITK/Examples ITK]&lt;br /&gt;
* [[OpenGL]]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Python/DictAsSwitch</id>
		<title>Python/DictAsSwitch</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Python/DictAsSwitch"/>
				<updated>2010-06-29T04:13:15Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Python|&amp;lt;font size='-2'&amp;gt;''back to Python examples''&amp;lt;/font&amp;gt;]]&lt;br /&gt;
----&lt;br /&gt;
In many languages, there is a switch or case statement. Python appears not to have that, so you will often see a lot of &amp;lt;code&amp;gt;if/elif/elif/.../else&amp;lt;/code&amp;gt; blocks. There is a better way using a dict.&amp;lt;br /&amp;gt;&lt;br /&gt;
For concreteness, lets mimic this C code:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int count_of_bs = 0&lt;br /&gt;
switch(a) {&lt;br /&gt;
  case 'a': call_a(a); break;&lt;br /&gt;
  case 'b': ++count_of_bs; break&lt;br /&gt;
  default: call_other(a); break;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Here it is in Python (with function definitions and a few quick tests)&lt;br /&gt;
=== switchExample.py ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
count_of_bs = 0&lt;br /&gt;
# these functions would have to be defined in any case.&lt;br /&gt;
def call_a(a):&lt;br /&gt;
  print 'a called with %s'%str(a)&lt;br /&gt;
&lt;br /&gt;
def call_other(a):&lt;br /&gt;
  print 'otherwise, with %s'%str(a)&lt;br /&gt;
&lt;br /&gt;
#this function is 'overhead' to make the switch statement work&lt;br /&gt;
def do_b(a):&lt;br /&gt;
  global count_of_bs&lt;br /&gt;
  count_of_bs += 1&lt;br /&gt;
&lt;br /&gt;
# this is the declaration of the switch&lt;br /&gt;
switch = {&lt;br /&gt;
  'a':call_a,&lt;br /&gt;
  'b': do_b,&lt;br /&gt;
  }&lt;br /&gt;
# run some test cases. Note that we handle non-scalars just fine&lt;br /&gt;
print ('count_of_bs %s'%count_of_bs)&lt;br /&gt;
for tc in ['b', 'a','b','c','b','alphabet',(99,'bottles','beer'),'b']:&lt;br /&gt;
  # this is how you use it&lt;br /&gt;
  switch.get(tc,call_other)(tc)&lt;br /&gt;
print ('count_of_bs %s'%count_of_bs)&lt;br /&gt;
  &lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;Output:&lt;br /&gt;
count_of_bs 0&lt;br /&gt;
a called with a&lt;br /&gt;
otherwise, with c&lt;br /&gt;
otherwise, with alphabet&lt;br /&gt;
otherwise, with (99, 'bottles', 'beer')&lt;br /&gt;
count_of_bs 4&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
[[Python|&amp;lt;font size='-2'&amp;gt;''back to Python examples''&amp;lt;/font&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Python/DictAsSwitch</id>
		<title>Python/DictAsSwitch</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Python/DictAsSwitch"/>
				<updated>2010-06-29T04:11:28Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: create example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Python|&amp;lt;font size='-2'&amp;gt;''back to Python examples''&amp;lt;/font&amp;gt;]]&lt;br /&gt;
----&lt;br /&gt;
In many languages, there is a switch or case statement. Python appears not to have that, so you will see a lot of if/elif/elif/.../else . There is a better way using a dict.&amp;lt;br /&amp;gt;&lt;br /&gt;
For concreteness, lets mimic this C code:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int count_of_bs = 0&lt;br /&gt;
switch(a) {&lt;br /&gt;
  case 'a': call_a(a); break;&lt;br /&gt;
  case 'b': ++count_of_bs; break&lt;br /&gt;
  default: call_other(a); break;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Here it is in Python (with function definitions and a few quick tests)&lt;br /&gt;
=== switchExample.py ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
count_of_bs = 0&lt;br /&gt;
# these functions would have to be defined in any case.&lt;br /&gt;
def call_a(a):&lt;br /&gt;
  print 'a called with %s'%str(a)&lt;br /&gt;
&lt;br /&gt;
def call_other(a):&lt;br /&gt;
  print 'otherwise, with %s'%str(a)&lt;br /&gt;
&lt;br /&gt;
#this function is 'overhead' to make the switch statement work&lt;br /&gt;
def do_b(a):&lt;br /&gt;
  global count_of_bs&lt;br /&gt;
  count_of_bs += 1&lt;br /&gt;
&lt;br /&gt;
# this is the declaration of the switch&lt;br /&gt;
switch = {&lt;br /&gt;
  'a':call_a,&lt;br /&gt;
  'b': do_b,&lt;br /&gt;
  }&lt;br /&gt;
# run some test cases. Note that we handle non-scalars just fine&lt;br /&gt;
print ('count_of_bs %s'%count_of_bs)&lt;br /&gt;
for tc in ['b', 'a','b','c','b','alphabet',(99,'bottles','beer'),'b']:&lt;br /&gt;
  # this is how you use it&lt;br /&gt;
  switch.get(tc,call_other)(tc)&lt;br /&gt;
print ('count_of_bs %s'%count_of_bs)&lt;br /&gt;
  &lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;Output:&lt;br /&gt;
count_of_bs 0&lt;br /&gt;
a called with a&lt;br /&gt;
otherwise, with c&lt;br /&gt;
otherwise, with alphabet&lt;br /&gt;
otherwise, with (99, 'bottles', 'beer')&lt;br /&gt;
count_of_bs 4&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
[[Python|&amp;lt;font size='-2'&amp;gt;''back to Python examples''&amp;lt;/font&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Python</id>
		<title>Python</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Python"/>
				<updated>2010-06-29T04:04:52Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: add switch example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Python =&lt;br /&gt;
[http://python.org/ The Python programming language]&lt;br /&gt;
* Is [http://python.org/download/ Freely available]&lt;br /&gt;
* Runs [http://python.org/about/#python-runs-everywhere &amp;quot;everywhere&amp;quot;]&lt;br /&gt;
* Is interpreted (byte code compiled)&lt;br /&gt;
* Has efficient high level [http://docs.python.org/tutorial/datastructures.html data structures]&lt;br /&gt;
* Provides simple, effective [http://en.wikipedia.org/wiki/Object-oriented_programming object oriented programming]&lt;br /&gt;
* Has dynamic typing ([http://en.wikipedia.org/wiki/Duck_typing duck typing])&lt;br /&gt;
* Has an extensive [http://docs.python.org/library/index.html standard library] as well as many [http://pypi.python.org/pypi 3rd party additions]&lt;br /&gt;
* Is readily extensible using code written in C or C++&lt;br /&gt;
There is [http://docs.python.org/ extensive online documentation], including a [http://docs.python.org/tutorial/index.html tutorial].&lt;br /&gt;
----&lt;br /&gt;
=== Python Programming Examples ===&lt;br /&gt;
* [[Python/Smtplib|Send Emails with SMTP Library]]&lt;br /&gt;
* [[Python/ManyArgs|Handle many parameters under maintenance]]&lt;br /&gt;
* [[Python/UserPasswords|Getting a user name and (hidden text) password]]&lt;br /&gt;
* [[Python/DictAsSwitch|How to do a switch/case statement in Python]]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/User_talk:Daviddoria</id>
		<title>User talk:Daviddoria</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/User_talk:Daviddoria"/>
				<updated>2010-06-27T23:19:22Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Ahh sorry! I was creating a topic when my Connection gave me away.''&lt;br /&gt;
&lt;br /&gt;
griswolf says: I was of two minds about moving the Dos and Don'ts off the main page:&lt;br /&gt;
# Make the main page cleaner by removing them completely&lt;br /&gt;
# Fail to en/dis-courage some behaviors by making lusers follow a link instead of having it in their face&lt;br /&gt;
&lt;br /&gt;
I came down squarely on the fence (ouch), and so left it as you see it. Your call?&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Python</id>
		<title>Python</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Python"/>
				<updated>2010-06-27T19:56:58Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: more of what Python is&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Python =&lt;br /&gt;
[http://python.org/ The Python programming language]&lt;br /&gt;
* Is [http://python.org/download/ Freely available]&lt;br /&gt;
* Runs [http://python.org/about/#python-runs-everywhere &amp;quot;everywhere&amp;quot;]&lt;br /&gt;
* Is interpreted (byte code compiled)&lt;br /&gt;
* Has efficient high level [http://docs.python.org/tutorial/datastructures.html data structures]&lt;br /&gt;
* Provides simple, effective [http://en.wikipedia.org/wiki/Object-oriented_programming object oriented programming]&lt;br /&gt;
* Has dynamic typing ([http://en.wikipedia.org/wiki/Duck_typing duck typing])&lt;br /&gt;
* Has an extensive [http://docs.python.org/library/index.html standard library] as well as many [http://pypi.python.org/pypi 3rd party additions]&lt;br /&gt;
* Is readily extensible using code written in C or C++&lt;br /&gt;
There is [http://docs.python.org/ extensive online documentation], including a [http://docs.python.org/tutorial/index.html tutorial].&lt;br /&gt;
----&lt;br /&gt;
=== Python Programming Examples ===&lt;br /&gt;
* [[Python/Smtplib|Send Emails with SMTP Library]]&lt;br /&gt;
* [[Python/ManyArgs|Handle many parameters under maintenance]]&lt;br /&gt;
* [[Python/UserPasswords|Getting a user name and (hidden text) password]]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Python</id>
		<title>Python</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Python"/>
				<updated>2010-06-27T19:48:51Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: mention password as hidden&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Python =&lt;br /&gt;
[http://python.org/ The Python programming language] is&lt;br /&gt;
* [http://python.org/download/ Freely available]&lt;br /&gt;
* Interpreted (byte code compiled)&lt;br /&gt;
* Has efficient high level [http://docs.python.org/tutorial/datastructures.html data structures]&lt;br /&gt;
* Provides simple, effective object oriented programming&lt;br /&gt;
* Has dynamic typing (duck typing)&lt;br /&gt;
* Has an extensive [http://docs.python.org/library/index.html standard library] as well as many [http://pypi.python.org/pypi 3rd party additions]&lt;br /&gt;
There is [http://docs.python.org/ extensive online documentation], including a [http://docs.python.org/tutorial/index.html tutorial].&lt;br /&gt;
----&lt;br /&gt;
=== Python Programming Examples ===&lt;br /&gt;
* [[Python/Smtplib|Send Emails with SMTP Library]]&lt;br /&gt;
* [[Python/ManyArgs|Handle many parameters under maintenance]]&lt;br /&gt;
* [[Python/UserPasswords|Getting a user name and (hidden text) password]]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Help:Editing</id>
		<title>Help:Editing</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Help:Editing"/>
				<updated>2010-06-27T19:47:01Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: mention pre tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== [http://www.mediawiki.org/wiki/Help:Editing_pages#Editing_rules.2C_editing_conventions.2C_and_formatting Editing Wiki Pages] ===&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Help:Formatting Text Formatting]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Links Creating Links]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Images Adding Images]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Tables Tables]&lt;br /&gt;
=== Quick tricks ===&lt;br /&gt;
* To get syntax highlighting, surround your source code with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source lang=&amp;quot;&amp;lt;/nowiki&amp;gt;''language''&amp;lt;nowiki&amp;gt;&amp;quot;&amp;gt;...&amp;lt;/source&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt;or (preferred) &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;&amp;lt;/nowiki&amp;gt;''language''&amp;lt;nowiki&amp;gt;&amp;quot;&amp;gt;...&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;The [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi#Supported_languages list of supported languages] is huge, and includes among many others '''c''', '''cpp''', '''java''', '''perl''', '''python'''. Note: lang attributes are in all lower case.&lt;br /&gt;
* To keep your indentation, but '''not''' show syntax highlighting, you may surround your code with ''pre'' tags: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;your code&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== '''Do'''s and '''Don't'''s for using the Programming Examples Wiki ===&lt;br /&gt;
* '''Do'''&lt;br /&gt;
** Create a 'dispatch page' for each new language that you add, put links to examples in that language on that page.&lt;br /&gt;
** Try to keep each example as short as possible... and no shorter!&lt;br /&gt;
** Try to demonstrate a single concept per example.&lt;br /&gt;
** Comment, comment, comment!&lt;br /&gt;
* '''Don't'''&lt;br /&gt;
** Do not treat the wiki as your own personal code dump. Things that are placed here should be useful for many people.&lt;br /&gt;
** Do not &amp;quot;hijack&amp;quot; code someone else has submitted by changing what it does. (Do improve it if you see a way)&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Help:Editing</id>
		<title>Help:Editing</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Help:Editing"/>
				<updated>2010-06-27T17:09:57Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: remove extraneous double quote&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== [http://www.mediawiki.org/wiki/Help:Editing_pages#Editing_rules.2C_editing_conventions.2C_and_formatting Editing Wiki Pages] ===&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Help:Formatting Text Formatting]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Links Creating Links]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Images Adding Images]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Tables Tables]&lt;br /&gt;
=== Quick tricks ===&lt;br /&gt;
* To get syntax highlighting, surround your source code with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source lang=&amp;quot;&amp;lt;/nowiki&amp;gt;''language''&amp;lt;nowiki&amp;gt;&amp;quot;&amp;gt;...&amp;lt;/source&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt;or (preferred) &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;&amp;lt;/nowiki&amp;gt;''language''&amp;lt;nowiki&amp;gt;&amp;quot;&amp;gt;...&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;The [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi#Supported_languages list of supported languages] is huge, and includes among many others '''c''', '''cpp''', '''java''', '''perl''', '''python'''. Note: lang attributes are in all lower case.&lt;br /&gt;
&lt;br /&gt;
=== '''Do'''s and '''Don't'''s for using the Programming Examples Wiki ===&lt;br /&gt;
* '''Do'''&lt;br /&gt;
** Create a 'dispatch page' for each new language that you add, put links to examples in that language on that page.&lt;br /&gt;
** Try to keep each example as short as possible... and no shorter!&lt;br /&gt;
** Try to demonstrate a single concept per example.&lt;br /&gt;
** Comment, comment, comment!&lt;br /&gt;
* '''Don't'''&lt;br /&gt;
** Do not treat the wiki as your own personal code dump. Things that are placed here should be useful for many people.&lt;br /&gt;
** Do not &amp;quot;hijack&amp;quot; code someone else has submitted by changing what it does. (Do improve it if you see a way)&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Help:Editing</id>
		<title>Help:Editing</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Help:Editing"/>
				<updated>2010-06-27T17:09:13Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: add suggestion to use syntaxhighlight tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== [http://www.mediawiki.org/wiki/Help:Editing_pages#Editing_rules.2C_editing_conventions.2C_and_formatting Editing Wiki Pages] ===&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Help:Formatting Text Formatting]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Links Creating Links]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Images Adding Images]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Tables Tables]&lt;br /&gt;
=== Quick tricks ===&amp;quot;&lt;br /&gt;
* To get syntax highlighting, surround your source code with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;source lang=&amp;quot;&amp;lt;/nowiki&amp;gt;''language''&amp;lt;nowiki&amp;gt;&amp;quot;&amp;gt;...&amp;lt;/source&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;br /&amp;gt;or (preferred) &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;&amp;lt;/nowiki&amp;gt;''language''&amp;lt;nowiki&amp;gt;&amp;quot;&amp;gt;...&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;The [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi#Supported_languages list of supported languages] is huge, and includes among many others '''c''', '''cpp''', '''java''', '''perl''', '''python'''. Note: lang attributes are in all lower case.&lt;br /&gt;
=== '''Do'''s and '''Don't'''s for using the Programming Examples Wiki ===&lt;br /&gt;
* '''Do'''&lt;br /&gt;
** Create a 'dispatch page' for each new language that you add, put links to examples in that language on that page.&lt;br /&gt;
** Try to keep each example as short as possible... and no shorter!&lt;br /&gt;
** Try to demonstrate a single concept per example.&lt;br /&gt;
** Comment, comment, comment!&lt;br /&gt;
* '''Don't'''&lt;br /&gt;
** Do not treat the wiki as your own personal code dump. Things that are placed here should be useful for many people.&lt;br /&gt;
** Do not &amp;quot;hijack&amp;quot; code someone else has submitted by changing what it does. (Do improve it if you see a way)&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Python/ManyArgs</id>
		<title>Python/ManyArgs</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Python/ManyArgs"/>
				<updated>2010-06-27T16:51:52Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: pre tag -&amp;gt; source tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Python|&amp;lt;font size='-2'&amp;gt;''back to Python examples''&amp;lt;/font&amp;gt;]]&lt;br /&gt;
----&lt;br /&gt;
Programmers spend much programming time doing maintenance on existing code. This snippet shows one way to handle a function that just keeps growing (without refactoring the code that uses it) in a nice flexible way&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import datetime&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
How to easily deal with many parameters in maintenance&lt;br /&gt;
The problem:&lt;br /&gt;
 - a function has grown to require many parameters, many with default values&lt;br /&gt;
 - the function is being maintained (and param list likely will grow)&lt;br /&gt;
The forces:&lt;br /&gt;
 - we want the defaults to be seen &amp;quot;all in one place&amp;quot; for self documentation&lt;br /&gt;
 - we may need to handle old positional parameters, also self documented&lt;br /&gt;
 - we want to allow the defaults to be defined outside the function def&lt;br /&gt;
 - we want speed and clarity&lt;br /&gt;
The answer: Use a dictionary of defaults&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
def handleManyArgs(root,logdir,auths,**kwargs):&lt;br /&gt;
  # handle old positional parameters: Historic artifact&lt;br /&gt;
  # opportunity to spell the names nicely, self-document meaning&lt;br /&gt;
  kwargs[&amp;quot;rootDirectory&amp;quot;] = root&lt;br /&gt;
  kwargs['logDirectory'] = logdir&lt;br /&gt;
  kwargs['authorizedUsers'] = auths&lt;br /&gt;
  # this dictionary will probably be from a configuration file or similar&lt;br /&gt;
  defaultArgs = {&lt;br /&gt;
    'alpha': 0,          # document this parameter&lt;br /&gt;
    'beta': 'usually',   # ditto&lt;br /&gt;
    'gamma': 'ray',      # ditto&lt;br /&gt;
    'delta': 12,         # etc&lt;br /&gt;
    'epsilon': 1.03e-12,&lt;br /&gt;
    'zeta': None,&lt;br /&gt;
    'eta': datetime.time(hour=11,minute=12,second=13),&lt;br /&gt;
    'theta': None,&lt;br /&gt;
    'etc': 'many more',&lt;br /&gt;
                 }&lt;br /&gt;
  for k,v in defaultArgs.items():&lt;br /&gt;
    kwargs.setdefault(k,v)&lt;br /&gt;
&lt;br /&gt;
  print &amp;quot;All arguments:\n  %s&amp;quot;%(&amp;quot;\n  &amp;quot;.join([&amp;quot;%s-&amp;gt;%s&amp;quot;%(str(k),str(v)) for k,v in kwargs.items()]))&lt;br /&gt;
  &lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:  &lt;br /&gt;
  handleManyArgs(&amp;quot;/&amp;quot;,&amp;quot;/tmp&amp;quot;,['griswolf'])&lt;br /&gt;
  handleManyArgs(&amp;quot;/&amp;quot;,&amp;quot;/tmp&amp;quot;,['griswolf','daviddoria'],gamma='mary',theta=1.35)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Python|&amp;lt;font size='-2'&amp;gt;''back to Python examples''&amp;lt;/font&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Main_Page"/>
				<updated>2010-06-27T16:46:35Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: tweaking (add link to the do's and don't section of the help page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome to ProgrammingExamples.net!==&lt;br /&gt;
This site is intended to provide short, compilable code snippets demonstrating frequently used concepts in several programming languages. Please feel free to modify the existing examples, and add new examples!&lt;br /&gt;
&lt;br /&gt;
==[[Help:Editing#Dos_and_Don.27ts_for_using_the_Programming_Examples_Wiki|&amp;quot;Do&amp;quot;s and &amp;quot;Don't&amp;quot;s]]==&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Do&amp;quot;s ===&lt;br /&gt;
* Create a 'dispatch page' for each new language that you add, put links to examples in that language on that page.&lt;br /&gt;
* Try to keep each example as short as possible.&lt;br /&gt;
* Try to demonstrate a single concept per example.&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Don't&amp;quot;s ===&lt;br /&gt;
* Do not treat the wiki as your own personal code dump. Things that are placed here should be useful for many people.&lt;br /&gt;
&lt;br /&gt;
== Coding Standards ==&lt;br /&gt;
We don't want to get too carried away here, but below are some guidelines.&lt;br /&gt;
&lt;br /&gt;
* Use a sensible and internally consistent indentation scheme&lt;br /&gt;
* Use &amp;quot;best coding practices&amp;quot; for your language&lt;br /&gt;
* Use descriptive, fully spelled variable names (in English please)&lt;br /&gt;
** Good: dispatchTable, dispatch_table&lt;br /&gt;
** Bad: dispTbl, disp_tbl, mesaDespacho, avsändande_bord&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
== Languages ==&lt;br /&gt;
* [[CPP|C++]]&lt;br /&gt;
* [[Java]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
* [[Perl]]&lt;br /&gt;
&lt;br /&gt;
== GUI Systems ==&lt;br /&gt;
* [[Qt]]&lt;br /&gt;
* [[wxWidgets]]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Help:Editing</id>
		<title>Help:Editing</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Help:Editing"/>
				<updated>2010-06-27T16:24:32Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: reformat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== [http://www.mediawiki.org/wiki/Help:Editing_pages#Editing_rules.2C_editing_conventions.2C_and_formatting Editing Wiki Pages] ===&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Help:Formatting Text Formatting]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Links Creating Links]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Images Adding Images]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Tables Tables]&lt;br /&gt;
=== '''Do'''s and '''Don't'''s for using the Programming Examples Wiki ===&lt;br /&gt;
* '''Do'''&lt;br /&gt;
** Create a 'dispatch page' for each new language that you add, put links to examples in that language on that page.&lt;br /&gt;
** Try to keep each example as short as possible... and no shorter!&lt;br /&gt;
** Try to demonstrate a single concept per example.&lt;br /&gt;
** Comment, comment, comment!&lt;br /&gt;
* '''Don't'''&lt;br /&gt;
** Do not treat the wiki as your own personal code dump. Things that are placed here should be useful for many people.&lt;br /&gt;
** Do not &amp;quot;hijack&amp;quot; code someone else has submitted by changing what it does. (Do improve it if you see a way)&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Help:Editing</id>
		<title>Help:Editing</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Help:Editing"/>
				<updated>2010-06-27T16:20:24Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: Reformat, add Dos and Don'ts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://www.mediawiki.org/wiki/Help:Editing_pages#Editing_rules.2C_editing_conventions.2C_and_formatting Editing Wiki Pages]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Formatting Text Formatting]&lt;br /&gt;
*** [http://www.mediawiki.org/wiki/Help:Links Creating Links]&lt;br /&gt;
*** [http://www.mediawiki.org/wiki/Help:Images Adding Images]&lt;br /&gt;
*** [http://www.mediawiki.org/wiki/Help:Tables Tables]&lt;br /&gt;
* '''Do'''s and '''Don't'''s for using the Programming Examples Wiki&lt;br /&gt;
** '''Do'''&lt;br /&gt;
*** Create a 'dispatch page' for each new language that you add, put links to examples in that language on that page.&lt;br /&gt;
*** Try to keep each example as short as possible... and no shorter!&lt;br /&gt;
*** Try to demonstrate a single concept per example.&lt;br /&gt;
*** Comment, comment, comment!&lt;br /&gt;
** '''Don't'''&lt;br /&gt;
*** Do not treat the wiki as your own personal code dump. Things that are placed here should be useful for many people.&lt;br /&gt;
*** Do not &amp;quot;hijack&amp;quot; code someone else has submitted by changing what it does. (Do improve it if you see a way)&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Help:Contents</id>
		<title>Help:Contents</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Help:Contents"/>
				<updated>2010-06-27T16:08:10Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: link to the Help:Editing page instead of putting it all here&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Help:Editing|Editing Wiki Pages]]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Help:Editing</id>
		<title>Help:Editing</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Help:Editing"/>
				<updated>2010-06-27T16:05:44Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: New page, better location than prior help&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [http://www.mediawiki.org/wiki/Help:Editing_pages#Editing_rules.2C_editing_conventions.2C_and_formatting Editing Wiki Pages] ==&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Help:Formatting Text Formatting]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Links Creating Links]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Images Adding Images]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Tables Tables]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Python/ManyArgs</id>
		<title>Python/ManyArgs</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Python/ManyArgs"/>
				<updated>2010-06-27T06:00:23Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: add back links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Python|&amp;lt;font size='-2'&amp;gt;''back to Python examples''&amp;lt;/font&amp;gt;]]&lt;br /&gt;
----&lt;br /&gt;
Programmers spend much programming time doing maintenance on existing code. This snippet shows one way to handle a function that just keeps growing (without refactoring the code that uses it) in a nice flexible way&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import datetime&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
How to easily deal with many parameters in maintenance&lt;br /&gt;
The problem:&lt;br /&gt;
 - a function has grown to require many parameters, many with default values&lt;br /&gt;
 - the function is being maintained (and param list likely will grow)&lt;br /&gt;
The forces:&lt;br /&gt;
 - we want the defaults to be seen &amp;quot;all in one place&amp;quot; for self documentation&lt;br /&gt;
 - we may need to handle old positional parameters, also self documented&lt;br /&gt;
 - we want to allow the defaults to be defined outside the function def&lt;br /&gt;
 - we want speed and clarity&lt;br /&gt;
The answer: Use a dictionary of defaults&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
def handleManyArgs(root,logdir,auths,**kwargs):&lt;br /&gt;
  # handle old positional parameters: Historic artifact&lt;br /&gt;
  # opportunity to spell the names nicely, self-document meaning&lt;br /&gt;
  kwargs[&amp;quot;rootDirectory&amp;quot;] = root&lt;br /&gt;
  kwargs['logDirectory'] = logdir&lt;br /&gt;
  kwargs['authorizedUsers'] = auths&lt;br /&gt;
  # this dictionary will probably be from a configuration file or similar&lt;br /&gt;
  defaultArgs = {&lt;br /&gt;
    'alpha': 0,          # document this parameter&lt;br /&gt;
    'beta': 'usually',   # ditto&lt;br /&gt;
    'gamma': 'ray',      # ditto&lt;br /&gt;
    'delta': 12,         # etc&lt;br /&gt;
    'epsilon': 1.03e-12,&lt;br /&gt;
    'zeta': None,&lt;br /&gt;
    'eta': datetime.time(hour=11,minute=12,second=13),&lt;br /&gt;
    'theta': None,&lt;br /&gt;
    'etc': 'many more',&lt;br /&gt;
                 }&lt;br /&gt;
  for k,v in defaultArgs.items():&lt;br /&gt;
    kwargs.setdefault(k,v)&lt;br /&gt;
&lt;br /&gt;
  print &amp;quot;All arguments:\n  %s&amp;quot;%(&amp;quot;\n  &amp;quot;.join([&amp;quot;%s-&amp;gt;%s&amp;quot;%(str(k),str(v)) for k,v in kwargs.items()]))&lt;br /&gt;
  &lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:  &lt;br /&gt;
  handleManyArgs(&amp;quot;/&amp;quot;,&amp;quot;/tmp&amp;quot;,['griswolf'])&lt;br /&gt;
  handleManyArgs(&amp;quot;/&amp;quot;,&amp;quot;/tmp&amp;quot;,['griswolf','daviddoria'],gamma='mary',theta=1.35)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Python|&amp;lt;font size='-2'&amp;gt;''back to Python examples''&amp;lt;/font&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Python/ManyArgs</id>
		<title>Python/ManyArgs</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Python/ManyArgs"/>
				<updated>2010-06-27T05:26:11Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: add the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Almost all programmers spend much programming time doing maintenance on existing code. This snippet shows one way to handle a function that just keeps growing (without refactoring the code that uses it) in a nice flexible way&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import datetime&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
How to easily deal with many parameters in maintenance&lt;br /&gt;
The problem:&lt;br /&gt;
 - a function has grown to require many parameters, many with default values&lt;br /&gt;
 - the function is being maintained (and param list likely will grow)&lt;br /&gt;
The forces:&lt;br /&gt;
 - we want the defaults to be seen &amp;quot;all in one place&amp;quot; for self documentation&lt;br /&gt;
 - we may need to handle old positional parameters, also self documented&lt;br /&gt;
 - we want to allow the defaults to be defined outside the function def&lt;br /&gt;
 - we want speed and clarity&lt;br /&gt;
The answer: Use a dictionary of defaults&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
def handleManyArgs(root,logdir,auths,**kwargs):&lt;br /&gt;
  # handle old positional parameters: Historic artifact&lt;br /&gt;
  # opportunity to spell the names nicely, self-document meaning&lt;br /&gt;
  kwargs[&amp;quot;rootDirectory&amp;quot;] = root&lt;br /&gt;
  kwargs['logDirectory'] = logdir&lt;br /&gt;
  kwargs['authorizedUsers'] = auths&lt;br /&gt;
  # this dictionary will probably be from a configuration file or similar&lt;br /&gt;
  defaultArgs = {&lt;br /&gt;
    'alpha': 0,          # document this parameter&lt;br /&gt;
    'beta': 'usually',   # ditto&lt;br /&gt;
    'gamma': 'ray',      # ditto&lt;br /&gt;
    'delta': 12,         # etc&lt;br /&gt;
    'epsilon': 1.03e-12,&lt;br /&gt;
    'zeta': None,&lt;br /&gt;
    'eta': datetime.time(hour=11,minute=12,second=13),&lt;br /&gt;
    'theta': None,&lt;br /&gt;
    'etc': 'many more',&lt;br /&gt;
                 }&lt;br /&gt;
  for k,v in defaultArgs.items():&lt;br /&gt;
    kwargs.setdefault(k,v)&lt;br /&gt;
&lt;br /&gt;
  print &amp;quot;All arguments:\n  %s&amp;quot;%(&amp;quot;\n  &amp;quot;.join([&amp;quot;%s-&amp;gt;%s&amp;quot;%(str(k),str(v)) for k,v in kwargs.items()]))&lt;br /&gt;
  &lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:  &lt;br /&gt;
  handleManyArgs(&amp;quot;/&amp;quot;,&amp;quot;/tmp&amp;quot;,['griswolf'])&lt;br /&gt;
  handleManyArgs(&amp;quot;/&amp;quot;,&amp;quot;/tmp&amp;quot;,['griswolf','daviddoria'],gamma='mary',theta=1.35)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Python</id>
		<title>Python</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Python"/>
				<updated>2010-06-27T05:18:57Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: /* Python Programming Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Python =&lt;br /&gt;
[http://python.org/ The Python programming language] is&lt;br /&gt;
* [http://python.org/download/ Freely available]&lt;br /&gt;
* Interpreted (byte code compiled)&lt;br /&gt;
* Has efficient high level [http://docs.python.org/tutorial/datastructures.html data structures]&lt;br /&gt;
* Provides simple, effective object oriented programming&lt;br /&gt;
* Has dynamic typing (duck typing)&lt;br /&gt;
* Has an extensive [http://docs.python.org/library/index.html standard library] as well as many [http://pypi.python.org/pypi 3rd party additions]&lt;br /&gt;
There is [http://docs.python.org/ extensive online documentation], including a [http://docs.python.org/tutorial/index.html tutorial].&lt;br /&gt;
----&lt;br /&gt;
=== Python Programming Examples ===&lt;br /&gt;
* [[Python/Smtplib|Send Emails with SMTP Library]]&lt;br /&gt;
* [[Python/ManyArgs|Handle many parameters under maintenance]]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Main_Page"/>
				<updated>2010-06-27T01:37:22Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome to ProgrammingExamples.net!==&lt;br /&gt;
This site is intended to provide short, compilable code snippets demonstrating frequently used concepts in several programming languages. Please feel free to modify the existing examples, and add new examples!&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Do&amp;quot;s and &amp;quot;Don't&amp;quot;s==&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Do&amp;quot;s ===&lt;br /&gt;
* Create a 'dispatch page' for each new language that you add, put links to examples in that language on that page.&lt;br /&gt;
* Try to keep each example as short as possible.&lt;br /&gt;
* Try to demonstrate a single concept per example.&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Don't&amp;quot;s ===&lt;br /&gt;
* Do not treat the wiki as your own personal code dump. Things that are placed here should be useful for many people.&lt;br /&gt;
&lt;br /&gt;
== Coding Standards ==&lt;br /&gt;
We don't want to get too carried away here, but below are some guidelines.&lt;br /&gt;
&lt;br /&gt;
* Try to use a sensible indentation scheme.&lt;br /&gt;
* Use descriptive, fully spelled variable names (in English please).&lt;br /&gt;
** Good: dispatchTable, dispatch_table&lt;br /&gt;
** Bad: dispTbl, disp_tbl, mesaDespacho, avsändande_bord&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
== [[CPP|C++]] ==&lt;br /&gt;
&lt;br /&gt;
== GUI Systems ==&lt;br /&gt;
====Qt====&lt;br /&gt;
&lt;br /&gt;
==== wxWidgets ====&lt;br /&gt;
&lt;br /&gt;
A C++ based toolkit that is primarily used to create nice graphics and GUIs. From their [http://www.wxwidgets.org/ Home Page]:&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background-color: lightgrey; border: solid thin grey; padding:5px;&amp;quot;&amp;gt;&lt;br /&gt;
wxWidgets is a C++ library that lets developers create applications for Windows, OS X, Linux and UNIX on 32-bit&lt;br /&gt;
 and 64-bit architectures as well as several mobile platforms including Windows Mobile, iPhone SDK and embedded GTK+.It has popular language bindings for Python, Perl, Ruby  and many other languages. Unlike other cross-platform toolkits, wxWidgets gives its applications a truly native look and feel because it uses the platform's native API rather than emulating the GUI. It's also extensive, free, open-source and mature. Why not give it a try?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One thing that this summary didn't mention is that there are more than GUI classes. There are classes that help with networking as well as many other whistles and bells. If you feel you need help there is a [http://forums.wxwidgets.org/ forum]. You can also buy the book at [http://www.amazon.com/gp/product/0131473816 Amazon] or [http://www.amazon.co.uk/gp/product/0131473816 Amazon.uk]. For more documentation, examples, tutorials, visit [http://wiki.wxwidgets.org/Main_Page Wiki Page]&lt;br /&gt;
&lt;br /&gt;
If you have any questions, you can direct them to [http://forum.wxwidgets.org wxForum].&lt;br /&gt;
&lt;br /&gt;
Stefano&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Evstevemd|Evstevemd]] 16:47, 25 June 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== [[Java]] ==&lt;br /&gt;
&lt;br /&gt;
== [[Python]] ==&lt;br /&gt;
&lt;br /&gt;
== [[Perl]] ==&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Perl</id>
		<title>Perl</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Perl"/>
				<updated>2010-06-27T01:31:13Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: Add page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Perl =&lt;br /&gt;
The Swiss Army Knife of scripting languages. Perl's motto is 'There is always another way'.&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Main_Page"/>
				<updated>2010-06-27T01:30:19Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: /* Perl */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome to ProgrammingExamples.net!==&lt;br /&gt;
This site is intended to provide short, compilable code snippets demonstrating frequently used concepts in several programming languages. Please feel free to modify the existing examples, and add new examples!&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Do&amp;quot;s and &amp;quot;Don't&amp;quot;s==&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Do&amp;quot;s ===&lt;br /&gt;
* Create a 'dispatch page' for each new language that you add, put links to examples in that language on that page.&lt;br /&gt;
* Try to keep each example as short as possible.&lt;br /&gt;
* Try to demonstrate a single concept per example.&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Don't&amp;quot;s ===&lt;br /&gt;
* Do not treat the wiki as your own personal code dump. Things that are placed here should be useful for many people.&lt;br /&gt;
&lt;br /&gt;
== Coding Standards ==&lt;br /&gt;
We don't want to get too carried away here, but below are some guidelines.&lt;br /&gt;
&lt;br /&gt;
* Try to use a sensible indentation scheme.&lt;br /&gt;
* Use descriptive variable names.&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== [[CPP|C++]] ==&lt;br /&gt;
&lt;br /&gt;
== GUI Systems ==&lt;br /&gt;
====Qt====&lt;br /&gt;
&lt;br /&gt;
==== wxWidgets ====&lt;br /&gt;
&lt;br /&gt;
A C++ based toolkit that is primarily used to create nice graphics and GUIs. From their [http://www.wxwidgets.org/ Home Page]:&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background-color: lightgrey; border: solid thin grey; padding:5px;&amp;quot;&amp;gt;&lt;br /&gt;
wxWidgets is a C++ library that lets developers create applications for Windows, OS X, Linux and UNIX on 32-bit&lt;br /&gt;
 and 64-bit architectures as well as several mobile platforms including Windows Mobile, iPhone SDK and embedded GTK+.It has popular language bindings for Python, Perl, Ruby  and many other languages. Unlike other cross-platform toolkits, wxWidgets gives its applications a truly native look and feel because it uses the platform's native API rather than emulating the GUI. It's also extensive, free, open-source and mature. Why not give it a try?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One thing that this summary didn't mention is that there are more than GUI classes. There are classes that help with networking as well as many other whistles and bells. If you feel you need help there is a [http://forums.wxwidgets.org/ forum]. You can also buy the book at [http://www.amazon.com/gp/product/0131473816 Amazon] or [http://www.amazon.co.uk/gp/product/0131473816 Amazon.uk]. For more documentation, examples, tutorials, visit [http://wiki.wxwidgets.org/Main_Page Wiki Page]&lt;br /&gt;
&lt;br /&gt;
If you have any questions, you can direct them to [http://forum.wxwidgets.org wxForum].&lt;br /&gt;
&lt;br /&gt;
Stefano&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Evstevemd|Evstevemd]] 16:47, 25 June 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== [[Java]] ==&lt;br /&gt;
&lt;br /&gt;
== [[Python]] ==&lt;br /&gt;
&lt;br /&gt;
== [[Perl]] ==&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Main_Page"/>
				<updated>2010-06-27T01:29:47Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: Dispatch to Java page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome to ProgrammingExamples.net!==&lt;br /&gt;
This site is intended to provide short, compilable code snippets demonstrating frequently used concepts in several programming languages. Please feel free to modify the existing examples, and add new examples!&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Do&amp;quot;s and &amp;quot;Don't&amp;quot;s==&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Do&amp;quot;s ===&lt;br /&gt;
* Create a 'dispatch page' for each new language that you add, put links to examples in that language on that page.&lt;br /&gt;
* Try to keep each example as short as possible.&lt;br /&gt;
* Try to demonstrate a single concept per example.&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Don't&amp;quot;s ===&lt;br /&gt;
* Do not treat the wiki as your own personal code dump. Things that are placed here should be useful for many people.&lt;br /&gt;
&lt;br /&gt;
== Coding Standards ==&lt;br /&gt;
We don't want to get too carried away here, but below are some guidelines.&lt;br /&gt;
&lt;br /&gt;
* Try to use a sensible indentation scheme.&lt;br /&gt;
* Use descriptive variable names.&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== [[CPP|C++]] ==&lt;br /&gt;
&lt;br /&gt;
== GUI Systems ==&lt;br /&gt;
====Qt====&lt;br /&gt;
&lt;br /&gt;
==== wxWidgets ====&lt;br /&gt;
&lt;br /&gt;
A C++ based toolkit that is primarily used to create nice graphics and GUIs. From their [http://www.wxwidgets.org/ Home Page]:&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background-color: lightgrey; border: solid thin grey; padding:5px;&amp;quot;&amp;gt;&lt;br /&gt;
wxWidgets is a C++ library that lets developers create applications for Windows, OS X, Linux and UNIX on 32-bit&lt;br /&gt;
 and 64-bit architectures as well as several mobile platforms including Windows Mobile, iPhone SDK and embedded GTK+.It has popular language bindings for Python, Perl, Ruby  and many other languages. Unlike other cross-platform toolkits, wxWidgets gives its applications a truly native look and feel because it uses the platform's native API rather than emulating the GUI. It's also extensive, free, open-source and mature. Why not give it a try?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One thing that this summary didn't mention is that there are more than GUI classes. There are classes that help with networking as well as many other whistles and bells. If you feel you need help there is a [http://forums.wxwidgets.org/ forum]. You can also buy the book at [http://www.amazon.com/gp/product/0131473816 Amazon] or [http://www.amazon.co.uk/gp/product/0131473816 Amazon.uk]. For more documentation, examples, tutorials, visit [http://wiki.wxwidgets.org/Main_Page Wiki Page]&lt;br /&gt;
&lt;br /&gt;
If you have any questions, you can direct them to [http://forum.wxwidgets.org wxForum].&lt;br /&gt;
&lt;br /&gt;
Stefano&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Evstevemd|Evstevemd]] 16:47, 25 June 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== [[Java]] ==&lt;br /&gt;
&lt;br /&gt;
== [[Python]] ==&lt;br /&gt;
&lt;br /&gt;
== Perl ==&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Java</id>
		<title>Java</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Java"/>
				<updated>2010-06-27T01:28:54Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: Create Java dispatch page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Java =&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Main_Page"/>
				<updated>2010-06-27T01:27:53Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: Move C++ stuff to its own page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome to ProgrammingExamples.net!==&lt;br /&gt;
This site is intended to provide short, compilable code snippets demonstrating frequently used concepts in several programming languages. Please feel free to modify the existing examples, and add new examples!&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Do&amp;quot;s and &amp;quot;Don't&amp;quot;s==&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Do&amp;quot;s ===&lt;br /&gt;
* Create a 'dispatch page' for each new language that you add, put links to examples in that language on that page.&lt;br /&gt;
* Try to keep each example as short as possible.&lt;br /&gt;
* Try to demonstrate a single concept per example.&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Don't&amp;quot;s ===&lt;br /&gt;
* Do not treat the wiki as your own personal code dump. Things that are placed here should be useful for many people.&lt;br /&gt;
&lt;br /&gt;
== Coding Standards ==&lt;br /&gt;
We don't want to get too carried away here, but below are some guidelines.&lt;br /&gt;
&lt;br /&gt;
* Try to use a sensible indentation scheme.&lt;br /&gt;
* Use descriptive variable names.&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== [[CPP|C++]] ==&lt;br /&gt;
&lt;br /&gt;
== GUI Systems ==&lt;br /&gt;
====Qt====&lt;br /&gt;
&lt;br /&gt;
==== wxWidgets ====&lt;br /&gt;
&lt;br /&gt;
A C++ based toolkit that is primarily used to create nice graphics and GUIs. From their [http://www.wxwidgets.org/ Home Page]:&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background-color: lightgrey; border: solid thin grey; padding:5px;&amp;quot;&amp;gt;&lt;br /&gt;
wxWidgets is a C++ library that lets developers create applications for Windows, OS X, Linux and UNIX on 32-bit&lt;br /&gt;
 and 64-bit architectures as well as several mobile platforms including Windows Mobile, iPhone SDK and embedded GTK+.It has popular language bindings for Python, Perl, Ruby  and many other languages. Unlike other cross-platform toolkits, wxWidgets gives its applications a truly native look and feel because it uses the platform's native API rather than emulating the GUI. It's also extensive, free, open-source and mature. Why not give it a try?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One thing that this summary didn't mention is that there are more than GUI classes. There are classes that help with networking as well as many other whistles and bells. If you feel you need help there is a [http://forums.wxwidgets.org/ forum]. You can also buy the book at [http://www.amazon.com/gp/product/0131473816 Amazon] or [http://www.amazon.co.uk/gp/product/0131473816 Amazon.uk]. For more documentation, examples, tutorials, visit [http://wiki.wxwidgets.org/Main_Page Wiki Page]&lt;br /&gt;
&lt;br /&gt;
If you have any questions, you can direct them to [http://forum.wxwidgets.org wxForum].&lt;br /&gt;
&lt;br /&gt;
Stefano&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Evstevemd|Evstevemd]] 16:47, 25 June 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Java ==&lt;br /&gt;
&lt;br /&gt;
== [[Python]] ==&lt;br /&gt;
&lt;br /&gt;
== Perl ==&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/CPP</id>
		<title>CPP</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/CPP"/>
				<updated>2010-06-27T01:25:02Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: Pull the C++ examples to this page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= C++ =&lt;br /&gt;
A statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as a &amp;quot;middle-level&amp;quot; language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell Labs as an enhancement to the C programming language and originally named C with Classes. It was renamed C++ in 1983. (http://en.wikipedia.org/wiki/C++)&lt;br /&gt;
----&lt;br /&gt;
=== Programming Examples ===&lt;br /&gt;
* [[CPP/AlphebetizeString|Alphabetize a vector of strings]]&lt;br /&gt;
* [[CPP/ZeroPad|Pad a number with zeros]]&lt;br /&gt;
* [[CPP/Array|Array]]&lt;br /&gt;
* [[CPP/2DArray|2D Array]]&lt;br /&gt;
* [[CPP/BinaryIO|Binary input and output]]&lt;br /&gt;
* [[CPP/ExecuteLinuxCommand|Execute a linux command]]&lt;br /&gt;
* [[CPP/Casting|Casting]]&lt;br /&gt;
* [[CPP/CharacterArray|Character array]]&lt;br /&gt;
* [[CPP/KeyboardInput|Keyboard input]]&lt;br /&gt;
* [[CPP/CommandLineArguments|Command line arguments]]&lt;br /&gt;
* [[CPP/DeepCopy|Deep copy]]&lt;br /&gt;
* [[CPP/DefaultArguments|Default arguments]]&lt;br /&gt;
* [[CPP/Enum|Enum]]&lt;br /&gt;
* [[CPP/Exceptions|Exceptions]]&lt;br /&gt;
* [[CPP/FunctionPointer|Function pointer]]&lt;br /&gt;
* [[CPP/Infinity|Infinity]]&lt;br /&gt;
* [[CPP/Logging|Logging]]&lt;br /&gt;
* [[CPP/Macros|Macros]]&lt;br /&gt;
* [[CPP/Namespaces|Namespaces]]&lt;br /&gt;
* [[CPP/NAN|NAN (not a number)]]&lt;br /&gt;
* [[CPP/OverloadOperator|Overload operator]]&lt;br /&gt;
* [[CPP/ParallelSort|Parallel sort]]&lt;br /&gt;
* [[CPP/RandomNumbers|Random numbers]]&lt;br /&gt;
* [[CPP/StringStream|StringStream]]&lt;br /&gt;
* [[CPP/Struct|Struct]]&lt;br /&gt;
* [[CPP/Switch|Switch]]&lt;br /&gt;
* [[CPP/Typedef|Typedef]]&lt;br /&gt;
* [[CPP/VariableNumberOfArguments|Variable number of function arguments]]&lt;br /&gt;
&lt;br /&gt;
=== I/O ===&lt;br /&gt;
* [[CPP/IO/Setw|Column width (setw)]]&lt;br /&gt;
* [[CPP/IO/FileInput|File input]]&lt;br /&gt;
* [[CPP/IO/FileOutput|File output]]&lt;br /&gt;
* [[CPP/IO/ReadingLines|Reading lines from a text file]]&lt;br /&gt;
&lt;br /&gt;
=== Strings ===&lt;br /&gt;
* [[CPP/Strings/Compare|Compare strings]]&lt;br /&gt;
* [[CPP/Strings/Concatenate|Concatenate]]&lt;br /&gt;
* [[CPP/Strings/CountCharacters|Count characters]]&lt;br /&gt;
* [[CPP/Strings/Split|Split]]&lt;br /&gt;
* [[CPP/Strings/Case_Conversion|Case conversion]]&lt;br /&gt;
&lt;br /&gt;
=== Classes ===&lt;br /&gt;
* [[CPP/Classes/ClassTemplate|Class template]]&lt;br /&gt;
* [[CPP/Classes/ConstructorInheritance|Constructor inheritance]]&lt;br /&gt;
* [[CPP/Classes/InitializationList|Initialization list]]&lt;br /&gt;
* [[CPP/Classes/DerivedClass|Derived class]]&lt;br /&gt;
* [[CPP/Classes/DownCasting|Down casting]]&lt;br /&gt;
* [[CPP/Classes/FriendClass|Friend class]]&lt;br /&gt;
* [[CPP/Classes/NestedClasses|Nested classes]]&lt;br /&gt;
* [[CPP/Classes/PureVirtualFunction|Pure virtual function]]&lt;br /&gt;
* [[CPP/Classes/Singleton|Singleton]]&lt;br /&gt;
&lt;br /&gt;
=== Loops ===&lt;br /&gt;
* [[CPP/Loops/DoWhile|Do while]]&lt;br /&gt;
* [[CPP/Loops/While|While]]&lt;br /&gt;
* [[CPP/Loops/For|For]]&lt;br /&gt;
&lt;br /&gt;
=== STL Data Structures ===&lt;br /&gt;
*[[CPP/STL/String|String]]&lt;br /&gt;
*[[CPP/STL/Vector|Vector]]&lt;br /&gt;
*[[CPP/STL/List|List]]&lt;br /&gt;
*[[CPP/STL/Set|Set]]&lt;br /&gt;
*[[CPP/STL/MultiSet|MultiSet]]&lt;br /&gt;
*[[CPP/STL/Map|Map]]&lt;br /&gt;
*[[CPP/STL/MultiMap|MultiMap]]&lt;br /&gt;
*[[CPP/STL/Pair|Pair]]&lt;br /&gt;
*[[CPP/STL/PriorityQueue|Priority queue]]&lt;br /&gt;
*[[CPP/STL/Queue|Queue]]&lt;br /&gt;
*[[CPP/STL/Tuple|Tuple]]&lt;br /&gt;
&lt;br /&gt;
=== STL Algorithms ===&lt;br /&gt;
*[[CPP/STL/RandomShuffle|Random shuffle]]&lt;br /&gt;
*[[CPP/STL/Sort|Sort]]&lt;br /&gt;
&lt;br /&gt;
=== Debugging ===&lt;br /&gt;
* [[CPP/Debugging/Assert|Assert]]&lt;br /&gt;
* [[CPP/Debugging/LineNumbers|LineNumbers]]&lt;br /&gt;
&lt;br /&gt;
=== C++ TR1 ===&lt;br /&gt;
&lt;br /&gt;
*[[CPP/TR1/Regex_Tokenising|Tokenising with RegEx]]&lt;br /&gt;
&lt;br /&gt;
=== C++0x ===&lt;br /&gt;
*[[CPP/C++0x/Hash|Hash]]&lt;br /&gt;
&lt;br /&gt;
=== Math ===&lt;br /&gt;
*[[CPP/Math/Exponential|Exponential function]]&lt;br /&gt;
*[[CPP/Math/MinMax|Min and Max]]&lt;br /&gt;
*[[CPP/Math/Trig|Trig functions]]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Help:Contents</id>
		<title>Help:Contents</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Help:Contents"/>
				<updated>2010-06-27T01:22:10Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: Make it easier to find help with wiki formatting issues&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [http://www.mediawiki.org/wiki/Help:Editing_pages#Editing_rules.2C_editing_conventions.2C_and_formatting Editing Wiki Pages] ==&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Help:Formatting Text Formatting]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Links Creating Links]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Images Adding Images]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Help:Tables Tables]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Main_Page"/>
				<updated>2010-06-27T01:16:45Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: Mention language dispatch pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome to ProgrammingExamples.net!==&lt;br /&gt;
This site is intended to provide short, compilable code snippets demonstrating frequently used concepts in several programming languages. Please feel free to modify the existing examples, and add new examples!&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Do&amp;quot;s and &amp;quot;Don't&amp;quot;s==&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Do&amp;quot;s ===&lt;br /&gt;
* Create a 'dispatch page' for each new language that you add, put links to examples in that language on that page.&lt;br /&gt;
* Try to keep each example as short as possible.&lt;br /&gt;
* Try to demonstrate a single concept per example.&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Don't&amp;quot;s ===&lt;br /&gt;
* Do not treat the wiki as your own personal code dump. Things that are placed here should be useful for many people.&lt;br /&gt;
&lt;br /&gt;
== Coding Standards ==&lt;br /&gt;
We don't want to get too carried away here, but below are some guidelines.&lt;br /&gt;
&lt;br /&gt;
* Try to use a sensible indentation scheme.&lt;br /&gt;
* Use descriptive variable names.&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== C++ ==&lt;br /&gt;
* [[CPP/AlphebetizeString|Alphabetize a vector of strings]]&lt;br /&gt;
* [[CPP/ZeroPad|Pad a number with zeros]]&lt;br /&gt;
* [[CPP/Array|Array]]&lt;br /&gt;
* [[CPP/2DArray|2D Array]]&lt;br /&gt;
* [[CPP/BinaryIO|Binary input and output]]&lt;br /&gt;
* [[CPP/ExecuteLinuxCommand|Execute a linux command]]&lt;br /&gt;
* [[CPP/Casting|Casting]]&lt;br /&gt;
* [[CPP/CharacterArray|Character array]]&lt;br /&gt;
* [[CPP/KeyboardInput|Keyboard input]]&lt;br /&gt;
* [[CPP/CommandLineArguments|Command line arguments]]&lt;br /&gt;
* [[CPP/DeepCopy|Deep copy]]&lt;br /&gt;
* [[CPP/DefaultArguments|Default arguments]]&lt;br /&gt;
* [[CPP/Enum|Enum]]&lt;br /&gt;
* [[CPP/Exceptions|Exceptions]]&lt;br /&gt;
* [[CPP/FunctionPointer|Function pointer]]&lt;br /&gt;
* [[CPP/Infinity|Infinity]]&lt;br /&gt;
* [[CPP/Logging|Logging]]&lt;br /&gt;
* [[CPP/Macros|Macros]]&lt;br /&gt;
* [[CPP/Namespaces|Namespaces]]&lt;br /&gt;
* [[CPP/NAN|NAN (not a number)]]&lt;br /&gt;
* [[CPP/OverloadOperator|Overload operator]]&lt;br /&gt;
* [[CPP/ParallelSort|Parallel sort]]&lt;br /&gt;
* [[CPP/RandomNumbers|Random numbers]]&lt;br /&gt;
* [[CPP/StringStream|StringStream]]&lt;br /&gt;
* [[CPP/Struct|Struct]]&lt;br /&gt;
* [[CPP/Switch|Switch]]&lt;br /&gt;
* [[CPP/Typedef|Typedef]]&lt;br /&gt;
* [[CPP/VariableNumberOfArguments|Variable number of function arguments]]&lt;br /&gt;
&lt;br /&gt;
=== I/O ===&lt;br /&gt;
* [[CPP/IO/Setw|Column width (setw)]]&lt;br /&gt;
* [[CPP/IO/FileInput|File input]]&lt;br /&gt;
* [[CPP/IO/FileOutput|File output]]&lt;br /&gt;
* [[CPP/IO/ReadingLines|Reading lines from a text file]]&lt;br /&gt;
&lt;br /&gt;
=== Strings ===&lt;br /&gt;
* [[CPP/Strings/Compare|Compare strings]]&lt;br /&gt;
* [[CPP/Strings/Concatenate|Concatenate]]&lt;br /&gt;
* [[CPP/Strings/CountCharacters|Count characters]]&lt;br /&gt;
* [[CPP/Strings/Split|Split]]&lt;br /&gt;
* [[CPP/Strings/Case_Conversion|Case conversion]]&lt;br /&gt;
&lt;br /&gt;
=== Classes ===&lt;br /&gt;
* [[CPP/Classes/ClassTemplate|Class template]]&lt;br /&gt;
* [[CPP/Classes/ConstructorInheritance|Constructor inheritance]]&lt;br /&gt;
* [[CPP/Classes/InitializationList|Initialization list]]&lt;br /&gt;
* [[CPP/Classes/DerivedClass|Derived class]]&lt;br /&gt;
* [[CPP/Classes/DownCasting|Down casting]]&lt;br /&gt;
* [[CPP/Classes/FriendClass|Friend class]]&lt;br /&gt;
* [[CPP/Classes/NestedClasses|Nested classes]]&lt;br /&gt;
* [[CPP/Classes/PureVirtualFunction|Pure virtual function]]&lt;br /&gt;
* [[CPP/Classes/Singleton|Singleton]]&lt;br /&gt;
&lt;br /&gt;
=== Loops ===&lt;br /&gt;
* [[CPP/Loops/DoWhile|Do while]]&lt;br /&gt;
* [[CPP/Loops/While|While]]&lt;br /&gt;
* [[CPP/Loops/For|For]]&lt;br /&gt;
&lt;br /&gt;
=== STL Data Structures ===&lt;br /&gt;
*[[CPP/STL/String|String]]&lt;br /&gt;
*[[CPP/STL/Vector|Vector]]&lt;br /&gt;
*[[CPP/STL/List|List]]&lt;br /&gt;
*[[CPP/STL/Set|Set]]&lt;br /&gt;
*[[CPP/STL/MultiSet|MultiSet]]&lt;br /&gt;
*[[CPP/STL/Map|Map]]&lt;br /&gt;
*[[CPP/STL/MultiMap|MultiMap]]&lt;br /&gt;
*[[CPP/STL/Pair|Pair]]&lt;br /&gt;
*[[CPP/STL/PriorityQueue|Priority queue]]&lt;br /&gt;
*[[CPP/STL/Queue|Queue]]&lt;br /&gt;
*[[CPP/STL/Tuple|Tuple]]&lt;br /&gt;
&lt;br /&gt;
=== STL Algorithms ===&lt;br /&gt;
*[[CPP/STL/RandomShuffle|Random shuffle]]&lt;br /&gt;
*[[CPP/STL/Sort|Sort]]&lt;br /&gt;
&lt;br /&gt;
=== Debugging ===&lt;br /&gt;
* [[CPP/Debugging/Assert|Assert]]&lt;br /&gt;
* [[CPP/Debugging/LineNumbers|LineNumbers]]&lt;br /&gt;
&lt;br /&gt;
=== C++ TR1 ===&lt;br /&gt;
&lt;br /&gt;
*[[CPP/TR1/Regex_Tokenising|Tokenising with RegEx]]&lt;br /&gt;
&lt;br /&gt;
=== C++0x ===&lt;br /&gt;
*[[CPP/C++0x/Hash|Hash]]&lt;br /&gt;
&lt;br /&gt;
=== Math ===&lt;br /&gt;
*[[CPP/Math/Exponential|Exponential function]]&lt;br /&gt;
*[[CPP/Math/MinMax|Min and Max]]&lt;br /&gt;
*[[CPP/Math/Trig|Trig functions]]&lt;br /&gt;
&lt;br /&gt;
=== GUI Systems ===&lt;br /&gt;
====Qt====&lt;br /&gt;
&lt;br /&gt;
==== wxWidgets ====&lt;br /&gt;
&lt;br /&gt;
A C++ based toolkit that is primarily used to create nice graphics and GUIs. From their [http://www.wxwidgets.org/ Home Page]:&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background-color: lightgrey; border: solid thin grey; padding:5px;&amp;quot;&amp;gt;&lt;br /&gt;
wxWidgets is a C++ library that lets developers create applications for Windows, OS X, Linux and UNIX on 32-bit&lt;br /&gt;
 and 64-bit architectures as well as several mobile platforms including Windows Mobile, iPhone SDK and embedded GTK+.It has popular language bindings for Python, Perl, Ruby  and many other languages. Unlike other cross-platform toolkits, wxWidgets gives its applications a truly native look and feel because it uses the platform's native API rather than emulating the GUI. It's also extensive, free, open-source and mature. Why not give it a try?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One thing that this summary didn't mention is that there are more than GUI classes. There are classes that help with networking as well as many other whistles and bells. If you feel you need help there is a [http://forums.wxwidgets.org/ forum]. You can also buy the book at [http://www.amazon.com/gp/product/0131473816 Amazon] or [http://www.amazon.co.uk/gp/product/0131473816 Amazon.uk]. For more documentation, examples, tutorials, visit [http://wiki.wxwidgets.org/Main_Page Wiki Page]&lt;br /&gt;
&lt;br /&gt;
If you have any questions, you can direct them to [http://forum.wxwidgets.org wxForum].&lt;br /&gt;
&lt;br /&gt;
Stefano&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Evstevemd|Evstevemd]] 16:47, 25 June 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Java ==&lt;br /&gt;
&lt;br /&gt;
== [[Python]] ==&lt;br /&gt;
&lt;br /&gt;
== Perl ==&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/CPP</id>
		<title>CPP</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/CPP"/>
				<updated>2010-06-27T01:14:57Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: Create a dispatch page for the C++ examples&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= C++ =&lt;br /&gt;
A statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as a &amp;quot;middle-level&amp;quot; language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell Labs as an enhancement to the C programming language and originally named C with Classes. It was renamed C++ in 1983. (http://en.wikipedia.org/wiki/C++)&lt;br /&gt;
----&lt;br /&gt;
=== Programming Examples ===&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Main_Page"/>
				<updated>2010-06-27T01:10:14Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: Move Python SMTP example listing to Python page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome to ProgrammingExamples.net!==&lt;br /&gt;
This site is intended to provide short, compilable code snippets demonstrating frequently used concepts in several programming languages. Please feel free to modify the existing examples, and add new examples!&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Do&amp;quot;s and &amp;quot;Don't&amp;quot;s==&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Do&amp;quot;s ===&lt;br /&gt;
* Try to keep each example as short as possible.&lt;br /&gt;
* Try to demonstrate a single concept per example.&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Don't&amp;quot;s ===&lt;br /&gt;
* Do not treat the wiki as your own personal code dump. Things that are placed here should be useful for many people.&lt;br /&gt;
&lt;br /&gt;
== Coding Standards ==&lt;br /&gt;
We don't want to get too carried away here, but below are some guidelines.&lt;br /&gt;
&lt;br /&gt;
* Try to use a sensible indentation scheme.&lt;br /&gt;
* Use descriptive variable names.&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== C++ ==&lt;br /&gt;
* [[CPP/AlphebetizeString|Alphabetize a vector of strings]]&lt;br /&gt;
* [[CPP/ZeroPad|Pad a number with zeros]]&lt;br /&gt;
* [[CPP/Array|Array]]&lt;br /&gt;
* [[CPP/2DArray|2D Array]]&lt;br /&gt;
* [[CPP/BinaryIO|Binary input and output]]&lt;br /&gt;
* [[CPP/ExecuteLinuxCommand|Execute a linux command]]&lt;br /&gt;
* [[CPP/Casting|Casting]]&lt;br /&gt;
* [[CPP/CharacterArray|Character array]]&lt;br /&gt;
* [[CPP/KeyboardInput|Keyboard input]]&lt;br /&gt;
* [[CPP/CommandLineArguments|Command line arguments]]&lt;br /&gt;
* [[CPP/DeepCopy|Deep copy]]&lt;br /&gt;
* [[CPP/DefaultArguments|Default arguments]]&lt;br /&gt;
* [[CPP/Enum|Enum]]&lt;br /&gt;
* [[CPP/Exceptions|Exceptions]]&lt;br /&gt;
* [[CPP/FunctionPointer|Function pointer]]&lt;br /&gt;
* [[CPP/Infinity|Infinity]]&lt;br /&gt;
* [[CPP/Logging|Logging]]&lt;br /&gt;
* [[CPP/Macros|Macros]]&lt;br /&gt;
* [[CPP/Namespaces|Namespaces]]&lt;br /&gt;
* [[CPP/NAN|NAN (not a number)]]&lt;br /&gt;
* [[CPP/OverloadOperator|Overload operator]]&lt;br /&gt;
* [[CPP/ParallelSort|Parallel sort]]&lt;br /&gt;
* [[CPP/RandomNumbers|Random numbers]]&lt;br /&gt;
* [[CPP/StringStream|StringStream]]&lt;br /&gt;
* [[CPP/Struct|Struct]]&lt;br /&gt;
* [[CPP/Switch|Switch]]&lt;br /&gt;
* [[CPP/Typedef|Typedef]]&lt;br /&gt;
* [[CPP/VariableNumberOfArguments|Variable number of function arguments]]&lt;br /&gt;
&lt;br /&gt;
=== I/O ===&lt;br /&gt;
* [[CPP/IO/Setw|Column width (setw)]]&lt;br /&gt;
* [[CPP/IO/FileInput|File input]]&lt;br /&gt;
* [[CPP/IO/FileOutput|File output]]&lt;br /&gt;
* [[CPP/IO/ReadingLines|Reading lines from a text file]]&lt;br /&gt;
&lt;br /&gt;
=== Strings ===&lt;br /&gt;
* [[CPP/Strings/Compare|Compare strings]]&lt;br /&gt;
* [[CPP/Strings/Concatenate|Concatenate]]&lt;br /&gt;
* [[CPP/Strings/CountCharacters|Count characters]]&lt;br /&gt;
* [[CPP/Strings/Split|Split]]&lt;br /&gt;
* [[CPP/Strings/Case_Conversion|Case conversion]]&lt;br /&gt;
&lt;br /&gt;
=== Classes ===&lt;br /&gt;
* [[CPP/Classes/ClassTemplate|Class template]]&lt;br /&gt;
* [[CPP/Classes/ConstructorInheritance|Constructor inheritance]]&lt;br /&gt;
* [[CPP/Classes/InitializationList|Initialization list]]&lt;br /&gt;
* [[CPP/Classes/DerivedClass|Derived class]]&lt;br /&gt;
* [[CPP/Classes/DownCasting|Down casting]]&lt;br /&gt;
* [[CPP/Classes/FriendClass|Friend class]]&lt;br /&gt;
* [[CPP/Classes/NestedClasses|Nested classes]]&lt;br /&gt;
* [[CPP/Classes/PureVirtualFunction|Pure virtual function]]&lt;br /&gt;
* [[CPP/Classes/Singleton|Singleton]]&lt;br /&gt;
&lt;br /&gt;
=== Loops ===&lt;br /&gt;
* [[CPP/Loops/DoWhile|Do while]]&lt;br /&gt;
* [[CPP/Loops/While|While]]&lt;br /&gt;
* [[CPP/Loops/For|For]]&lt;br /&gt;
&lt;br /&gt;
=== STL Data Structures ===&lt;br /&gt;
*[[CPP/STL/String|String]]&lt;br /&gt;
*[[CPP/STL/Vector|Vector]]&lt;br /&gt;
*[[CPP/STL/List|List]]&lt;br /&gt;
*[[CPP/STL/Set|Set]]&lt;br /&gt;
*[[CPP/STL/MultiSet|MultiSet]]&lt;br /&gt;
*[[CPP/STL/Map|Map]]&lt;br /&gt;
*[[CPP/STL/MultiMap|MultiMap]]&lt;br /&gt;
*[[CPP/STL/Pair|Pair]]&lt;br /&gt;
*[[CPP/STL/PriorityQueue|Priority queue]]&lt;br /&gt;
*[[CPP/STL/Queue|Queue]]&lt;br /&gt;
*[[CPP/STL/Tuple|Tuple]]&lt;br /&gt;
&lt;br /&gt;
=== STL Algorithms ===&lt;br /&gt;
*[[CPP/STL/RandomShuffle|Random shuffle]]&lt;br /&gt;
*[[CPP/STL/Sort|Sort]]&lt;br /&gt;
&lt;br /&gt;
=== Debugging ===&lt;br /&gt;
* [[CPP/Debugging/Assert|Assert]]&lt;br /&gt;
* [[CPP/Debugging/LineNumbers|LineNumbers]]&lt;br /&gt;
&lt;br /&gt;
=== C++ TR1 ===&lt;br /&gt;
&lt;br /&gt;
*[[CPP/TR1/Regex_Tokenising|Tokenising with RegEx]]&lt;br /&gt;
&lt;br /&gt;
=== C++0x ===&lt;br /&gt;
*[[CPP/C++0x/Hash|Hash]]&lt;br /&gt;
&lt;br /&gt;
=== Math ===&lt;br /&gt;
*[[CPP/Math/Exponential|Exponential function]]&lt;br /&gt;
*[[CPP/Math/MinMax|Min and Max]]&lt;br /&gt;
*[[CPP/Math/Trig|Trig functions]]&lt;br /&gt;
&lt;br /&gt;
=== GUI Systems ===&lt;br /&gt;
====Qt====&lt;br /&gt;
&lt;br /&gt;
==== wxWidgets ====&lt;br /&gt;
&lt;br /&gt;
A C++ based toolkit that is primarily used to create nice graphics and GUIs. From their [http://www.wxwidgets.org/ Home Page]:&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background-color: lightgrey; border: solid thin grey; padding:5px;&amp;quot;&amp;gt;&lt;br /&gt;
wxWidgets is a C++ library that lets developers create applications for Windows, OS X, Linux and UNIX on 32-bit&lt;br /&gt;
 and 64-bit architectures as well as several mobile platforms including Windows Mobile, iPhone SDK and embedded GTK+.It has popular language bindings for Python, Perl, Ruby  and many other languages. Unlike other cross-platform toolkits, wxWidgets gives its applications a truly native look and feel because it uses the platform's native API rather than emulating the GUI. It's also extensive, free, open-source and mature. Why not give it a try?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One thing that this summary didn't mention is that there are more than GUI classes. There are classes that help with networking as well as many other whistles and bells. If you feel you need help there is a [http://forums.wxwidgets.org/ forum]. You can also buy the book at [http://www.amazon.com/gp/product/0131473816 Amazon] or [http://www.amazon.co.uk/gp/product/0131473816 Amazon.uk]. For more documentation, examples, tutorials, visit [http://wiki.wxwidgets.org/Main_Page Wiki Page]&lt;br /&gt;
&lt;br /&gt;
If you have any questions, you can direct them to [http://forum.wxwidgets.org wxForum].&lt;br /&gt;
&lt;br /&gt;
Stefano&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Evstevemd|Evstevemd]] 16:47, 25 June 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Java ==&lt;br /&gt;
&lt;br /&gt;
== [[Python]] ==&lt;br /&gt;
&lt;br /&gt;
== Perl ==&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Python</id>
		<title>Python</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Python"/>
				<updated>2010-06-27T01:09:25Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: Move the SMTP emails link to this page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Python =&lt;br /&gt;
[http://python.org/ The Python programming language] is&lt;br /&gt;
* [http://python.org/download/ Freely available]&lt;br /&gt;
* Interpreted (byte code compiled)&lt;br /&gt;
* Has efficient high level [http://docs.python.org/tutorial/datastructures.html data structures]&lt;br /&gt;
* Provides simple, effective object oriented programming&lt;br /&gt;
* Has dynamic typing (duck typing)&lt;br /&gt;
* Has an extensive [http://docs.python.org/library/index.html standard library] as well as many [http://pypi.python.org/pypi 3rd party additions]&lt;br /&gt;
There is [http://docs.python.org/ extensive online documentation], including a [http://docs.python.org/tutorial/index.html tutorial].&lt;br /&gt;
----&lt;br /&gt;
=== Python Programming Examples ===&lt;br /&gt;
* [[Python/Smtplib|Send Emails with SMTP Library]]&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Main_Page"/>
				<updated>2010-06-27T01:07:58Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: Start to break the Python section off the main page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome to ProgrammingExamples.net!==&lt;br /&gt;
This site is intended to provide short, compilable code snippets demonstrating frequently used concepts in several programming languages. Please feel free to modify the existing examples, and add new examples!&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Do&amp;quot;s and &amp;quot;Don't&amp;quot;s==&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Do&amp;quot;s ===&lt;br /&gt;
* Try to keep each example as short as possible.&lt;br /&gt;
* Try to demonstrate a single concept per example.&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Don't&amp;quot;s ===&lt;br /&gt;
* Do not treat the wiki as your own personal code dump. Things that are placed here should be useful for many people.&lt;br /&gt;
&lt;br /&gt;
== Coding Standards ==&lt;br /&gt;
We don't want to get too carried away here, but below are some guidelines.&lt;br /&gt;
&lt;br /&gt;
* Try to use a sensible indentation scheme.&lt;br /&gt;
* Use descriptive variable names.&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== C++ ==&lt;br /&gt;
* [[CPP/AlphebetizeString|Alphabetize a vector of strings]]&lt;br /&gt;
* [[CPP/ZeroPad|Pad a number with zeros]]&lt;br /&gt;
* [[CPP/Array|Array]]&lt;br /&gt;
* [[CPP/2DArray|2D Array]]&lt;br /&gt;
* [[CPP/BinaryIO|Binary input and output]]&lt;br /&gt;
* [[CPP/ExecuteLinuxCommand|Execute a linux command]]&lt;br /&gt;
* [[CPP/Casting|Casting]]&lt;br /&gt;
* [[CPP/CharacterArray|Character array]]&lt;br /&gt;
* [[CPP/KeyboardInput|Keyboard input]]&lt;br /&gt;
* [[CPP/CommandLineArguments|Command line arguments]]&lt;br /&gt;
* [[CPP/DeepCopy|Deep copy]]&lt;br /&gt;
* [[CPP/DefaultArguments|Default arguments]]&lt;br /&gt;
* [[CPP/Enum|Enum]]&lt;br /&gt;
* [[CPP/Exceptions|Exceptions]]&lt;br /&gt;
* [[CPP/FunctionPointer|Function pointer]]&lt;br /&gt;
* [[CPP/Infinity|Infinity]]&lt;br /&gt;
* [[CPP/Logging|Logging]]&lt;br /&gt;
* [[CPP/Macros|Macros]]&lt;br /&gt;
* [[CPP/Namespaces|Namespaces]]&lt;br /&gt;
* [[CPP/NAN|NAN (not a number)]]&lt;br /&gt;
* [[CPP/OverloadOperator|Overload operator]]&lt;br /&gt;
* [[CPP/ParallelSort|Parallel sort]]&lt;br /&gt;
* [[CPP/RandomNumbers|Random numbers]]&lt;br /&gt;
* [[CPP/StringStream|StringStream]]&lt;br /&gt;
* [[CPP/Struct|Struct]]&lt;br /&gt;
* [[CPP/Switch|Switch]]&lt;br /&gt;
* [[CPP/Typedef|Typedef]]&lt;br /&gt;
* [[CPP/VariableNumberOfArguments|Variable number of function arguments]]&lt;br /&gt;
&lt;br /&gt;
=== I/O ===&lt;br /&gt;
* [[CPP/IO/Setw|Column width (setw)]]&lt;br /&gt;
* [[CPP/IO/FileInput|File input]]&lt;br /&gt;
* [[CPP/IO/FileOutput|File output]]&lt;br /&gt;
* [[CPP/IO/ReadingLines|Reading lines from a text file]]&lt;br /&gt;
&lt;br /&gt;
=== Strings ===&lt;br /&gt;
* [[CPP/Strings/Compare|Compare strings]]&lt;br /&gt;
* [[CPP/Strings/Concatenate|Concatenate]]&lt;br /&gt;
* [[CPP/Strings/CountCharacters|Count characters]]&lt;br /&gt;
* [[CPP/Strings/Split|Split]]&lt;br /&gt;
* [[CPP/Strings/Case_Conversion|Case conversion]]&lt;br /&gt;
&lt;br /&gt;
=== Classes ===&lt;br /&gt;
* [[CPP/Classes/ClassTemplate|Class template]]&lt;br /&gt;
* [[CPP/Classes/ConstructorInheritance|Constructor inheritance]]&lt;br /&gt;
* [[CPP/Classes/InitializationList|Initialization list]]&lt;br /&gt;
* [[CPP/Classes/DerivedClass|Derived class]]&lt;br /&gt;
* [[CPP/Classes/DownCasting|Down casting]]&lt;br /&gt;
* [[CPP/Classes/FriendClass|Friend class]]&lt;br /&gt;
* [[CPP/Classes/NestedClasses|Nested classes]]&lt;br /&gt;
* [[CPP/Classes/PureVirtualFunction|Pure virtual function]]&lt;br /&gt;
* [[CPP/Classes/Singleton|Singleton]]&lt;br /&gt;
&lt;br /&gt;
=== Loops ===&lt;br /&gt;
* [[CPP/Loops/DoWhile|Do while]]&lt;br /&gt;
* [[CPP/Loops/While|While]]&lt;br /&gt;
* [[CPP/Loops/For|For]]&lt;br /&gt;
&lt;br /&gt;
=== STL Data Structures ===&lt;br /&gt;
*[[CPP/STL/String|String]]&lt;br /&gt;
*[[CPP/STL/Vector|Vector]]&lt;br /&gt;
*[[CPP/STL/List|List]]&lt;br /&gt;
*[[CPP/STL/Set|Set]]&lt;br /&gt;
*[[CPP/STL/MultiSet|MultiSet]]&lt;br /&gt;
*[[CPP/STL/Map|Map]]&lt;br /&gt;
*[[CPP/STL/MultiMap|MultiMap]]&lt;br /&gt;
*[[CPP/STL/Pair|Pair]]&lt;br /&gt;
*[[CPP/STL/PriorityQueue|Priority queue]]&lt;br /&gt;
*[[CPP/STL/Queue|Queue]]&lt;br /&gt;
*[[CPP/STL/Tuple|Tuple]]&lt;br /&gt;
&lt;br /&gt;
=== STL Algorithms ===&lt;br /&gt;
*[[CPP/STL/RandomShuffle|Random shuffle]]&lt;br /&gt;
*[[CPP/STL/Sort|Sort]]&lt;br /&gt;
&lt;br /&gt;
=== Debugging ===&lt;br /&gt;
* [[CPP/Debugging/Assert|Assert]]&lt;br /&gt;
* [[CPP/Debugging/LineNumbers|LineNumbers]]&lt;br /&gt;
&lt;br /&gt;
=== C++ TR1 ===&lt;br /&gt;
&lt;br /&gt;
*[[CPP/TR1/Regex_Tokenising|Tokenising with RegEx]]&lt;br /&gt;
&lt;br /&gt;
=== C++0x ===&lt;br /&gt;
*[[CPP/C++0x/Hash|Hash]]&lt;br /&gt;
&lt;br /&gt;
=== Math ===&lt;br /&gt;
*[[CPP/Math/Exponential|Exponential function]]&lt;br /&gt;
*[[CPP/Math/MinMax|Min and Max]]&lt;br /&gt;
*[[CPP/Math/Trig|Trig functions]]&lt;br /&gt;
&lt;br /&gt;
=== GUI Systems ===&lt;br /&gt;
====Qt====&lt;br /&gt;
&lt;br /&gt;
==== wxWidgets ====&lt;br /&gt;
&lt;br /&gt;
A C++ based toolkit that is primarily used to create nice graphics and GUIs. From their [http://www.wxwidgets.org/ Home Page]:&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background-color: lightgrey; border: solid thin grey; padding:5px;&amp;quot;&amp;gt;&lt;br /&gt;
wxWidgets is a C++ library that lets developers create applications for Windows, OS X, Linux and UNIX on 32-bit&lt;br /&gt;
 and 64-bit architectures as well as several mobile platforms including Windows Mobile, iPhone SDK and embedded GTK+.It has popular language bindings for Python, Perl, Ruby  and many other languages. Unlike other cross-platform toolkits, wxWidgets gives its applications a truly native look and feel because it uses the platform's native API rather than emulating the GUI. It's also extensive, free, open-source and mature. Why not give it a try?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One thing that this summary didn't mention is that there are more than GUI classes. There are classes that help with networking as well as many other whistles and bells. If you feel you need help there is a [http://forums.wxwidgets.org/ forum]. You can also buy the book at [http://www.amazon.com/gp/product/0131473816 Amazon] or [http://www.amazon.co.uk/gp/product/0131473816 Amazon.uk]. For more documentation, examples, tutorials, visit [http://wiki.wxwidgets.org/Main_Page Wiki Page]&lt;br /&gt;
&lt;br /&gt;
If you have any questions, you can direct them to [http://forum.wxwidgets.org wxForum].&lt;br /&gt;
&lt;br /&gt;
Stefano&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Evstevemd|Evstevemd]] 16:47, 25 June 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Java ==&lt;br /&gt;
&lt;br /&gt;
== [[Python]] ==&lt;br /&gt;
* [[Python/Smtplib|Send Emails with SMTP Library]]&lt;br /&gt;
== Perl ==&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Python</id>
		<title>Python</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Python"/>
				<updated>2010-06-27T01:04:41Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: Break out the Python base page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Python =&lt;br /&gt;
[http://python.org/ The Python programming language] is&lt;br /&gt;
* [http://python.org/download/ Freely available]&lt;br /&gt;
* Interpreted (byte code compiled)&lt;br /&gt;
* Has efficient high level [http://docs.python.org/tutorial/datastructures.html data structures]&lt;br /&gt;
* Provides simple, effective object oriented programming&lt;br /&gt;
* Has dynamic typing (duck typing)&lt;br /&gt;
* Has an extensive [http://docs.python.org/library/index.html standard library] as well as many [http://pypi.python.org/pypi 3rd party additions]&lt;br /&gt;
There is [http://docs.python.org/ extensive online documentation], including a [http://docs.python.org/tutorial/index.html tutorial].&lt;br /&gt;
----&lt;br /&gt;
=== Python Programming Examples ===&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Main_Page"/>
				<updated>2010-06-27T00:47:45Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: make wxWidgits subsidiary to GUI Systems&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome to ProgrammingExamples.net!==&lt;br /&gt;
This site is intended to provide short, compilable code snippets demonstrating frequently used concepts in several programming languages. Please feel free to modify the existing examples, and add new examples!&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Do&amp;quot;s and &amp;quot;Don't&amp;quot;s==&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Do&amp;quot;s ===&lt;br /&gt;
* Try to keep each example as short as possible.&lt;br /&gt;
* Try to demonstrate a single concept per example.&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Don't&amp;quot;s ===&lt;br /&gt;
* Do not treat the wiki as your own personal code dump. Things that are placed here should be useful for many people.&lt;br /&gt;
&lt;br /&gt;
== Coding Standards ==&lt;br /&gt;
We don't want to get too carried away here, but below are some guidelines.&lt;br /&gt;
&lt;br /&gt;
* Try to use a sensible indentation scheme.&lt;br /&gt;
* Use descriptive variable names.&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== C++ ==&lt;br /&gt;
* [[CPP/AlphebetizeString|Alphabetize a vector of strings]]&lt;br /&gt;
* [[CPP/ZeroPad|Pad a number with zeros]]&lt;br /&gt;
* [[CPP/Array|Array]]&lt;br /&gt;
* [[CPP/2DArray|2D Array]]&lt;br /&gt;
* [[CPP/BinaryIO|Binary input and output]]&lt;br /&gt;
* [[CPP/ExecuteLinuxCommand|Execute a linux command]]&lt;br /&gt;
* [[CPP/Casting|Casting]]&lt;br /&gt;
* [[CPP/CharacterArray|Character array]]&lt;br /&gt;
* [[CPP/KeyboardInput|Keyboard input]]&lt;br /&gt;
* [[CPP/CommandLineArguments|Command line arguments]]&lt;br /&gt;
* [[CPP/DeepCopy|Deep copy]]&lt;br /&gt;
* [[CPP/DefaultArguments|Default arguments]]&lt;br /&gt;
* [[CPP/Enum|Enum]]&lt;br /&gt;
* [[CPP/Exceptions|Exceptions]]&lt;br /&gt;
* [[CPP/FunctionPointer|Function pointer]]&lt;br /&gt;
* [[CPP/Infinity|Infinity]]&lt;br /&gt;
* [[CPP/Logging|Logging]]&lt;br /&gt;
* [[CPP/Macros|Macros]]&lt;br /&gt;
* [[CPP/Namespaces|Namespaces]]&lt;br /&gt;
* [[CPP/NAN|NAN (not a number)]]&lt;br /&gt;
* [[CPP/OverloadOperator|Overload operator]]&lt;br /&gt;
* [[CPP/ParallelSort|Parallel sort]]&lt;br /&gt;
* [[CPP/RandomNumbers|Random numbers]]&lt;br /&gt;
* [[CPP/StringStream|StringStream]]&lt;br /&gt;
* [[CPP/Struct|Struct]]&lt;br /&gt;
* [[CPP/Switch|Switch]]&lt;br /&gt;
* [[CPP/Typedef|Typedef]]&lt;br /&gt;
* [[CPP/VariableNumberOfArguments|Variable number of function arguments]]&lt;br /&gt;
&lt;br /&gt;
=== I/O ===&lt;br /&gt;
* [[CPP/IO/Setw|Column width (setw)]]&lt;br /&gt;
* [[CPP/IO/FileInput|File input]]&lt;br /&gt;
* [[CPP/IO/FileOutput|File output]]&lt;br /&gt;
* [[CPP/IO/ReadingLines|Reading lines from a text file]]&lt;br /&gt;
&lt;br /&gt;
=== Strings ===&lt;br /&gt;
* [[CPP/Strings/Compare|Compare strings]]&lt;br /&gt;
* [[CPP/Strings/Concatenate|Concatenate]]&lt;br /&gt;
* [[CPP/Strings/CountCharacters|Count characters]]&lt;br /&gt;
* [[CPP/Strings/Split|Split]]&lt;br /&gt;
* [[CPP/Strings/Case_Conversion|Case conversion]]&lt;br /&gt;
&lt;br /&gt;
=== Classes ===&lt;br /&gt;
* [[CPP/Classes/ClassTemplate|Class template]]&lt;br /&gt;
* [[CPP/Classes/ConstructorInheritance|Constructor inheritance]]&lt;br /&gt;
* [[CPP/Classes/InitializationList|Initialization list]]&lt;br /&gt;
* [[CPP/Classes/DerivedClass|Derived class]]&lt;br /&gt;
* [[CPP/Classes/DownCasting|Down casting]]&lt;br /&gt;
* [[CPP/Classes/FriendClass|Friend class]]&lt;br /&gt;
* [[CPP/Classes/NestedClasses|Nested classes]]&lt;br /&gt;
* [[CPP/Classes/PureVirtualFunction|Pure virtual function]]&lt;br /&gt;
* [[CPP/Classes/Singleton|Singleton]]&lt;br /&gt;
&lt;br /&gt;
=== Loops ===&lt;br /&gt;
* [[CPP/Loops/DoWhile|Do while]]&lt;br /&gt;
* [[CPP/Loops/While|While]]&lt;br /&gt;
* [[CPP/Loops/For|For]]&lt;br /&gt;
&lt;br /&gt;
=== STL Data Structures ===&lt;br /&gt;
*[[CPP/STL/String|String]]&lt;br /&gt;
*[[CPP/STL/Vector|Vector]]&lt;br /&gt;
*[[CPP/STL/List|List]]&lt;br /&gt;
*[[CPP/STL/Set|Set]]&lt;br /&gt;
*[[CPP/STL/MultiSet|MultiSet]]&lt;br /&gt;
*[[CPP/STL/Map|Map]]&lt;br /&gt;
*[[CPP/STL/MultiMap|MultiMap]]&lt;br /&gt;
*[[CPP/STL/Pair|Pair]]&lt;br /&gt;
*[[CPP/STL/PriorityQueue|Priority queue]]&lt;br /&gt;
*[[CPP/STL/Queue|Queue]]&lt;br /&gt;
*[[CPP/STL/Tuple|Tuple]]&lt;br /&gt;
&lt;br /&gt;
=== STL Algorithms ===&lt;br /&gt;
*[[CPP/STL/RandomShuffle|Random shuffle]]&lt;br /&gt;
*[[CPP/STL/Sort|Sort]]&lt;br /&gt;
&lt;br /&gt;
=== Debugging ===&lt;br /&gt;
* [[CPP/Debugging/Assert|Assert]]&lt;br /&gt;
* [[CPP/Debugging/LineNumbers|LineNumbers]]&lt;br /&gt;
&lt;br /&gt;
=== C++ TR1 ===&lt;br /&gt;
&lt;br /&gt;
*[[CPP/TR1/Regex_Tokenising|Tokenising with RegEx]]&lt;br /&gt;
&lt;br /&gt;
=== C++0x ===&lt;br /&gt;
*[[CPP/C++0x/Hash|Hash]]&lt;br /&gt;
&lt;br /&gt;
=== Math ===&lt;br /&gt;
*[[CPP/Math/Exponential|Exponential function]]&lt;br /&gt;
*[[CPP/Math/MinMax|Min and Max]]&lt;br /&gt;
*[[CPP/Math/Trig|Trig functions]]&lt;br /&gt;
&lt;br /&gt;
=== GUI Systems ===&lt;br /&gt;
====Qt====&lt;br /&gt;
&lt;br /&gt;
==== wxWidgets ====&lt;br /&gt;
&lt;br /&gt;
A C++ based toolkit that is primarily used to create nice graphics and GUIs. From their [http://www.wxwidgets.org/ Home Page]:&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background-color: lightgrey; border: solid thin grey; padding:5px;&amp;quot;&amp;gt;&lt;br /&gt;
wxWidgets is a C++ library that lets developers create applications for Windows, OS X, Linux and UNIX on 32-bit&lt;br /&gt;
 and 64-bit architectures as well as several mobile platforms including Windows Mobile, iPhone SDK and embedded GTK+.It has popular language bindings for Python, Perl, Ruby  and many other languages. Unlike other cross-platform toolkits, wxWidgets gives its applications a truly native look and feel because it uses the platform's native API rather than emulating the GUI. It's also extensive, free, open-source and mature. Why not give it a try?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One thing that this summary didn't mention is that there are more than GUI classes. There are classes that help with networking as well as many other whistles and bells. If you feel you need help there is a [http://forums.wxwidgets.org/ forum]. You can also buy the book at [http://www.amazon.com/gp/product/0131473816 Amazon] or [http://www.amazon.co.uk/gp/product/0131473816 Amazon.uk]. For more documentation, examples, tutorials, visit [http://wiki.wxwidgets.org/Main_Page Wiki Page]&lt;br /&gt;
&lt;br /&gt;
If you have any questions, you can direct them to [http://forum.wxwidgets.org wxForum].&lt;br /&gt;
&lt;br /&gt;
Stefano&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Evstevemd|Evstevemd]] 16:47, 25 June 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Java ==&lt;br /&gt;
&lt;br /&gt;
== Python ==&lt;br /&gt;
* [[Python/Smtplib|Send Emails with SMTP Library]]&lt;br /&gt;
== Perl ==&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	<entry>
		<id>http://programmingexamples.net/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://programmingexamples.net/wiki/Main_Page"/>
				<updated>2010-06-27T00:42:46Z</updated>
		
		<summary type="html">&lt;p&gt;Griswolf: /* wxWidgets */  idiomatic english, cleanup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome to ProgrammingExamples.net!==&lt;br /&gt;
This site is intended to provide short, compilable code snippets demonstrating frequently used concepts in several programming languages. Please feel free to modify the existing examples, and add new examples!&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Do&amp;quot;s and &amp;quot;Don't&amp;quot;s==&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Do&amp;quot;s ===&lt;br /&gt;
* Try to keep each example as short as possible.&lt;br /&gt;
* Try to demonstrate a single concept per example.&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Don't&amp;quot;s ===&lt;br /&gt;
* Do not treat the wiki as your own personal code dump. Things that are placed here should be useful for many people.&lt;br /&gt;
&lt;br /&gt;
== Coding Standards ==&lt;br /&gt;
We don't want to get too carried away here, but below are some guidelines.&lt;br /&gt;
&lt;br /&gt;
* Try to use a sensible indentation scheme.&lt;br /&gt;
* Use descriptive variable names.&lt;br /&gt;
* Comment, comment, comment!&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== C++ ==&lt;br /&gt;
* [[CPP/AlphebetizeString|Alphabetize a vector of strings]]&lt;br /&gt;
* [[CPP/ZeroPad|Pad a number with zeros]]&lt;br /&gt;
* [[CPP/Array|Array]]&lt;br /&gt;
* [[CPP/2DArray|2D Array]]&lt;br /&gt;
* [[CPP/BinaryIO|Binary input and output]]&lt;br /&gt;
* [[CPP/ExecuteLinuxCommand|Execute a linux command]]&lt;br /&gt;
* [[CPP/Casting|Casting]]&lt;br /&gt;
* [[CPP/CharacterArray|Character array]]&lt;br /&gt;
* [[CPP/KeyboardInput|Keyboard input]]&lt;br /&gt;
* [[CPP/CommandLineArguments|Command line arguments]]&lt;br /&gt;
* [[CPP/DeepCopy|Deep copy]]&lt;br /&gt;
* [[CPP/DefaultArguments|Default arguments]]&lt;br /&gt;
* [[CPP/Enum|Enum]]&lt;br /&gt;
* [[CPP/Exceptions|Exceptions]]&lt;br /&gt;
* [[CPP/FunctionPointer|Function pointer]]&lt;br /&gt;
* [[CPP/Infinity|Infinity]]&lt;br /&gt;
* [[CPP/Logging|Logging]]&lt;br /&gt;
* [[CPP/Macros|Macros]]&lt;br /&gt;
* [[CPP/Namespaces|Namespaces]]&lt;br /&gt;
* [[CPP/NAN|NAN (not a number)]]&lt;br /&gt;
* [[CPP/OverloadOperator|Overload operator]]&lt;br /&gt;
* [[CPP/ParallelSort|Parallel sort]]&lt;br /&gt;
* [[CPP/RandomNumbers|Random numbers]]&lt;br /&gt;
* [[CPP/StringStream|StringStream]]&lt;br /&gt;
* [[CPP/Struct|Struct]]&lt;br /&gt;
* [[CPP/Switch|Switch]]&lt;br /&gt;
* [[CPP/Typedef|Typedef]]&lt;br /&gt;
* [[CPP/VariableNumberOfArguments|Variable number of function arguments]]&lt;br /&gt;
&lt;br /&gt;
=== I/O ===&lt;br /&gt;
* [[CPP/IO/Setw|Column width (setw)]]&lt;br /&gt;
* [[CPP/IO/FileInput|File input]]&lt;br /&gt;
* [[CPP/IO/FileOutput|File output]]&lt;br /&gt;
* [[CPP/IO/ReadingLines|Reading lines from a text file]]&lt;br /&gt;
&lt;br /&gt;
=== Strings ===&lt;br /&gt;
* [[CPP/Strings/Compare|Compare strings]]&lt;br /&gt;
* [[CPP/Strings/Concatenate|Concatenate]]&lt;br /&gt;
* [[CPP/Strings/CountCharacters|Count characters]]&lt;br /&gt;
* [[CPP/Strings/Split|Split]]&lt;br /&gt;
* [[CPP/Strings/Case_Conversion|Case conversion]]&lt;br /&gt;
&lt;br /&gt;
=== Classes ===&lt;br /&gt;
* [[CPP/Classes/ClassTemplate|Class template]]&lt;br /&gt;
* [[CPP/Classes/ConstructorInheritance|Constructor inheritance]]&lt;br /&gt;
* [[CPP/Classes/InitializationList|Initialization list]]&lt;br /&gt;
* [[CPP/Classes/DerivedClass|Derived class]]&lt;br /&gt;
* [[CPP/Classes/DownCasting|Down casting]]&lt;br /&gt;
* [[CPP/Classes/FriendClass|Friend class]]&lt;br /&gt;
* [[CPP/Classes/NestedClasses|Nested classes]]&lt;br /&gt;
* [[CPP/Classes/PureVirtualFunction|Pure virtual function]]&lt;br /&gt;
* [[CPP/Classes/Singleton|Singleton]]&lt;br /&gt;
&lt;br /&gt;
=== Loops ===&lt;br /&gt;
* [[CPP/Loops/DoWhile|Do while]]&lt;br /&gt;
* [[CPP/Loops/While|While]]&lt;br /&gt;
* [[CPP/Loops/For|For]]&lt;br /&gt;
&lt;br /&gt;
=== STL Data Structures ===&lt;br /&gt;
*[[CPP/STL/String|String]]&lt;br /&gt;
*[[CPP/STL/Vector|Vector]]&lt;br /&gt;
*[[CPP/STL/List|List]]&lt;br /&gt;
*[[CPP/STL/Set|Set]]&lt;br /&gt;
*[[CPP/STL/MultiSet|MultiSet]]&lt;br /&gt;
*[[CPP/STL/Map|Map]]&lt;br /&gt;
*[[CPP/STL/MultiMap|MultiMap]]&lt;br /&gt;
*[[CPP/STL/Pair|Pair]]&lt;br /&gt;
*[[CPP/STL/PriorityQueue|Priority queue]]&lt;br /&gt;
*[[CPP/STL/Queue|Queue]]&lt;br /&gt;
*[[CPP/STL/Tuple|Tuple]]&lt;br /&gt;
&lt;br /&gt;
=== STL Algorithms ===&lt;br /&gt;
*[[CPP/STL/RandomShuffle|Random shuffle]]&lt;br /&gt;
*[[CPP/STL/Sort|Sort]]&lt;br /&gt;
&lt;br /&gt;
=== Debugging ===&lt;br /&gt;
* [[CPP/Debugging/Assert|Assert]]&lt;br /&gt;
* [[CPP/Debugging/LineNumbers|LineNumbers]]&lt;br /&gt;
&lt;br /&gt;
=== C++ TR1 ===&lt;br /&gt;
&lt;br /&gt;
*[[CPP/TR1/Regex_Tokenising|Tokenising with RegEx]]&lt;br /&gt;
&lt;br /&gt;
=== C++0x ===&lt;br /&gt;
*[[CPP/C++0x/Hash|Hash]]&lt;br /&gt;
&lt;br /&gt;
=== Math ===&lt;br /&gt;
*[[CPP/Math/Exponential|Exponential function]]&lt;br /&gt;
*[[CPP/Math/MinMax|Min and Max]]&lt;br /&gt;
*[[CPP/Math/Trig|Trig functions]]&lt;br /&gt;
&lt;br /&gt;
=== GUI Systems ===&lt;br /&gt;
====Qt====&lt;br /&gt;
&lt;br /&gt;
== wxWidgets ==&lt;br /&gt;
&lt;br /&gt;
A C++ based toolkit that is primarily used to create nice graphics and GUIs. From their [http://www.wxwidgets.org/ Home Page]:&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background-color: lightgrey; border: solid thin grey; padding:5px;&amp;quot;&amp;gt;&lt;br /&gt;
wxWidgets is a C++ library that lets developers create applications for Windows, OS X, Linux and UNIX on 32-bit&lt;br /&gt;
 and 64-bit architectures as well as several mobile platforms including Windows Mobile, iPhone SDK and embedded GTK+.It has popular language bindings for Python, Perl, Ruby  and many other languages. Unlike other cross-platform toolkits, wxWidgets gives its applications a truly native look and feel because it uses the platform's native API rather than emulating the GUI. It's also extensive, free, open-source and mature. Why not give it a try?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One thing that this summary didn't mention is that there are more than GUI classes. There are classes that help with networking as well as many other whistles and bells. If you feel you need help there is a [http://forums.wxwidgets.org/ forum]. You can also buy the book at [http://www.amazon.com/gp/product/0131473816 Amazon] or [http://www.amazon.co.uk/gp/product/0131473816 Amazon.uk]. For more documentation, examples, tutorials, visit [http://wiki.wxwidgets.org/Main_Page Wiki Page]&lt;br /&gt;
&lt;br /&gt;
If you have any questions, you can direct them to [http://forum.wxwidgets.org wxForum].&lt;br /&gt;
&lt;br /&gt;
Stefano&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Evstevemd|Evstevemd]] 16:47, 25 June 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Java ==&lt;br /&gt;
&lt;br /&gt;
== Python ==&lt;br /&gt;
* [[Python/Smtplib|Send Emails with SMTP Library]]&lt;br /&gt;
== Perl ==&lt;/div&gt;</summary>
		<author><name>Griswolf</name></author>	</entry>

	</feed>