<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.compsci.ca/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.compsci.ca/index.php?feed=atom&amp;target=Cornflake&amp;title=Special%3AContributions%2FCornflake</id>
		<title>Compsci.ca Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.compsci.ca/index.php?feed=atom&amp;target=Cornflake&amp;title=Special%3AContributions%2FCornflake"/>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Special:Contributions/Cornflake"/>
		<updated>2026-04-14T23:35:23Z</updated>
		<subtitle>From Compsci.ca Wiki</subtitle>
		<generator>MediaWiki 1.16.0</generator>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=File:Md_avatar.png</id>
		<title>File:Md avatar.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=File:Md_avatar.png"/>
				<updated>2006-09-29T01:37:51Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: md's current avatar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;md's current avatar&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=IRC_channel</id>
		<title>IRC channel</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=IRC_channel"/>
				<updated>2006-05-19T07:15:48Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* New Network Information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[The]] #compsci.ca channel on IRC is where all the cool members are hanging out. Chances are, if you're not there, you're missing something exciting and important.&lt;br /&gt;
&lt;br /&gt;
==New Network Information==&lt;br /&gt;
'''Server:''' irc.compsci.ca&lt;br /&gt;
&lt;br /&gt;
'''Main Channel:'''  #compsci.ca&lt;br /&gt;
&lt;br /&gt;
'''Off Topic Channel:'''  #compsci.ca-chat&lt;br /&gt;
&lt;br /&gt;
This new network was formed by (in no particular order) Hacker_Dan, md, timmytheturtle, Hikaru79, TheFerret, and rdrake.  You can join either the server above, or one of the following leaf servers (excluding irc.compsci.ca, which is a hub):&lt;br /&gt;
*irc.compsci.ca ([[Hacker_Dan]])&lt;br /&gt;
*nadia.irc.compsci.ca ([[md]]/[[cornflake]])&lt;br /&gt;
*melchior.irc.compsci.ca ([[timmytheturtle]])&lt;br /&gt;
*ferret.irc.compsci.ca ([[TheFerret]])&lt;br /&gt;
*darkmatter.irc.compsci.ca:16667 ([[rdrake]]/cartoon_shark)&lt;br /&gt;
Of course, the owners of the servers are also your friendly neighbourhood IRCops.&lt;br /&gt;
&lt;br /&gt;
Joining a server near you *might* improve your latency; at least with those who are also near you. The server's are located as follows:&lt;br /&gt;
*irc.compsci.ca -&amp;gt; unknown&lt;br /&gt;
*nadia.irc.compsci.ca -&amp;gt; Ottawa&lt;br /&gt;
*melchior.irc.compsci.ca -&amp;gt; Kingston (?)&lt;br /&gt;
*ferret.irc.compsci.ca -&amp;gt; unknown&lt;br /&gt;
*darkmatter.irc.compsci.ca -&amp;gt; unknown&lt;br /&gt;
&lt;br /&gt;
==Old Information==&lt;br /&gt;
&lt;br /&gt;
'''Server:'''  irc.afternet.org&lt;br /&gt;
&lt;br /&gt;
'''Main Channel:''' #compsci.ca&lt;br /&gt;
&lt;br /&gt;
'''Off Topic Channel:''' #compsci.ca-chat&lt;br /&gt;
&lt;br /&gt;
'''Self-taught Programming Channel:''' #cs-self-taught&lt;br /&gt;
&lt;br /&gt;
To join the channel, you need an [[IRC Client]].  We recommend [[X-Chat]].  Join the AfterNET server, then join any of the above channels.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
===Of The Main Channel===&lt;br /&gt;
&lt;br /&gt;
Much of #compsci.ca's early history is shrouded in mystery. Nobody is quite sure the exact time when it was created, but rumour has it that [[Coutsos]] was its founder, although he did not begin to regularly attend it until quite some time later. Its first regular inhabitants were [[wtd]] and a mysterious lurker named [[Ultrahex]], who though a member of compsci does not seem to ever post on the forums. Things took off sometime in early 2005, when a wave of members, including [[Hikaru79]], [[Coutsos]], [[Cervantes]], and [[Gandalf]] started regularly attending the channel. At present, #compsci.ca has a regular population of about ten, give or take, although it is subject to occasional flurries of activity, often when the moon is full.&lt;br /&gt;
&lt;br /&gt;
As of April 15th, 2006, #compsci.ca is for [[CompSci.ca]] and programming related discussion.  Excessive off topic discussion is to be held in #compsci.ca-chat.&lt;br /&gt;
&lt;br /&gt;
===Of The Self-taught Programming Channel===&lt;br /&gt;
This channel was thought of on the [http://www.compsci.ca/v2/viewtopic.php?t=10613 forums] by [[wtd]] on December 14, 2005. The main interest of this new channel is [[Ruby]] and [[O'Caml]]. This channel is not for the people who are taught programming in high school but for the people who self-teach it. When [[wtd]] announced it, there was a great cheer for [[wtd]] since he created the channel for the rest of the users to use and ask questions about.&lt;br /&gt;
&lt;br /&gt;
===Of The Compsci.ca Chat Channel===&lt;br /&gt;
Founded in April 15th, 2006 during the [[Great IRC Crackdown]] of 2006, it was designed to reduce much of the spam going on in the #compsci.ca main room.&lt;br /&gt;
&lt;br /&gt;
This new channel is a place for more relaxed chat, the old is for more [[CompSci.ca]] related discussion and computer science in general.  Programming, operating systems, etc., it's all welcome in #compsci.ca.  If you are going to spam, please join #compsci.ca-chat.  If you spam too much, you will be devoiced and/or kicked.&lt;br /&gt;
&lt;br /&gt;
==Daily Life==&lt;br /&gt;
&lt;br /&gt;
Much of #compsci.ca's time is spent in utter silence (while its members spend time in deep personal reflection and thought), broken periodically by outbursts of conversation, instruction, and weirdness. Hilarity often ensues. Confusion can become rampant when [[the]] mature members take to stealing each other's nicknames (see [[Coutsos Identity Crisis]]).  On a good day, [[wtd]] can be observed teaching some interesting, mind-blowing new programming concept.&lt;br /&gt;
&lt;br /&gt;
Ocasionally if you are really lucky you'll witness something as bizzare as [http://www.compsci.ca/wiki/index.php?title=IRC_2006_01_17 this wonderful event].&lt;br /&gt;
&lt;br /&gt;
== IRC Names to CompSci.ca User Names ==&lt;br /&gt;
*'''[[wtd]]''' - wtd, Lotho&lt;br /&gt;
*'''[[Cornflake]]''' - God, md, or cornflake&lt;br /&gt;
*'''[[Coutsos]]''' - Coutsos&lt;br /&gt;
*'''[[Cervantes]]''' - Cervantes, [[Minsc]], and 100's of other variations that come up&lt;br /&gt;
*'''[[Gandalf]]''' - Gandalf, [Gandalf]&lt;br /&gt;
*'''[[Hikaru79]]''' - Hikaru79&lt;br /&gt;
*'''[[Hacker Dan]]''' - Hacker_Dan, Dan&lt;br /&gt;
*'''[[timmytheturtle]]''' - timmy, timmytheturtle, timmythetortoise&lt;br /&gt;
*'''[[Amailer]]''' - Amailer&lt;br /&gt;
*'''[[TheFerret]]''' - TheFerret&lt;br /&gt;
*'''[[Martin]]''' - mdkess&lt;br /&gt;
*'''[[cartoon_shark]]''' - rdrake&lt;br /&gt;
*'''[[rizzix]]''' - rizzix&lt;br /&gt;
*Compwiz333 - '''[[A-Pomb]]'''&lt;br /&gt;
*Bored - Bored, Confused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;*Note: May vary greatly when [[name-switching game]] is in progress.&lt;br /&gt;
&lt;br /&gt;
==The Future==&lt;br /&gt;
&lt;br /&gt;
The future for #compsci.ca is looking bright, as it receives more and more attention in the compsci.ca community, particularly through the siggies and evangelism of [[Cervantes]], [[Coutsos]], and [[Hikaru79]]. With any luck, it will soon be as integral a part of the compsci.ca experience as the forum has come to be. &lt;br /&gt;
&lt;br /&gt;
[[Hacker Dan]] has integrated a Java-based IRC client that will send users to the channel directly from the forums. The feature is currently included in the alpha version of [[V3]].&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Coutsos_Identity_Crisis</id>
		<title>Coutsos Identity Crisis</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Coutsos_Identity_Crisis"/>
				<updated>2006-05-01T21:23:02Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* Theories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It is a little known fact, but Coutsos claims that he has a twin.  Of course, that's just wacky.  It is much more plausible that Coutsos actually has Schizophrenia.  There is plenty of evidence for this, but this article will focus on one in particular.&lt;br /&gt;
&lt;br /&gt;
== December 12, 2005 ==&lt;br /&gt;
On the aforementioned date, Coutsos and several other [[CompSci.ca]] members were chatting in [[the]] [[IRC channel]], as usual.  Coutsos went silent for a bit, and when he came back he sounded different.  He sounded gruffer.  The new Coutsos claimed that he was in fact the twin of the old Coutsos.  What's more, he claimed that he punched the old Coutsos in the face and that there was blood all over the keybaord.  &lt;br /&gt;
&lt;br /&gt;
But Coutsos had more tricks up his sleeves.  Shortly after the &amp;quot;new&amp;quot; Coutsos showed up, another Coutsos entered the channel.  The two versions of Coutsos had some arguments regarding which video card was a better buy.  [[Cervantes]] noticed that Coutsos was in distress: he was obviously having his most severe identity crisis yet.  [[Cervantes]] changed his nickname to ''&amp;quot;Coutsos3&amp;quot;'', and others followed suit.  [[The]] better part of the channel became Coutsos, in an attempt to ease the pain of the one true Coutsos.&lt;br /&gt;
&lt;br /&gt;
The channel looked something like this:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Hacker Dan|Hacker_Dan]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Ultrahex]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[X3]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[boo-chan]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Coutsos1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Coutsos2&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Coutsos3&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Coutsos4&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Coutsos5&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Coutsos6&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[wtd|Lotho]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
It should be noted that the reason there were not more versions of [[Coutsos]] is merely because [[boo-chan]], [[Hacker Dan]], and [[wtd|Lotho]] were away at the time.&lt;br /&gt;
&lt;br /&gt;
==Theories==&lt;br /&gt;
So far, there are only a few theories that attempt to explain this phenomenon.  The best known is the [[Array_Theory_of_The_Coutsos_Identity_Crisis|Array Theory of The Coutsos Identity Crisis]].&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Cornflake</id>
		<title>Cornflake</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Cornflake"/>
				<updated>2006-04-17T03:34:56Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* Who is Cornflake? */ no more CS!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Who is Cornflake? ==&lt;br /&gt;
[[Image:cornflake_avatar1.gif|thumb|right|Cornflake's current avatar]]&lt;br /&gt;
Cornflake joined the forums in 2004 after hearing about [[CompSci.ca]] from it's two of it's key members [[Tony]] and [[Martin]]. He is a decent [[C]]/[[CPP|C++]]/[[Pascal]] programmer, but knows many other languages well enough to be able to help out. Cornflake is usually fairly good when it comes to helping people who ask nicely, but has been known to be a complete ass to people who do or say dumb things. Usually these people fall under the title of [[noob]] and are equally despised by all. &lt;br /&gt;
&lt;br /&gt;
Cornflake is a student at the [[University of Waterloo]], and can usually be found lurking in the [[IRC channel]]. He is also the only member of compsci to have seen the illusive giant 42.[[Image:42.png|thumb|[[42]]]]&lt;br /&gt;
&lt;br /&gt;
== Quotes ==&lt;br /&gt;
''Got up one morning at camp hungery. Very hungry. So I ate three boxes (yes boxes) of cornflakes.''[http://www.compsci.ca/v2/viewtopic.php?t=9560#91307]&lt;br /&gt;
&lt;br /&gt;
== Past Avatars ==&lt;br /&gt;
[[Image:cornflake_avatar2.png|thumb|left|The Original]]&lt;br /&gt;
[[Image:cornflake_avatar1.gif|thumb|left|New and Improved]]&lt;br /&gt;
[[Image:cornflake_avatar3.png|thumb|left|Duck Style]]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=IRC_channel</id>
		<title>IRC channel</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=IRC_channel"/>
				<updated>2006-04-15T03:45:44Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* Of The Main Channel */ fixed ultrahex's status and chanel population&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[The]] #compsci.ca channel on IRC is where all the cool members are hanging out. Chances are, if you're not there, you're missing something exciting and important.&lt;br /&gt;
&lt;br /&gt;
==Information==&lt;br /&gt;
&lt;br /&gt;
'''Server:'''  irc.afternet.org&lt;br /&gt;
&lt;br /&gt;
'''Main Channel:''' #compsci.ca&lt;br /&gt;
&lt;br /&gt;
'''Self-taught Programming Channel:''' #cs-self-taught&lt;br /&gt;
&lt;br /&gt;
To join the channel, you need an [[IRC Client]].  We recommend [[X-Chat]].  Join the AfterNET server, then join #compsci.ca and/or #cs-self-taught.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
===Of The Main Channel===&lt;br /&gt;
&lt;br /&gt;
Much of #compsci.ca's early history is shrouded in mystery. Nobody is quite sure the exact time when it was created, but rumour has it that [[Coutsos]] was its founder, although he did not begin to regularly attend it until quite some time later. Its first regular inhabitants were [[wtd]] and a mysterious lurker named [[Ultrahex]], who though a member of compsci does not seem to ever post on the forums. Things took off sometime in early 2005, when a wave of members, including [[Hikaru79]], [[Coutsos]], [[Cervantes]], and [[Gandalf]] started regularly attending the channel. At present, #compsci.ca has a regular population of about ten, give or take, although it is subject to occasional flurries of activity, often when the moon is full.&lt;br /&gt;
&lt;br /&gt;
===Of The Self-taught Programming Channel===&lt;br /&gt;
This channel was thought of on the [http://www.compsci.ca/v2/viewtopic.php?t=10613 forums] by [[wtd]] on December 14, 2005. The main interest of this new channel is [[Ruby]] and [[O'Caml]]. This channel is not for the people who are taught programming in high school but for the people who self-teach it. When [[wtd]] announced it, there was a great cheer for [[wtd]] since he created the channel for the rest of the users to use and ask questions about.&lt;br /&gt;
&lt;br /&gt;
==Daily Life==&lt;br /&gt;
&lt;br /&gt;
Much of #compsci.ca's time is spent in utter silence (while its members spend time in deep personal reflection and thought), broken periodically by outbursts of conversation, instruction, and weirdness. Hilarity often ensues. Confusion can become rampant when [[the]] mature members take to stealing each other's nicknames (see [[Coutsos Identity Crisis]]).  On a good day, [[wtd]] can be observed teaching some interesting, mind-blowing new programming concept.&lt;br /&gt;
&lt;br /&gt;
Ocasionally if you are really lucky you'll witness something as bizzare as [http://www.compsci.ca/wiki/index.php?title=IRC_2006_01_17 this wonderful event].&lt;br /&gt;
&lt;br /&gt;
== IRC Names to CompSci.ca User Names ==&lt;br /&gt;
*'''[[wtd]]''' - wtd, Lotho&lt;br /&gt;
*'''[[Cornflake]]''' - God, md, or cornflake&lt;br /&gt;
*'''[[Coutsos]]''' - Coutsos&lt;br /&gt;
*'''[[Cervantes]]''' - Cervantes, [[Minsc]], and 100's of other variations that come up&lt;br /&gt;
*'''[[Gandalf]]''' - Gandalf, [Gandalf]&lt;br /&gt;
*'''[[Hikaru79]]''' - Hikaru79&lt;br /&gt;
*'''[[Hacker Dan]]''' - Hacker_Dan, Dan&lt;br /&gt;
*'''[[timmytheturtle]]''' - timmy, timmytheturtle, timmythetortoise&lt;br /&gt;
*'''[[Amailer]]''' - Amailer&lt;br /&gt;
*'''[[TheFerret]]''' - TheFerret&lt;br /&gt;
*'''[[Martin]]''' - mdkess&lt;br /&gt;
*'''[[cartoon_shark]]''' - rdrake&lt;br /&gt;
*'''[[rizzix]]''' - rizzix&lt;br /&gt;
*Compwiz333 - '''[[A-Pomb]]'''&lt;br /&gt;
*Bored - Bored, Confused&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;*Note: May vary greatly when [[name-switching game]] is in progress.&lt;br /&gt;
&lt;br /&gt;
==The Future==&lt;br /&gt;
&lt;br /&gt;
The future for #compsci.ca is looking bright, as it receives more and more attention in the compsci.ca community, particularly through the siggies and evangelism of [[Cervantes]], [[Coutsos]], and [[Hikaru79]]. With any luck, it will soon be as integral a part of the compsci.ca experience as the forum has come to be. &lt;br /&gt;
&lt;br /&gt;
[[Hacker Dan]] has integrated a Java-based IRC client that will send users to the channel directly from the forums. The feature is currently included in the alpha version of [[V3]].&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Cornflake</id>
		<title>Cornflake</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Cornflake"/>
				<updated>2006-03-10T05:58:42Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: fixed current avatar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Who is Cornflake? ==&lt;br /&gt;
[[Image:cornflake_avatar1.gif|thumb|right|Cornflake's current avatar]]&lt;br /&gt;
Cornflake joined the forums in 2004 after hearing about [[CompSci.ca]] from it's two of it's key members [[Tony]] and [[Martin]]. He is a decent [[C]]/[[CPP|C++]]/[[Pascal]] programmer, but knows many other languages well enough to be able to help out. Cornflake is usually fairly good when it comes to helping people who ask nicely, but has been known to be a complete ass to people who do or say dumb things. Usually these people fall under the title of [[noob]] and are equally despised by all. &lt;br /&gt;
&lt;br /&gt;
Cornflake is a second year CS student at the [[University of Waterloo]], and can usually be found lurking in the [[IRC channel]]. He is also the only member of compsci to have seen the illusive giant 42.[[Image:42.png|thumb|[[42]]]]&lt;br /&gt;
&lt;br /&gt;
== Quotes ==&lt;br /&gt;
''Got up one morning at camp hungery. Very hungry. So I ate three boxes (yes boxes) of cornflakes.''[http://www.compsci.ca/v2/viewtopic.php?t=9560#91307]&lt;br /&gt;
&lt;br /&gt;
== Past Avatars ==&lt;br /&gt;
[[Image:cornflake_avatar2.png|thumb|left|The Original]]&lt;br /&gt;
[[Image:cornflake_avatar1.gif|thumb|left|New and Improved]]&lt;br /&gt;
[[Image:cornflake_avatar3.png|thumb|left|Duck Style]]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Talk:Iker</id>
		<title>Talk:Iker</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Talk:Iker"/>
				<updated>2006-03-07T07:11:53Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: Don't delete stuff either. (reverted)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you do not like homosexuals and whont to be predusits that is up to you but it has no place on CompSci.ca or any of it's subsites. Please leave such remarks off of the wiki.&lt;br /&gt;
:--Hacker Dan 17:48, 13 February 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
:Iker has seen Brokeback Mountain ... twice.&lt;br /&gt;
:--[[User:Martin|Martin]] 19:41, 15 February 2006 (PST)&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=V3</id>
		<title>V3</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=V3"/>
				<updated>2006-02-14T04:02:43Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* Requested */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page was intentionally left blank, but was added to anyway.&lt;br /&gt;
&lt;br /&gt;
==V3 ETA==&lt;br /&gt;
'''Alpha Version''': Before Summer, Feb. 30th (estimate only)&lt;br /&gt;
&lt;br /&gt;
'''Beta Version''': Before next school year, April 30th (estimate only)&lt;br /&gt;
&lt;br /&gt;
'''Public Version''': Unknown&lt;br /&gt;
&lt;br /&gt;
==User Requests==&lt;br /&gt;
Add modifications and other things that you would like to see in V3:&lt;br /&gt;
&lt;br /&gt;
===Added===&lt;br /&gt;
*[[Amailer]]: Merge posts commands for mods&lt;br /&gt;
*[[Amailer]]: Tutorial rating system&lt;br /&gt;
*[[Cervantes]]: Quick Reply box&lt;br /&gt;
*[[Martin]]: Add an RSS feed option for various forums. (Can you say awesome?) Yes  '''''ADDED''''' but buggy&lt;br /&gt;
*[[Martin]]: Timed bans. Like, so I can ban someone for three days and when they login it'd say You have been banned (by [[Martin]]) for whatever reason. There is &amp;lt;x&amp;gt; much time remaining. Then I wouldn't have to feel so guilty.&lt;br /&gt;
*[[Martin]]: Get rid of the stupid 'You have a message!' sound that plays and makes the page layout go nuts. '''''ADDED in v2 as well'''''&lt;br /&gt;
*[[Rizzix]]: Allow for moderator feedback: aka tutorial rejection. This will help improve the quality of tutorials available on compsci.&lt;br /&gt;
*[[Amailer]]: (Maybe) create a system similar to [http://codex.gallery2.org/index.php/Main_Page Gallery2] '''''A image system like it has be added but not that.'''''&lt;br /&gt;
&lt;br /&gt;
===In Development===&lt;br /&gt;
*[[Hacker Dan]]: Automated security systems&lt;br /&gt;
*[[Martin]]: Fix firefox glow '''''May not be possible'''''&lt;br /&gt;
:Then can we just get rid of it, or at least disable the colours for the name that are impossible/difficult to see on real web browsers (such as white)?&lt;br /&gt;
:--[[User:Martin|Martin]] 22:47, 5 February 2006 (PST)&lt;br /&gt;
*[[Tony]]: wiki like bbcode linking&lt;br /&gt;
*[[Cervantes]]: Link to Bit Log in profiles (only visible to that user, such as Attachment Control Panel, or mods)&lt;br /&gt;
*[[Cornflake]]: Tutorial link to wiki [[Tutorials]] page&lt;br /&gt;
*[[Gandalf]]: Time of last log in, on the profile page.&lt;br /&gt;
*[[Hikaru79]]: Not having edits, count towards your post/minute timer (so you can edit posts right after you made them if you noticed a problem).&lt;br /&gt;
*[[Martin]]: Registration that registers you both on the wiki and compsci.ca with the same account.&lt;br /&gt;
*[[rizzix]]: List users by rank, where the rank is the bits/posts ratio.&lt;br /&gt;
*[[rizzix]]: Support for user projects: Homepage, CVS, Bugtracker, Development timeline graphs, etc. '''''Partly Added, the CVS part, partly'''''&lt;br /&gt;
:Subversion, not CVS... please.&lt;br /&gt;
:--[[User:Martin|Martin]] 22:47, 5 February 2006 (PST)&lt;br /&gt;
::Acuatly it is subversion not CVS that i added, my bad =p&lt;br /&gt;
::--[[User:65.39.11.90|65.39.11.90]] 11:08, 7 February 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
===Considering===&lt;br /&gt;
*[[Amailer]]: [http://www.phpbb.com/phpBB/viewtopic.php?t=282881 Google Integrated Search] so that it will take alot less time to search and you'll be able to get better results.&lt;br /&gt;
:: I like it in theory but it could cause the bot problems we had b4 to come back. [[Hacker Dan]]--[[User:24.109.165.77|24.109.165.77]] 14:38, 5 February 2006 (PST)&lt;br /&gt;
*[[Cervantes]]: Commenting for changing bits&lt;br /&gt;
:: A bits log for sure but i don't know about making a comeeting section for every bits chage, i think that is more for what PMing is for. [[Hacker Dan]]--[[User:24.109.165.77|24.109.165.77]] 14:38, 5 February 2006 (PST)&lt;br /&gt;
*[[rizzix]]: Support for user project bounties.&lt;br /&gt;
*[[rizzix]]: Improved award system. Make the awards a little more visible, i.e. not hidden deep within the user's profile.&lt;br /&gt;
:It would be cool if at the top right of your post (to the left of the edit button) there was a list of clickable 16x16 icons representing the awards. Each award could have a description attached to it, like - 'awarded to so and so for winning this contest on this day.' Probably kind of time consuming to add though.&lt;br /&gt;
:[[User:Martin|Martin]] 00:31, 1 February 2006 (PST)&lt;br /&gt;
::Cool maybe but it whould make the posts to corwed with infromation and start looking bad, esptaly if some users had many awards&lt;br /&gt;
::--[[User:Hacker Dan|24.109.165.77]] 10:19, 4 February 2006 (PST)&lt;br /&gt;
:::In that case, it could be the most recent five awards or whaever.&lt;br /&gt;
:::--[[User:Martin|Martin]] 02:50, 5 February 2006 (PST)&lt;br /&gt;
::::In the profile maybe, but right on the persons posts seems a bit much. Tho i could posbliy make a system for the user to put them in there sig. [[Hacker Dan]]--[[User:24.109.165.77|24.109.165.77]] 14:38, 5 February 2006 (PST)&lt;br /&gt;
:::::Instead, maybe just a single trophy button with a number beside it showing the number of trophies that the user has. Like: ''Y(3)'' (with the Y being a picture of a trophy or something)&lt;br /&gt;
:::::--[[User:Martin|Martin]] 16:49, 5 February 2006 (PST)&lt;br /&gt;
*[[rizzix]]: In-place post editing. That is, display the whole page as it would normally show up when viewing posts, but make the post marked for editing, editable. ( hint: AJAX )&lt;br /&gt;
::AJAX is gr8 and all but can some times overly complicate things. [[Hacker Dan]]--[[User:24.109.165.77|24.109.165.77]] 14:38, 5 February 2006 (PST)&lt;br /&gt;
::: It makes things simpler on the user end. (c'mon stop complaining :p) Of course, no rush here, you can safely move it to V4 :)&lt;br /&gt;
::: --[[rizzix]] 19:14, 5 February 2006 (PST)&lt;br /&gt;
*[[rizzix]]: A WYSIWYG editor, for those who don't like using bbcode or wiki&lt;br /&gt;
*[[rizzix]]: Improved tutorial writing system: provides the ability to work on tutorials in offline mode, (a publishing system). The ability take a tutorial offline, edit it, improve it, and re-publish it. Force all tutorials to be approved by ''any'' moderator before it is displayed online. '''''Not going to happen unless some one whonts to write the offline software and backend script to handel post uploads'''''&lt;br /&gt;
::That is not what I meant. By offline I mean you take it off display, and put it into a Tutorial box or something.  It is basically a publishing system. Do reconsider.&lt;br /&gt;
::--[[rizzix]] 11:39, 5 February 2006 (PST)&lt;br /&gt;
:::I am considering it, tho it may make things more complicated. --[[User:24.109.165.77|24.109.165.77]] 14:32, 5 February 2006 (PST)&lt;br /&gt;
*[[Gandalf]]: An easy way of quoting multiple people so that it shows their name above the quote (ie. one solution would be the quote button, except make it show in the &amp;quot;Topic Review&amp;quot; below the &amp;quot;Post a Reply&amp;quot; box).&lt;br /&gt;
&lt;br /&gt;
===Rejected===&lt;br /&gt;
*[[Amailer]]: [http://www.phpbb.com/phpBB/viewtopic.php?t=289721 Democracy MOD 0.1.4 (reputation + warnings + reports)] '''''Difrent mod being used for same thing'''''&lt;br /&gt;
*[[Martin]]: Hookers. '''''Added....i mean WTF???'''''&lt;br /&gt;
*[[rizzix]]: Allow for wiki sytle editing, as an alternative to bbcode. '''''I don't know about that one....'''''&lt;br /&gt;
*[[rizzix]]: Give the tutorial's author bits/month for ''x'' number of years, based on the rating his tutorial has received (since we already have the rating system implemented). This will help improve the number of quality articles we have here on compsci, and will truly reflect the rank of the user.&lt;br /&gt;
::I am planing on having a bits for rating system but it will be based on some difrent math&lt;br /&gt;
::[[Hacker Dan]]--[[User:24.109.165.77|24.109.165.77]] 18:12, 8 February 2006 (PST)&lt;br /&gt;
*[[Amailer]]: Since you guys are removing the edit button because you don't know what the origional content was, how about making a system, similar to wikies which has the edit history? No need for it to be able to un-do it all, but yeah, you would be able to check what has been edited. (you can just put the diffrent versions insted of the + and - thigns)&lt;br /&gt;
::We are not removing the edit buttion&lt;br /&gt;
::[[Hacker Dan]]--[[User:24.109.165.77|24.109.165.77]] 18:12, 8 February 2006 (PST)&lt;br /&gt;
*[[Martin]]: A way for normal users to flag a topic that is spam/abusive/whatever. Just a flag this topic button, and then the administrators could get a list of all flagged topics. Administrators could then deal with the topic and remove the flag afterwards. Also, hookers.&lt;br /&gt;
::All ready added......other then the hookers....&lt;br /&gt;
::[[Hacker Dan]] --Hacker Dan 08:41, 11 February 2006 (PST)&lt;br /&gt;
*[[Iker]]: We need more cowbell&lt;br /&gt;
::We need more what now? [http://www.fridayfishwrap.com/wp/wp-content/images/cowbell.jpg Cowbell?]&lt;br /&gt;
::[[Hacker Dan]] --[[User:24.109.165.77|24.109.165.77]] 18:12, 8 February 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
===Requested===&lt;br /&gt;
&lt;br /&gt;
*[[Martin]]: When editing posts, default to silent edit when it's someone else's post, but to a normal (tagged) edit when editing your own posts.&lt;br /&gt;
*[[Iker]]: An &amp;quot;auto lock&amp;quot; on all topics older then x days. This way, we don't have to worry about new people not reading the rules, and none of us have to bitch at them for doing it :)&lt;br /&gt;
::You know, um I thought the reason why forums keept the old posts was because people can come back to them; why do we flame people when they post in old topics? Unless the topic has already been solved (or disucssion was over). Suppose it was a help topic, and a person just signed up and knew the answer (the topic didn't get a proper answer when it was made)- so isn't the user allowed to post in it?&lt;br /&gt;
::--[[User:Amailer|Amailer]] 14:21, 11 February 2006 (PST)&lt;br /&gt;
*[[Cervantes]]: Change the character limit in signatures.  From what I can tell, it's currently a limit before BBCode tags are applied.  Having lots of colour and links may make a single sentance too long.  Also, no images in sigs.&lt;br /&gt;
*[[Martin]]: Buddy list to make finding people easier when you want to PM them.&lt;br /&gt;
*[[Martin]]: Probably the best idea ever - switch the post boxes to use a fixed width font. Writing code in them as it stands is very difficult.&lt;br /&gt;
*[[Cornflake]]: Fix the post boxes to fill the entire screen width wise. It's not that hard, and it makes things so much nicer.&lt;br /&gt;
&lt;br /&gt;
==Things left to do for V3==&lt;br /&gt;
Not usefull to any one but Hacker Dan, but just easy to keep track of this way for him:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;strike&amp;gt;Edit private message welcome&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;Errors on forum (posting)&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;remove aditional info on fourm names (moderator info)&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;posbly remove style drop down&amp;lt;/strike&amp;gt;&lt;br /&gt;
*reoreder nav links&lt;br /&gt;
*&amp;lt;strike&amp;gt;remove &amp;quot;switch to invisible&amp;quot;&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;remove download modual&amp;lt;/strike&amp;gt;&lt;br /&gt;
*add shop for item pool&lt;br /&gt;
*&amp;lt;strike&amp;gt;chage name of knowledge base link&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;chage pic of knowledge base&amp;lt;/strike&amp;gt; '''''Thanks to amailer'''''&lt;br /&gt;
*&amp;lt;strike&amp;gt;fix knowledge base approval system&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;remove lexicon&amp;lt;/strike&amp;gt;&lt;br /&gt;
*make portal pages&lt;br /&gt;
*&amp;lt;strike&amp;gt;add in wiki and blog nav links&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;try to fix time zones&amp;lt;/strike&amp;gt;&lt;br /&gt;
*fix order of smiles&lt;br /&gt;
*&amp;lt;strike&amp;gt;check spell checker&amp;lt;/strike&amp;gt; Fix spell checker&lt;br /&gt;
*add user controal panale links&lt;br /&gt;
*&amp;lt;strike&amp;gt;edit user aggremnt&amp;lt;/strike&amp;gt; Make new rules page&lt;br /&gt;
*&amp;lt;strike&amp;gt;chage post icon setings&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;fix flash bbcode and others&amp;lt;/strike&amp;gt; fix or remove flash bbcode&lt;br /&gt;
*&amp;lt;strike&amp;gt;set up anwsered/unawsered system&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;edit footer&amp;lt;/strike&amp;gt; &amp;lt;strike&amp;gt;check out backend.php&amp;lt;/strike&amp;gt;&lt;br /&gt;
*edit faq&lt;br /&gt;
*&amp;lt;strike&amp;gt;add event types&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;fix link to use modual&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;fix contact us deparments&amp;lt;/strike&amp;gt;&lt;br /&gt;
*reorder moduals&lt;br /&gt;
*add knowledge base rankings&lt;br /&gt;
*deal with user requests&lt;br /&gt;
*&amp;lt;strike&amp;gt;chage KB tag&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;fix IE errors/warnings&amp;lt;/strike&amp;gt;&lt;br /&gt;
*make footer look nicer&lt;br /&gt;
*&amp;lt;strike&amp;gt;add wiki bbcode&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;fix pm notifaction&amp;lt;/strike&amp;gt;&lt;br /&gt;
*add in compsci.ca bits mod&lt;br /&gt;
*add in compsci.ca bits log mod&lt;br /&gt;
*add in compsci.ca shop effect sell mod&lt;br /&gt;
*get some sleep&lt;br /&gt;
*work on KB combaity by making notice go to old tutoral forms&lt;br /&gt;
*&amp;lt;strike&amp;gt;Play with RSS Feed&amp;lt;/strike&amp;gt; Add info to tell users how to use RSS&lt;br /&gt;
*Test timed bans&lt;br /&gt;
*&amp;lt;strike&amp;gt;fix up pm message&amp;lt;/strike&amp;gt;&lt;br /&gt;
*KB noftication on rejection and reason&lt;br /&gt;
*Test image system&lt;br /&gt;
*&amp;lt;strike&amp;gt;Look in to and add secuirty systems&amp;lt;/strike&amp;gt;&lt;br /&gt;
*disable glow for non-IE&lt;br /&gt;
*bits log link in profile (only visable to staff + user)&lt;br /&gt;
*time last login in profile&lt;br /&gt;
*Link to wiki tutoral page&lt;br /&gt;
*look in to edits spam timer&lt;br /&gt;
*&amp;lt;strike&amp;gt;dual registeration&amp;lt;/strike&amp;gt;&lt;br /&gt;
*add registeration feilds&lt;br /&gt;
*more user listing options in member list&lt;br /&gt;
*play with subversion ideas&lt;br /&gt;
*look in to google integrated search&lt;br /&gt;
*look in to user project bounties system&lt;br /&gt;
*look in to increasing visiblity of user awards&lt;br /&gt;
*&amp;lt;strike&amp;gt;look in to phpbb AJAX (http://www.phpbb.com/phpBB/viewtopic.php?t=348995)&amp;lt;/strike&amp;gt; '''''Pushed to V4'''''&lt;br /&gt;
*better error pages&lt;br /&gt;
*find copy right for compsci.ca&lt;br /&gt;
*make it so only user can make wiki edits&lt;br /&gt;
*add mods&lt;br /&gt;
*look in to blog software and intergation with phpbb&lt;br /&gt;
*edit help page for irc&lt;br /&gt;
*make watermark for irc&lt;br /&gt;
&lt;br /&gt;
==Alpha Verson==&lt;br /&gt;
===Alpha Testers===&lt;br /&gt;
Aplha users are limited to staff only. If you are staff list your name below to sign up for the v3 alpha test.&lt;br /&gt;
&lt;br /&gt;
*[[Hacker Dan]]&lt;br /&gt;
*[[rizzix]]&lt;br /&gt;
*[[Tony]]&lt;br /&gt;
*[[Martin]]!&lt;br /&gt;
*[[Cervantes]]&lt;br /&gt;
*[[Amailer]]&lt;br /&gt;
&lt;br /&gt;
===Bug Report===&lt;br /&gt;
Please list your name, the browser you are using, the time and date, the error, the url, what you were doing and the bug below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Comments and Suggestions===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Beta Version==&lt;br /&gt;
===Beta Testers===&lt;br /&gt;
Any users in good standing may sign up for the beta test. The beta test will begin after all the bugs and chages recommended in the alpha test are made/done. Not all users signed up will get to be a beta tester and order of signing up may or may not matter.&lt;br /&gt;
&lt;br /&gt;
*[[Hacker Dan]]&lt;br /&gt;
*[[Cornflake]]&lt;br /&gt;
*[[El Comandante]]&lt;br /&gt;
*rdrake/cartoon_shark&lt;br /&gt;
*[[Pwned]]&lt;br /&gt;
*[[Martin]]!&lt;br /&gt;
*[[Cervantes]]&lt;br /&gt;
*[[Gandalf]]&lt;br /&gt;
*[[rizzix]]&lt;br /&gt;
*[[Hikaru79]]&lt;br /&gt;
*[[Iker]]&lt;br /&gt;
&lt;br /&gt;
===Bug Report===&lt;br /&gt;
Please list your name, the brower you are using, the time and date, the error, the url, what you were doing and the bug below:&lt;br /&gt;
&lt;br /&gt;
==V3 Preview==&lt;br /&gt;
The following is rumored to be a pic of [[the]] V3 system:&lt;br /&gt;
[[Image:compsci_v3.jpg|thumb|500px|left|V3?]]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Martin</id>
		<title>Martin</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Martin"/>
				<updated>2006-02-14T03:59:45Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* About Martin */ Linked to Japan&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Photo_35_small.jpg|thumb|right|Martin's avatar]]&lt;br /&gt;
[[Image:martin.jpg|thumb|right|Martin's old avatar]]&lt;br /&gt;
&lt;br /&gt;
== About Martin ==&lt;br /&gt;
Martin is one of [[the]] original members of [[CompSci.ca]] - user #4 to be precise, preceeded by a test account, [[Tony]] and [[Hacker Dan]]. His birthday is January 15th, 1986, which makes him 20 years old and quickly catching up to [[the]] venerable [[wtd]]. He joined [[CompSci.ca]] on August 18th, 2002.&lt;br /&gt;
&lt;br /&gt;
Currently he is a student at [[the]] [[University of Waterloo]], on a coop term in [[Japan]] (and has some [http://www.flickr.com/photos/71514888@N00/ pictures] to share) working for Epson as a [[code monkey]]. An ex-[[computer science]] student, he now studies [[applied mathematics]] and is also pursuing a minor in economics. He will be back in Waterloo for his 2A term in [[the]] Fall of 2006.&lt;br /&gt;
&lt;br /&gt;
When Martin was in grade 10, he met [[Tony]] online while bitching about his marks on another Turing help website.&lt;br /&gt;
&lt;br /&gt;
He occasionaly goes by [[the]] alias 'Drealoth' while online - a homage to one of his old Dungeons &amp;amp; Dragons characters.&lt;br /&gt;
&lt;br /&gt;
On [[the]] [[IRC channel]] he goes by [[the]] name mdkess.&lt;br /&gt;
&lt;br /&gt;
== Co-operative Education ==&lt;br /&gt;
Martin is a Waterloo co-op student, and has held two co-op jobs.&lt;br /&gt;
&lt;br /&gt;
*January 2005 - April 2005. Department of National Defense, Kingston, Ontario. For his first co-op job, Martin worked for the Department of National Defense assisting in the development of their military simulation software.&lt;br /&gt;
&lt;br /&gt;
*September 2005 - August 2006. Epson Avasys, Matsumoto, Japan. Martin got a job in Japan. He's not entirely sure how that happened, but now he lives in the Land of the Rising Sun developing Java applications using JavaServer Faces.&lt;br /&gt;
&lt;br /&gt;
== Toys ==&lt;br /&gt;
Martin's current computer is an iMac G5 dual booting OSX and Debian Linux. He likes OSX, but thinks that it needs virtual terminals and Apple really has to [http://www.acronymfinder.com/af-query.asp?String=exact&amp;amp;Acronym=FTFF&amp;amp;Find=Find FTFF].&lt;br /&gt;
&lt;br /&gt;
His computer is a 1.9GHz G5 with 1.5GB of DDR2 ram and a 128mb Radeon 9600 pro.&lt;br /&gt;
&lt;br /&gt;
Martin's other big toy is a [http://www.yamaha.com/yamahavgn/CDA/ContentDetail/ModelSeriesDetail/0,,CNTID%253D58900%2526CTID%253D,00.html Yamaha P140 Digital Piano] that he bought in [[Japan]]. Through use of a MIDI cable, this allows Apple's software Garage Band to slowly suck his life away.&lt;br /&gt;
&lt;br /&gt;
== Politics ==&lt;br /&gt;
Martin votes [http://www.greenparty.ca/ Green] and thinks that you should too.&lt;br /&gt;
&lt;br /&gt;
== Current Projects ==&lt;br /&gt;
At the moment, Martin is developing a [[MUD]] called [http://antithesis.nxor.org/ The Antithesis]. It is in the very early stages of development.&lt;br /&gt;
&lt;br /&gt;
== Other interests ==&lt;br /&gt;
[[Image:Stella.jpg|thumb|right|Stella Artois]]&lt;br /&gt;
Martin is a huge indie rock fan, especially Canadian indie rock. His favourite bands include The Arcade Fire, Wolf Parade, The Stars, Death from Above 1979 and Broken Social Scene. His favourite beer is Stella Artois.&lt;br /&gt;
&lt;br /&gt;
Martin is also a large fan of the many Japanese girls that he meets in his travels. He likes dancing and theoretical physics.&lt;br /&gt;
&lt;br /&gt;
He strongly dislikes organized religion as well as fundamentalists of any faith.&lt;br /&gt;
&lt;br /&gt;
== Quotes ==&lt;br /&gt;
''&amp;quot;JavaServer Faces + Japanese Error messages + Japanese Specification makes for one very confused Canadian code monkey.&amp;quot;''[http://www.compsci.ca/v2/viewtopic.php?p=101407&amp;amp;highlight=#101407]&lt;br /&gt;
&lt;br /&gt;
''&amp;quot;Maybe God created the earth mid-stride 100 years ago. I mean, who would want to sit around and wait for billions of years for something interesting to happen? Here, God gets an exciting 50 years complete with an economic collapse and two world wars.&amp;quot;''[http://www.compsci.ca/v2/viewtopic.php?p=99835&amp;amp;highlight=#99835]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=IRC_channel</id>
		<title>IRC channel</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=IRC_channel"/>
				<updated>2006-02-08T19:57:40Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* IRC Names to CompSci.ca User Names */  fixed my name list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[The]] #compsci.ca channel on IRC is where all the cool members are hanging out. Chances are, if you're not there, you're missing something exciting and important.&lt;br /&gt;
&lt;br /&gt;
==Information==&lt;br /&gt;
&lt;br /&gt;
'''Server:'''  irc.afternet.org&lt;br /&gt;
&lt;br /&gt;
'''Main Channel:''' #compsci.ca&lt;br /&gt;
&lt;br /&gt;
'''Self-taught Programming Channel:''' #cs-self-taught&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
===Of The Main Channel===&lt;br /&gt;
&lt;br /&gt;
Much of #compsci.ca's early history is shrouded in mystery. Nobody is quite sure the exact time when it was created, but rumour has it that [[Coutsos]] was its founder, although he did not begin to regularly attend it until quite some time later. Its first regular inhabitants were [[wtd]] and a mysterious lurker named [[Ultrahex]], who doesn't seem to be a bona fide member of the CompSci.ca community, although he's always in the channel.&lt;br /&gt;
Things took off sometime in early 2005, when a wave of members, including [[Hikaru79]], [[Coutsos]], [[Cervantes]], and [[Gandalf]] started regularly attending the channel. At present, #compsci.ca has a regular population of about seven, give or take, although it is subject to occasional flurries of activity, often when the moon is full.&lt;br /&gt;
&lt;br /&gt;
===Of The Self-taught Programming Channel===&lt;br /&gt;
This channel was thought of on the [http://www.compsci.ca/v2/viewtopic.php?t=10613 forums] by [[wtd]] on December 14, 2005. The main interest of this new channel is [[Ruby]] and [[O'Caml]]. This channel is not for the people who are taught programming in high school but for the people who self-teach it. When [[wtd]] announced it, there was a great cheer for [[wtd]] since he created the channel for the rest of the users to use and ask questions about.&lt;br /&gt;
&lt;br /&gt;
==Daily Life==&lt;br /&gt;
&lt;br /&gt;
Much of #compsci.ca's time is spent in utter silence (while its members spend time in deep personal reflection and thought), broken periodically by outbursts of conversation, instruction, and weirdness. Hilarity often ensues. Confusion can become rampant when [[the]] mature members take to stealing each other's nicknames (see [[Coutsos Identity Crisis]]).  On a good day, [[wtd]] can be observed teaching some interesting, mind-blowing new programming concept.&lt;br /&gt;
&lt;br /&gt;
Ocasionally if you are really lucky you'll witness something as bizzare as [http://www.compsci.ca/wiki/index.php?title=IRC_2006_01_17 this wonderful event].&lt;br /&gt;
&lt;br /&gt;
== IRC Names to CompSci.ca User Names ==&lt;br /&gt;
*'''[[wtd]]''' - wtd, Lotho&lt;br /&gt;
*'''[[Cornflake]]''' - God, md, or cornflake&lt;br /&gt;
*'''[[Coutsos]]''' - Coutsos&lt;br /&gt;
*'''[[Cervantes]]''' - Cervantes, [[Minsc]], and 100's of other variations that come up&lt;br /&gt;
*'''[[Gandalf]]''' - Gandalf, [Gandalf]&lt;br /&gt;
*'''[[Hikaru79]]''' - Hikaru79&lt;br /&gt;
*'''[[Hacker Dan]]''' - Hacker_Dan, Dan&lt;br /&gt;
*'''[[timmytheturtle]]''' - timmy, timmytheturtle, timmythetortoise&lt;br /&gt;
*'''[[Amailer]]''' - Amailer&lt;br /&gt;
*'''[[TheFerret]]''' - TheFerret&lt;br /&gt;
*'''[[Martin]]''' - mdkess&lt;br /&gt;
*'''[[cartoon_shark]]''' - rdrake&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;*Note: May vary greatly when name-switching game is in progress.&lt;br /&gt;
&lt;br /&gt;
==The Future==&lt;br /&gt;
&lt;br /&gt;
The future for #compsci.ca is looking bright, as it receives more and more attention in the compsci.ca community, particularly through the siggies and evangelism of [[Cervantes]], [[Coutsos]], and [[Hikaru79]]. With any luck, it will soon be as integral a part of the compsci.ca experience as the forum has come to be. &lt;br /&gt;
&lt;br /&gt;
[[Hacker Dan]] has made plans to integrate a Java-based IRC client that will send users to the channel directly from the forums. The feature is planned to be included in the new forum software, [[V3]], that hopefully will be completed over the 2005/2006 Christmas break.&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Pwned</id>
		<title>Pwned</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Pwned"/>
				<updated>2006-02-05T20:04:32Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: Fixed summation quotes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pwned is a meber of compsci.ca widely considered to be a [[noob]]. He thinks he is an amazing and brilliant person. He believes he has enought power to say &amp;quot;He will spare everyone, under the condition that they first bow in respect to him&amp;quot;. In reality however Pwned is not amazing at all, and is a rather bumb person; his inability to see that he really has no power at all is only proof that he does not live in the real world. The majority of compsci.ca members have no respect at all for Pwned, in part because of his arrogance and in part because of his use of 1337/noob speak on the forums and his repeated abuse of the admins.&lt;br /&gt;
&lt;br /&gt;
Pwned has been nicely summed up by one member by this:&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;quot;Pwned is simply a failure at life. His arrogance blinds him to the true state of the world which, contrary to his belief, does not appreciate rude and disrespectful people like himself.&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;As his highschool career comes to an end, he will hopefully realize the errors of his life thus far. Then again, perhaps he won't, and we can all laugh at him for all eternity.&amp;quot;&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=V3</id>
		<title>V3</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=V3"/>
				<updated>2006-02-04T23:33:25Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* Beta Testers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page intentionally left blank, but was added to any way.&lt;br /&gt;
&lt;br /&gt;
==V3 ETA==&lt;br /&gt;
'''Alpha Verson''': Befor Summer, Feb. 30th (estmation only)&lt;br /&gt;
&lt;br /&gt;
'''Beta Verson''': Befor next school year, April 30th (estmation only)&lt;br /&gt;
&lt;br /&gt;
'''Public Verson''': Unknow&lt;br /&gt;
&lt;br /&gt;
==User Requests==&lt;br /&gt;
Add modifications and other things that you would like to see in V3:&lt;br /&gt;
&lt;br /&gt;
===Added===&lt;br /&gt;
*[[Amailer]]: Merge posts comands for mods&lt;br /&gt;
*[[Amailer]]: Tutorial rating system&lt;br /&gt;
*[[Cervantes]]: Quick Reply box&lt;br /&gt;
*[[Martin]]: Add an RSS feed option for various forums. (Can you say awesome?) Yes  '''''ADDED''''' but bugy&lt;br /&gt;
*[[Martin]]: Timed bans. Like, so I can ban someone for three days and when they login it'd say You have been banned (by [[Martin]]) for whatever reason. There is &amp;lt;x&amp;gt; much time remaining. Then I wouldn't have to feel so guilty.&lt;br /&gt;
*[[Martin]]: Get rid of the stupid 'You have a message!' sound that plays and makes the page layout go nuts. '''''ADDED in v2 as well'''''&lt;br /&gt;
*[[Rizzix]]: Allow for moderator feedback: aka tutorial rejection. This will help improve the quality of tutorials available on compsci.&lt;br /&gt;
*[[Amailer]]: (Maybe) create a system similar to [http://codex.gallery2.org/index.php/Main_Page Gallery2] '''''A image system like it has be added but not that.'''''&lt;br /&gt;
&lt;br /&gt;
===In development===&lt;br /&gt;
*[[Hacker Dan]]: Automated secuirty systems&lt;br /&gt;
*[[Martin]]: Fix firefox glow&lt;br /&gt;
*[[Tony]]: wiki like bbcode linking&lt;br /&gt;
*[[Cervantes]]: Link to Bit Log in profiles (only visible to that user, such as Attachment Control Panel, or mods)&lt;br /&gt;
*[[Cornflake]]: Tutorial link to wiki [[Tutorials]] page&lt;br /&gt;
*[[Gandalf]]: Time of last log in, on the profile page.&lt;br /&gt;
*[[Hikaru79]]: Not having edits, count towards your post/minute timer (so you can edit posts right after you made them if you noticed a problem).&lt;br /&gt;
*[[Martin]]: Registration that registers you both on the wiki and compsci.ca with the same account.&lt;br /&gt;
*[[rizzix]]: List users by rank, where the rank is the bits/posts ratio.&lt;br /&gt;
*[[rizzix]]: Support for user projects: Homepage, CVS, Bugtracker, Development timeline graphs, etc. '''''Partly Added, the CVS part, partly'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Considering===&lt;br /&gt;
*[[Amailer]]: [http://www.phpbb.com/phpBB/viewtopic.php?t=282881 Google Integrated Search] so that it will take alot less time to search and you'll be able to get better results.&lt;br /&gt;
*[[Cervantes]]: Commenting for changing bits&lt;br /&gt;
*[[rizzix]]: Support for user project bounties.&lt;br /&gt;
*[[rizzix]]: Improved award system. Make the awards a little more visible, i.e. not hidden deep within the user's profile.&lt;br /&gt;
:It would be cool if at the top right of your post (to the left of the edit button) there was a list of clickable 16x16 icons representing the awards. Each award could have a description attached to it, like - 'awarded to so and so for winning this contest on this day.' Probably kind of time consuming to add though.&lt;br /&gt;
:[[User:Martin|Martin]] 00:31, 1 February 2006 (PST)&lt;br /&gt;
:Cool maybe but it whould make the posts to corwed with infromation and start looking bad, esptaly if some users had many awards&lt;br /&gt;
:--[[User:Hacker Dan|24.109.165.77]] 10:19, 4 February 2006 (PST)&lt;br /&gt;
*[[rizzix]]: In-place post editing. That is, display the whole page as it would normally show up when viewing posts, but make the post marked for editing, editable. ( hint: AJAX )&lt;br /&gt;
*[[rizzix]]: A WYSIWYG editor, for those who don't like using bbcode or wiki&lt;br /&gt;
&lt;br /&gt;
===Rejected===&lt;br /&gt;
*[[Amailer]]: [http://www.phpbb.com/phpBB/viewtopic.php?t=289721 Democracy MOD 0.1.4 (reputation + warnings + reports)] '''''Difrent mod being used for same thing'''''&lt;br /&gt;
*[[Martin]]: Hookers. '''''Added....i mean WTF???'''''&lt;br /&gt;
*[[rizzix]]: Allow for wiki sytle editing, as an alternative to bbcode. '''''I don't know about that one....'''''&lt;br /&gt;
*[[rizzix]]: Improved tutorial writing system: provides the ability to work on tutorials in offline mode, (a publishing system). The ability take a tutorial offline, edit it, improve it, and re-publish it. Force all tutorials to be approved by ''any'' moderator before it is displayed online. '''''Not going to happen unless some one whonts to write the offline software and backend script to handel post uploads'''''&lt;br /&gt;
&lt;br /&gt;
===Requested===&lt;br /&gt;
*[[rizzix]]: Give the tutorial's author bits/month for ''x'' number of years, based on the rating his tutorial has received (since we already have the rating system implemented). This will help improve the number of quality articles we have here on compsci, and will truly reflect the rank of the user.&lt;br /&gt;
&lt;br /&gt;
==Things left to do for V3==&lt;br /&gt;
Not usefull to any one but Hacker Dan, but just easy to keep track of this way for him:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;strike&amp;gt;Edit private message welcome&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;Errors on forum (posting)&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;remove aditional info on fourm names (moderator info)&amp;lt;/strike&amp;gt;&lt;br /&gt;
*posbly remove style drop down&lt;br /&gt;
*reoreder nav links&lt;br /&gt;
*&amp;lt;strike&amp;gt;remove &amp;quot;switch to invisible&amp;quot;&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;remove download modual&amp;lt;/strike&amp;gt;&lt;br /&gt;
*add shop for item pool&lt;br /&gt;
*&amp;lt;strike&amp;gt;chage name of knowledge base link&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;chage pic of knowledge base&amp;lt;/strike&amp;gt; '''''Thanks to amailer'''''&lt;br /&gt;
*&amp;lt;strike&amp;gt;fix knowledge base approval system&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;remove lexicon&amp;lt;/strike&amp;gt;&lt;br /&gt;
*make portal pages&lt;br /&gt;
*&amp;lt;strike&amp;gt;add in wiki and blog nav links&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;try to fix time zones&amp;lt;/strike&amp;gt;&lt;br /&gt;
*fix order of smiles&lt;br /&gt;
*&amp;lt;strike&amp;gt;check spell checker&amp;lt;/strike&amp;gt; Fix spell checker&lt;br /&gt;
*add user controal panale links&lt;br /&gt;
*&amp;lt;strike&amp;gt;edit user aggremnt&amp;lt;/strike&amp;gt; Make new rules page&lt;br /&gt;
*&amp;lt;strike&amp;gt;chage post icon setings&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;fix flash bbcode and others&amp;lt;/strike&amp;gt; fix or remove flash bbcode&lt;br /&gt;
*&amp;lt;strike&amp;gt;set up anwsered/unawsered system&amp;lt;/strike&amp;gt;&lt;br /&gt;
*edit footer&lt;br /&gt;
*edit faq&lt;br /&gt;
*&amp;lt;strike&amp;gt;add event types&amp;lt;/strike&amp;gt;&lt;br /&gt;
*fix link to use modual&lt;br /&gt;
*fix contact us deparments&lt;br /&gt;
*reorder moduals&lt;br /&gt;
*add knowledge base rankings&lt;br /&gt;
*deal with user requests&lt;br /&gt;
*chage KB tag&lt;br /&gt;
*fix IE errors/warnings&lt;br /&gt;
&lt;br /&gt;
==Alpha Verson==&lt;br /&gt;
===Alpha Testers===&lt;br /&gt;
Aplha users are limited to staff only. If you are staff listed your name below to sing up for the v3 alpha test.&lt;br /&gt;
&lt;br /&gt;
*[[Hacker Dan]]&lt;br /&gt;
&lt;br /&gt;
===Bug Report===&lt;br /&gt;
Pleas list your name, the brower you are using, the time and date, the error, the url, what you where doing and the bug below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Comentes and Sugestions===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Beta Verson==&lt;br /&gt;
===Beta Testers===&lt;br /&gt;
Any users in good standing may sing up for the beta test. The beta test will being affter all the bugs and chages recomented in the alpha test are made/done. Not all users singed up will get to be a beta tester and order of singing up may or may not matter.&lt;br /&gt;
&lt;br /&gt;
*[[Hacker Dan]]&lt;br /&gt;
*[[Cornflake]]&lt;br /&gt;
&lt;br /&gt;
===Bug Report===&lt;br /&gt;
Pleas list your name, the brower you are using, the time and date, the error, the url, what you where doing and the bug below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Comentes and Sugestions===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==V3 Preview==&lt;br /&gt;
The following is rumored to be a pic of [[the]] V3 system:&lt;br /&gt;
[[Image:compsci_v3.jpg|thumb|500px|left|V3?]]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Linux</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Linux"/>
				<updated>2006-02-01T23:50:37Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: made the gentoo link point to the Gentoo site&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Linux is an open source kernel, though it is commonly used to refer to the entire operating system based upon that kernel. It comes in many flavours (distros), the ones most commonly used by [[CompSci.ca]] members are [[Ubuntu]] and [http://www.gentoo.org Gentoo]. Some use [http://www.archlinux.org archlinux].&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=V3</id>
		<title>V3</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=V3"/>
				<updated>2006-01-30T16:26:44Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* Requested */  changed tutorial link to tutorials&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page intentionally left blank, but was added to any way.&lt;br /&gt;
&lt;br /&gt;
==V3 ETA==&lt;br /&gt;
'''January 30th, 2010'''&lt;br /&gt;
&lt;br /&gt;
==User Requests==&lt;br /&gt;
Add modifications and other things that you would like to see in V3:&lt;br /&gt;
&lt;br /&gt;
===Added===&lt;br /&gt;
*[[Amailer]]: Merge posts comands for mods&lt;br /&gt;
*[[Amailer]]: Tutorial rating system&lt;br /&gt;
&lt;br /&gt;
*[[Cervantes]]: Quick Reply box&lt;br /&gt;
&lt;br /&gt;
*[[Martin]]: Add an RSS feed option for various forums. (Can you say awesome?) Yes  '''''ADDED''''' but bugy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===In development===&lt;br /&gt;
*[[Hacker Dan]]: Automated secuirty systems&lt;br /&gt;
&lt;br /&gt;
*[[Martin]]: Fix firefox glow&lt;br /&gt;
&lt;br /&gt;
*[[Tony]]: wiki like bbcode linking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Requested===&lt;br /&gt;
*[[Amailer]]: [http://www.phpbb.com/phpBB/viewtopic.php?t=282881 Google Integrated Search] so that it will take alot less time to search and you'll be able to get better results.&lt;br /&gt;
*[[Amailer]]: [http://www.phpbb.com/phpBB/viewtopic.php?t=289721 Democracy MOD 0.1.4 (reputation + warnings + reports)]&lt;br /&gt;
&lt;br /&gt;
*[[Cervantes]]: Link to Bit Log in profiles (only visible to that user, such as Attachment Control Panel, or mods)&lt;br /&gt;
*[[Cervantes]]: Commenting for changing bits&lt;br /&gt;
&lt;br /&gt;
*[[Cornflake]]: Tutorial link to wiki [[Tutorials]] page&lt;br /&gt;
&lt;br /&gt;
*[[Gandalf]]: Time of last log in, on the profile page.&lt;br /&gt;
&lt;br /&gt;
*[[Hikaru79]]: Not having edits, count towards your post/minute timer (so you can edit posts right after you made them if you noticed a problem).&lt;br /&gt;
&lt;br /&gt;
*[[Martin]]: Timed bans. Like, so I can ban someone for three days and when they login it'd say You have been banned (by [[Martin]]) for whatever reason. There is &amp;lt;x&amp;gt; much time remaining. Then I wouldn't have to feel so guilty.&lt;br /&gt;
*[[Martin]]: Avatar width and height limits PLEASE! Also, can you disable images in people's signatures?&lt;br /&gt;
*[[Martin]]: Get rid of the stupid 'You have a message!' sound that plays and makes the page layout go nuts.&lt;br /&gt;
*[[Martin]]: Registration that registers you both on the wiki and compsci.ca with the same account.&lt;br /&gt;
*[[Martin]]: Hookers.&lt;br /&gt;
&lt;br /&gt;
*[[rizzix]]: List users by rank, where the rank is the bits/posts ratio.&lt;br /&gt;
*[[rizzix]]: Support for user projects: Homepage, CVS, Bugtracker, Development timeline graphs, etc.&lt;br /&gt;
*[[rizzix]]: Support for user project bounties.&lt;br /&gt;
*[[rizzix]]: Improved award system. Make the awards a little more visible, i.e. not hidden deep within the user's profile.&lt;br /&gt;
*[[rizzix]]: Allow for wiki sytle editing, as an alternative to bbcode.&lt;br /&gt;
*[[rizzix]]: In-place post editing. That is, display the whole page as it would normally show up when viewing posts, but make the post marked for editing, editable. ( hint: AJAX )&lt;br /&gt;
*[[rizzix]]: A WYSIWYG editor, for those who don't like using bbcode or wiki&lt;br /&gt;
&lt;br /&gt;
==Things left to do for V3==&lt;br /&gt;
Not usefull to any one but Hacker Dan, but just easy to keep track of this way for him:&lt;br /&gt;
&lt;br /&gt;
*Edit private message welcome&lt;br /&gt;
*Errors on forum (posting)&lt;br /&gt;
*remove aditional info on fourm names (moderator info)&lt;br /&gt;
*posbly remove style drop down&lt;br /&gt;
*reoreder nav links&lt;br /&gt;
*remove &amp;quot;switch to invisible&amp;quot;&lt;br /&gt;
*remove download modual&lt;br /&gt;
*add shop for item pool&lt;br /&gt;
*chage name of knowledge base link&lt;br /&gt;
*chage pic of knowledge base&lt;br /&gt;
*fix knowledge base approval system&lt;br /&gt;
*remove lexicon&lt;br /&gt;
*make portal pages&lt;br /&gt;
*add in wiki and blog nav links&lt;br /&gt;
*try to fix time zones&lt;br /&gt;
*fix order of smiles&lt;br /&gt;
*check spell checker&lt;br /&gt;
*add user controal panale links&lt;br /&gt;
*edit user aggremnt&lt;br /&gt;
*chage post icon setings&lt;br /&gt;
*fix flash bbcode and others&lt;br /&gt;
*set up anwsered/unawsered system&lt;br /&gt;
*edit footer&lt;br /&gt;
*edit faq&lt;br /&gt;
*add event types&lt;br /&gt;
*fix link to use modual&lt;br /&gt;
*fix contact us deparments&lt;br /&gt;
&lt;br /&gt;
==V3 Preview==&lt;br /&gt;
The following is rumored to be a pic of [[the]] V3 system:&lt;br /&gt;
[[Image:compsci_v3.jpg|thumb|500px|left|V3?]]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=User:210.228.17.68</id>
		<title>User:210.228.17.68</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=User:210.228.17.68"/>
				<updated>2006-01-28T06:57:57Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The IP of a user who has added a quote to [[wtd|wtd's]] page that is wrong. Upon removal this same user put the quote back, again mis-quoted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dude, it's one of my ip's.&lt;br /&gt;
&lt;br /&gt;
--[[User:Martin|Martin]] 20:44, 27 January 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
[[User:Cornflake|Cornflake]] oh, so it is&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Talk:Wtd</id>
		<title>Talk:Wtd</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Talk:Wtd"/>
				<updated>2006-01-27T18:55:29Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Cornflake]]: The last quote is in dispute. Although it does apear in one post as &amp;quot;I would recommend using Java as a way to start programming.&amp;quot; this is a typo that was later corrected by wtd. The corrected quote, &amp;quot;I wouldn't recommend using Java as a way to start programming.&amp;quot;, is what should be here because it is what meant to say. While it may be comical for wtd to have made such a slip up to those that know him, to those that don't it is simply mis-information.&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Talk:Cornflake</id>
		<title>Talk:Cornflake</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Talk:Cornflake"/>
				<updated>2006-01-27T18:48:28Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[User:220.9.84.29|220.9.84.29]]: Where is the giant 42? Is that the one from Point Pelee?&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Cornflake]]: It could be, it could not be. I don't know if I'll answer questions by unidentified people.&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=User:210.228.17.68</id>
		<title>User:210.228.17.68</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=User:210.228.17.68"/>
				<updated>2006-01-27T18:48:17Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The IP of a user who has added a quote to [[wtd|wtd's]] page that is wrong. Upon removal this same user put the quote back, again mis-quoted.&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Wtd</id>
		<title>Wtd</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Wtd"/>
				<updated>2006-01-27T18:45:35Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: The quote was definitely mis-quoted. RTFT.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:wtdduck.png|thumb|120px|right|wtd avatar]]&lt;br /&gt;
&lt;br /&gt;
== Who is WTD? ==&lt;br /&gt;
wtd is a resident guru who claims that his alias stands for &amp;quot;Welcome To Darwin&amp;quot;, though we all know it really means [[DuckFest|&amp;quot;What The Duck&amp;quot;]].&lt;br /&gt;
&lt;br /&gt;
Wtd is a programmer, currently residing in Vancouver, who has a passion for helping people understand programming since he's been through every frustration related to learning this stuff already, for he is self-taught. He is conversant in C, Objective-C, C++, Java, Scala, Eiffel, Perl, Python, Ruby, O'Caml, Haskell, Pike, HTML, CSS, Javascript, PHP, and many other languages. Wtd is more than capable of answering most questions related to Windows, Mac (OS 8, 9, X), Linux, and FreeBSD systems.&lt;br /&gt;
&lt;br /&gt;
Wtd can frequently be found in the [[IRC channel]] helping people out or breaking their minds with new programming concepts.&lt;br /&gt;
&lt;br /&gt;
== Quotes ==&lt;br /&gt;
''&amp;quot;Don't reinvent the wheel if there's an existing library function to do it for you&amp;quot;''[http://www.compsci.ca/v2/viewtopic.php?t=9494]&lt;br /&gt;
&lt;br /&gt;
''&amp;quot;I wouldn't recommend using Java as a way to start programming.&amp;quot;''[http://www.compsci.ca/v2/viewtopic.php?p=107358#107358]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Talk:Cornflake</id>
		<title>Talk:Cornflake</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Talk:Cornflake"/>
				<updated>2006-01-27T18:44:04Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[User:220.9.84.29|220.9.84.29]]: Where is the giant 42? Is that the one from Point Pelee?&lt;br /&gt;
[[Cornflake]]: It could be, it could not be. I don't know if I'll answer questions by unidentified people.&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=42</id>
		<title>42</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=42"/>
				<updated>2006-01-27T07:06:05Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: The ultimate answer to...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;42 is the ultimate answer to the ultimate question of life, the univere, and everything; as calculated by the computer known as &amp;quot;Deep Thought&amp;quot;. The question is not known, though it is suspected that it is not 6x9. Some of the many questions put forward that seem to fit the bill are 6x7, 7x7-7, 6x9-14, and really any other equation that equals 42.&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=V3</id>
		<title>V3</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=V3"/>
				<updated>2006-01-27T07:00:08Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* User Requests */  removed person's request; see the forum thread about it.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page intentionally left blank, but was added to any way.&lt;br /&gt;
&lt;br /&gt;
==V3 ETA==&lt;br /&gt;
'''January 30th, 2006'''&lt;br /&gt;
&lt;br /&gt;
==User Requests==&lt;br /&gt;
Add modifications and other things that you would like to see in V3:&lt;br /&gt;
&lt;br /&gt;
*[[Amailer]]: Merge posts comands for mods    '''''ADDED'''''&lt;br /&gt;
*[[Amailer]]: Tutorial rating system '''''ADDED'''''&lt;br /&gt;
*[[Hacker Dan]]: Automated secuirty systems   ''IN DEVLOPMENT''&lt;br /&gt;
*[[Martin]]: Fix firefox glow ''IN DEVLOPMENT''&lt;br /&gt;
*[[Tony]]: wiki like bbcode linking ''IN DEVLOPMENT''&lt;br /&gt;
*[[Cervantes]]: Quick Reply box '''''ADDED'''''&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*[[Cornflake]]: Tutorial link to wiki [[Tutorial]] page ''SUGGESTION''&lt;br /&gt;
*[[Cervantes]]: Link to Bit Log in profiles (only visible to that user, such as Attachment Control Panel, or mods) ''SUGGESTION''&lt;br /&gt;
*[[Cervantes]]: Commenting for changing bits ''SUGGESTION''&lt;br /&gt;
*[[Hikaru79]]: Not having edits count towards your post/minute timer (so you can edit posts right after you made them if you noticed a problem).&lt;br /&gt;
*[[Gandalf]]: Time of last log in, on the profile page.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*[[Martin]]: Add an RSS feed option for various forums. (Can you say awesome?) Yes  '''''ADDED''''' but bugy&lt;br /&gt;
*[[Martin]]: Timed bans. Like, so I can ban someone for three days and when they login it'd say You have been banned (by [[Martin]]) for whatever reason. There is &amp;lt;x&amp;gt; much time remaining. Then I wouldn't have to feel so guilty.&lt;br /&gt;
*[[Martin]]: Avatar width and height limits PLEASE! Also, can you disable images in people's signatures?&lt;br /&gt;
&lt;br /&gt;
==Things left to do for V3==&lt;br /&gt;
Not usefull to any one but Hacker Dan, but just easy to keep track of this way for him:&lt;br /&gt;
&lt;br /&gt;
*Edit private message welcome&lt;br /&gt;
*Errors on forum (posting)&lt;br /&gt;
*remove aditional info on fourm names (moderator info)&lt;br /&gt;
*posbly remove style drop down&lt;br /&gt;
*reoreder nav links&lt;br /&gt;
*remove &amp;quot;switch to invisible&amp;quot;&lt;br /&gt;
*remove download modual&lt;br /&gt;
*add shop for item pool&lt;br /&gt;
*chage name of knowledge base link&lt;br /&gt;
*chage pic of knowledge base&lt;br /&gt;
*fix knowledge base approval system&lt;br /&gt;
*remove lexicon&lt;br /&gt;
*make portal pages&lt;br /&gt;
*add in wiki and blog nav links&lt;br /&gt;
*try to fix time zones&lt;br /&gt;
*fix order of smiles&lt;br /&gt;
*check spell checker&lt;br /&gt;
*add user controal panale links&lt;br /&gt;
*edit user aggremnt&lt;br /&gt;
*chage post icon setings&lt;br /&gt;
*fix flash bbcode and others&lt;br /&gt;
*set up anwsered/unawsered system&lt;br /&gt;
*edit footer&lt;br /&gt;
*edit faq&lt;br /&gt;
*add event types&lt;br /&gt;
*fix link to use modual&lt;br /&gt;
*fix contact us deparments&lt;br /&gt;
&lt;br /&gt;
==V3 Preview==&lt;br /&gt;
The following is rumored to be a pic of [[the]] V3 system:&lt;br /&gt;
[[Image:compsci_v3.jpg|thumb|500px|left|V3?]]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Wtd</id>
		<title>Wtd</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Wtd"/>
				<updated>2006-01-27T06:57:45Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: removed the last quote... seemed very un-wtdish&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:wtdduck.png|thumb|120px|right|wtd avatar]]&lt;br /&gt;
&lt;br /&gt;
== Who is WTD? ==&lt;br /&gt;
wtd is a resident guru who claims that his alias stands for &amp;quot;Welcome To Darwin&amp;quot;, though we all know it really means [[DuckFest|&amp;quot;What The Duck&amp;quot;]].&lt;br /&gt;
&lt;br /&gt;
Wtd is a programmer, currently residing in Vancouver, who has a passion for helping people understand programming since he's been through every frustration related to learning this stuff already, for he is self-taught. He is conversant in C, Objective-C, C++, Java, Scala, Eiffel, Perl, Python, Ruby, O'Caml, Haskell, Pike, HTML, CSS, Javascript, PHP, and many other languages. Wtd is more than capable of answering most questions related to Windows, Mac (OS 8, 9, X), Linux, and FreeBSD systems.&lt;br /&gt;
&lt;br /&gt;
Wtd can frequently be found in the [[IRC channel]] helping people out or breaking their minds with new programming concepts.&lt;br /&gt;
&lt;br /&gt;
== Quotes ==&lt;br /&gt;
''&amp;quot;Don't reinvent the wheel if there's an existing library function to do it for you&amp;quot;''[http://www.compsci.ca/v2/viewtopic.php?t=9494]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=IRC_2006_01_17</id>
		<title>IRC 2006 01 17</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=IRC_2006_01_17"/>
				<updated>2006-01-18T22:41:53Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;wtd: Minsc: I prefer kayaking to sailing out here&lt;br /&gt;
* Minsc falls to the floor, twitching&lt;br /&gt;
wtd: Oh darn... I broke his mind&lt;br /&gt;
cornflake: way to go wtd, now who's gonna clean up the mess?&lt;br /&gt;
wtd: Just shove it under the rug&lt;br /&gt;
cornflake: but that's where I keep Coutsos!&lt;br /&gt;
cornflake: Err...&lt;br /&gt;
* Minsc 's eyes open wide&lt;br /&gt;
wtd: it's a big rug&lt;br /&gt;
Minsc: According to Hikaru79, shoving me under the rug with Coutsos would be a good idea.  Freakin' pervert.  :P &lt;br /&gt;
cornflake: lol&lt;br /&gt;
Hikaru79: x)&lt;br /&gt;
cornflake: well, he is a stiff after all minsc ;)&lt;br /&gt;
Minsc: Man, necropheliac AND gay--can it get any worse? ;)&lt;br /&gt;
Hikaru79: Eeeh?? O_O'&lt;br /&gt;
cornflake: we could film it...&lt;br /&gt;
cornflake: :D&lt;br /&gt;
* Hikaru79 is hiding in a corner :(&lt;br /&gt;
wtd: Minsc, be careful what you ask for&lt;br /&gt;
* cornflake goes and gets the camera&lt;br /&gt;
Minsc: Well, I guess instead of Coutsos it could be some disturbing animal, like a Yak.&lt;br /&gt;
cornflake: hmmm, no; the yak is in the closet&lt;br /&gt;
* Coutsos (Coutsos@ncout.Users.AfterNET.Org) has joined #compsci.ca&lt;br /&gt;
* Ultrahex gives channel operator status to Coutsos&lt;br /&gt;
Hikaru79: Hahahahaha&lt;br /&gt;
Minsc: Oh dear GOD!&lt;br /&gt;
* wtd gets a yak&lt;br /&gt;
Minsc: someone ban coutsos, fast&lt;br /&gt;
Coutsos: ...&lt;br /&gt;
wtd: cornflake, then it's time for the yak to come out&lt;br /&gt;
cornflake: that it is&lt;br /&gt;
cornflake: lol&lt;br /&gt;
Coutsos: Being unwanted sure sucks...&lt;br /&gt;
cornflake: rofl&lt;br /&gt;
Hikaru79: Aaaw :(&lt;br /&gt;
Hikaru79: If you don't want him, Minsc, I'll take him.&lt;br /&gt;
Coutsos: ...&lt;br /&gt;
wtd: Coutsos, you don't want o be &amp;quot;wanted&amp;quot; at the moment... trust me.&lt;br /&gt;
cornflake: hey hey! I'm storing him under the rug for a reason!&lt;br /&gt;
cornflake: now get away from my Yak minsc&lt;br /&gt;
Minsc: Hikaru79, he's mine!  Coutsos &amp;gt; Yak&lt;br /&gt;
Minsc: With pleasure!&lt;br /&gt;
Ultrahex: wtf my DNS is broken&lt;br /&gt;
Minsc: Hikaru79,  you can have Ultrahex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=IRC_channel</id>
		<title>IRC channel</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=IRC_channel"/>
				<updated>2006-01-18T01:07:17Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* Daily Life */  Added more strangeless links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[The]] #compsci.ca channel on IRC is where all the cool members are hanging out. Chances are, if you're not there, you're missing something exciting and important.&lt;br /&gt;
&lt;br /&gt;
==Information==&lt;br /&gt;
&lt;br /&gt;
'''Server:'''  irc.afternet.org&lt;br /&gt;
&lt;br /&gt;
'''Main Channel:''' #compsci.ca&lt;br /&gt;
&lt;br /&gt;
'''Self-taught Programming Channel:''' #cs-self-taught&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
===Of The Main Channel===&lt;br /&gt;
&lt;br /&gt;
Much of #compsci.ca's early history is shrouded in mystery. Nobody is quite sure the exact time when it was created, but rumour has it that [[Coutsos]] was its founder, although he did not begin to regularly attend it until quite some time later. Its first regular inhabitants were [[wtd]] and a mysterious lurker named [[Ultrahex]], who doesn't seem to be a bona fide member of the CompSci.ca community, although he's always in the channel.&lt;br /&gt;
Things took off sometime in early 2005, when a wave of members, including [[Hikaru79]], [[Coutsos]], [[Cervantes]], and [[Gandalf]] started regularly attending the channel. At present, #compsci.ca has a regular population of about seven, give or take, although it is subject to occasional flurries of activity, often when the moon is full.&lt;br /&gt;
&lt;br /&gt;
===Of The Self-taught Programming Channel===&lt;br /&gt;
This channel was thought of on the [http://www.compsci.ca/v2/viewtopic.php?t=10613 forums] by [[wtd]] on December 14, 2005. The main interest of this new channel is [[Ruby]] and [[O'Caml]]. This channel is not for the people who are taught programming in high school but for the people who self-teach it. When [[wtd]] announced it, there was a great cheer for [[wtd]] since he created the channel for the rest of the users to use and ask questions about.&lt;br /&gt;
&lt;br /&gt;
==Daily Life==&lt;br /&gt;
&lt;br /&gt;
Much of #compsci.ca's time is spent in utter silence (while its members spend time in deep personal reflection and thought), broken periodically by outbursts of conversation, instruction, and weirdness. Hilarity often ensues. Confusion can become rampant when [[the]] mature members take to stealing each other's nicknames (see [[Coutsos Identity Crisis]]).  On a good day, [[wtd]] can be observed teaching some interesting, mind-blowing new programming concept.&lt;br /&gt;
&lt;br /&gt;
Ocasionally if you are really lucky you'll witness something as bizzare as [http://www.compsci.ca/wiki/index.php?title=IRC_2006_01_17 this wonderful event].&lt;br /&gt;
&lt;br /&gt;
== IRC Names to CompSci.ca User Names ==&lt;br /&gt;
*'''[[wtd]]''' - wtd, Lotho&lt;br /&gt;
*'''[[Cornflake]]''' - md, minor_deity, or cornflake&lt;br /&gt;
*'''[[Coutsos]]''' - Coutsos&lt;br /&gt;
*'''[[Cervantes]]''' - Cervantes, [[Minsc]], and 100's of other variations that come up&lt;br /&gt;
*'''[[Gandalf]]''' - Gandalf, [Gandalf]&lt;br /&gt;
*'''[[Hikaru79]]''' - Hikaru79&lt;br /&gt;
*'''[[Hacker Dan]]''' - Hacker_Dan, Dan&lt;br /&gt;
*'''[[timmytheturtle]]''' - timmy, timmytheturtle, timmythetortoise&lt;br /&gt;
*'''[[Amailer]]''' - Amailer&lt;br /&gt;
*'''[[TheFerret]]''' - TheFerret&lt;br /&gt;
*'''[[Martin]]''' - mdkess&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;*Note: May vary greatly when name-switching game is in progress.&lt;br /&gt;
&lt;br /&gt;
==The Future==&lt;br /&gt;
&lt;br /&gt;
The future for #compsci.ca is looking bright, as it receives more and more attention in the compsci.ca community, particularly through the siggies and evangelism of [[Cervantes]], [[Coutsos]], and [[Hikaru79]]. With any luck, it will soon be as integral a part of the compsci.ca experience as the forum has come to be. &lt;br /&gt;
&lt;br /&gt;
[[Hacker Dan]] has made plans to integrate a Java-based IRC client that will send users to the channel directly from the forums. The feature is planned to be included in the new forum software, [[V3]], that hopefully will be completed over the 2005/2006 Christmas break.&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=CompSci_Gods</id>
		<title>CompSci Gods</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=CompSci_Gods"/>
				<updated>2006-01-09T16:10:23Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: Spam?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Roll this back if it wasn't spam... but it's definitely not about &amp;quot;Compsci Gods&amp;quot;&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=User:Wtd</id>
		<title>User:Wtd</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=User:Wtd"/>
				<updated>2005-12-23T23:02:23Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See [[wtd]].&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Pwned</id>
		<title>Pwned</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Pwned"/>
				<updated>2005-12-22T19:52:57Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pwned is a meber of compsci.ca widely considered to be a [[noob]]. He thinks he is an amazing and brilliant person. He believes he has enought power to say &amp;quot;He will spare everyone, under the condition that they first bow in respect to him&amp;quot;. In reality however Pwned is not amazing at all, and is a rather bumb person; his inability to see that he really has no power at all is only proof that he does not live in the real world. The majority of compsci.ca members have no respect at all for Pwned, in part because of his arrogance and in part because of his use of 1337/noob speak on the forums and his repeated abuse of the admins.&lt;br /&gt;
&lt;br /&gt;
Pwned has been nicely summed up by one member by this:&lt;br /&gt;
&amp;quot;Pwned is simply a failure at life. His arrogance blinds him to the true state of the world which, contrary to his belief, does not appreciate rude and disrespectful people like himself.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;As his highschool career comes to an end, he will hopefully realize the errors of his life thus far. Then again, perhaps he won't, and we can all laugh at him for all eternity.&amp;quot;&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Pwned</id>
		<title>Pwned</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Pwned"/>
				<updated>2005-12-22T19:52:25Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: Fixed strike-outs, wording. Represents what seems to be consensus&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pwned is a meber of compsci.ca widely considered to be a [[noob]]. He thinks he is an amazing and brilliant person. He believes he has enought power to say &amp;quot;He will spare everyone, under the condition that they first bow in respect to him&amp;quot;. In reality however Pwned is not amazing at all, and is a rather bumb person; his inability to see that he really has no power at all is only proof that he does not live in the real world. The majority of compsci.ca members have no respect at all for Pwned, in part because of his arrogance and in part because of his use of 1337/noob speak on the forums and his repeated abuse of the admins.&lt;br /&gt;
&lt;br /&gt;
Pwned has been nicely summed up by one member by this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Pwned is simply a failure at life. His arrogance blinds him to the true state of the world which, contrary to his belief, does not appreciate rude and disrespectful people like himself.&lt;br /&gt;
&lt;br /&gt;
As his highschool career comes to an end, he will hopefully realize the errors of his life thus far. Then again, perhaps he won't, and we can all laugh at him for all eternity.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=IRC_channel</id>
		<title>IRC channel</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=IRC_channel"/>
				<updated>2005-12-22T19:42:48Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* IRC Names to CompSci.ca User Names */  Fixed list/html removed 2nd note (falsehood)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[The]] #compsci.ca channel on IRC is where all the cool members are hanging out. Chances are, if you're not there, you're missing something exciting and important.&lt;br /&gt;
&lt;br /&gt;
==Information==&lt;br /&gt;
&lt;br /&gt;
'''Server:'''  irc.afternet.org&lt;br /&gt;
&lt;br /&gt;
'''Main Channel:''' #compsci.ca&lt;br /&gt;
&lt;br /&gt;
'''Self-taught Programming Channel:''' #cs-self-taught&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
===Of The Main Channel===&lt;br /&gt;
&lt;br /&gt;
Much of #compsci.ca's early history is shrouded in mystery. Nobody is quite sure the exact time when it was created, but rumour has it that [[Coutsos]] was its founder, although he did not begin to regularly attend it until quite some time later. Its first regular inhabitants were [[wtd]] and a mysterious lurker named [[Ultrahex]], who doesn't seem to be a bona fide member of the CompSci.ca community, although he's always in the channel.&lt;br /&gt;
Things took off sometime in early 2005, when a wave of members, including [[Hikaru79]], [[Coutsos]], [[Cervantes]], and [[Gandalf]] started regularly attending the channel. At present, #compsci.ca has a regular population of about seven, give or take, although it is subject to occasional flurries of activity, often when the moon is full.&lt;br /&gt;
&lt;br /&gt;
===Of The Self-taught Programming Channel===&lt;br /&gt;
This channel was thought of on the [http://www.compsci.ca/v2/viewtopic.php?t=10613 forums] by [[wtd]] on December 14, 2005. The main intrest of this new channel is [[Ruby]] and [[O'Caml]]. This channel is not for the people who are taught programming in high school but for the people who self-teach it. When [[wtd]] announced it, there was a great cheer for [[wtd]] since he created the channel for the rest of the users to use and ask questions about.&lt;br /&gt;
&lt;br /&gt;
==Daily Life==&lt;br /&gt;
&lt;br /&gt;
Much of #compsci.ca's time is spent in utter silence (while its members spend time in deep personal reflection and thought), broken periodically by outbursts of conversation, instruction, and weirdness. Hilarity often ensues. Confusion can become rampant when [[the]] mature members take to stealing each other's nicknames (see [[Coutsos Identity Crisis]]).  On a good day, [[wtd]] can be observed teaching some interesting, mind-blowing new programming concept. &lt;br /&gt;
&lt;br /&gt;
== IRC Names to CompSci.ca User Names ==&lt;br /&gt;
*'''[[wtd]]''' - wtd, Lotho&lt;br /&gt;
*'''[[Cornflake]]''' - md, minor_deity, or cornflake&lt;br /&gt;
*'''[[Coutsos]]''' - Coutsos&lt;br /&gt;
*'''[[Cervantes]]''' - Cervantes, [[Minsc]], and 100's of other variations that come up&lt;br /&gt;
*'''[[Gandalf]]''' - Gandalf, [Gandalf]&lt;br /&gt;
*'''[[Hikaru79]]''' - Hikaru79&lt;br /&gt;
*'''[[Hacker Dan]]''' - Hacker_Dan, Dan&lt;br /&gt;
*'''[[timmytheturtle]]''' - timmy, timmytheturtle, timmythetortoise&lt;br /&gt;
*'''[[Amailer]]''' - Amailer&lt;br /&gt;
*'''[[TheFerret]]''' - TheFerret&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;*Note: May vary greatly when name-switching game is in progress.&lt;br /&gt;
&lt;br /&gt;
==The Future==&lt;br /&gt;
&lt;br /&gt;
The future for #compsci.ca is looking bright, as it receives more and more attention in the compsci.ca community, particularly through the siggies and evangelism of [[Cervantes]], [[Coutsos]], and [[Hikaru79]]. With any luck, it will soon be as integral a part of the compsci.ca experience as the forum has come to be. &lt;br /&gt;
&lt;br /&gt;
[[Hacker Dan]] has made plans to integrate a Java-based IRC client that will send users to the channel directly from the forums. The feature is planned to be included in the new forum software, [[V3]], that hopefully will be completed over the 2005/2006 Christmas break.&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Pascal</id>
		<title>Pascal</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Pascal"/>
				<updated>2005-12-21T04:04:55Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* Language */  &amp;lt;code&amp;gt; -&amp;gt; &amp;lt;pre&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pascal is an imperative computer programming language, developed in 1970 by [[Niklaus Wirth]] as a language particularly suitable for structured programming. Pascal is based on the [[ALGOL]] programming language and named in honor of mathematician and philosopher [[Blaise Pascal]].&lt;br /&gt;
&lt;br /&gt;
==Language==&lt;br /&gt;
All Pascal programs start with the &amp;quot;Program&amp;quot; [[keyword]], an optional list of external file descriptors and then a [[block]] of code is indicated with the &amp;quot;&amp;lt;code&amp;gt;Begin&amp;lt;/code&amp;gt;&amp;quot; and &amp;quot;&amp;lt;code&amp;gt;End&amp;lt;/code&amp;gt;&amp;quot; keywords. [[Semicolon]]s separate statements, and the [[full stop]] ends the program (or unit). Upper and lower case are considered to be the same in pascal.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    program HelloWorld;&lt;br /&gt;
    begin&lt;br /&gt;
        writeln('Hello, World!');&lt;br /&gt;
    end.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pascal is a purely [[procedural language]] with the standard array of &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt;, and related constructs. It is a [[structured programming]] language, meaning that the flow of control is structured into standard statements, ideally without '[[goto]]' commands.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    while a &amp;lt;&amp;gt; b '''do&lt;br /&gt;
        WriteLn('Waiting');&lt;br /&gt;
&lt;br /&gt;
    if a &amp;gt; b then&lt;br /&gt;
        writeln('Condition met')&lt;br /&gt;
    else&lt;br /&gt;
     writeln('Condition false');&lt;br /&gt;
  &lt;br /&gt;
    for i := 1 to 10 do &lt;br /&gt;
        writeln('Iteration: ', i);&lt;br /&gt;
  &lt;br /&gt;
    repeat&lt;br /&gt;
        a := a + 1;&lt;br /&gt;
    until a = 10;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pascal structures programs into procedures and functions.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    Procedure Foo(parameter:integer);&lt;br /&gt;
    Begin&lt;br /&gt;
        Writeln(‘Foo(‘, parameter,’);’);&lt;br /&gt;
    End;&lt;br /&gt;
&lt;br /&gt;
    Function Bar(a:integer):integer;&lt;br /&gt;
    Begin&lt;br /&gt;
        Bar := a + 1;&lt;br /&gt;
    End;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
Procedures and functions can nest to any depth, and the 'program' construct is the logical outermost block. Each block can have its own declarations of goto labels, constants, types, variables, and other procedures and functions. Depending on the compiler there may be many basic types defined. Usually integer, longint, char, Boolean, and string are defined. Other basic types for floating point might also be defined (float, double, and/or real), as well as larger integer types. Enumerated types are also supported.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    program myprog;&lt;br /&gt;
  &lt;br /&gt;
    var&lt;br /&gt;
        a: integer;&lt;br /&gt;
        b: char;&lt;br /&gt;
        c: boolean;&lt;br /&gt;
        d: (one, two, three, four, five);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;subrange&amp;quot; of any of the above types can be made.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    var&lt;br /&gt;
        x: 1..10;&lt;br /&gt;
        y: 'a'..'z';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Types can be built from other types by the type declaration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    type&lt;br /&gt;
        x = integer;&lt;br /&gt;
        y = x;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Further, complex types can be constructed from simple types:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    type&lt;br /&gt;
        a = array [1..10] of integer;&lt;br /&gt;
        b = record&lt;br /&gt;
            a: integer;&lt;br /&gt;
            b: char;&lt;br /&gt;
        end;&lt;br /&gt;
        c = file of a;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Strings are packed arrays that start with an integer index of 1.&lt;br /&gt;
&lt;br /&gt;
Pascal also supports the use of [[pointer]]s:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    type&lt;br /&gt;
        a = ^b;&lt;br /&gt;
        b = record&lt;br /&gt;
            a: integer;&lt;br /&gt;
            b: char;&lt;br /&gt;
            c: a;&lt;br /&gt;
        end;&lt;br /&gt;
&lt;br /&gt;
    var&lt;br /&gt;
        pb : a;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here the variable ''pb'' is a pointer to the data type ''b'', a record. To create a new record and assign the values ''10'' and ''A'' to the fields ''a'' and ''b'' in the record, the commands would be;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    new(pb);&lt;br /&gt;
    pb^.a := 10;&lt;br /&gt;
    pb^.b := 'A';&lt;br /&gt;
    pb^.c := nil;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Linked list]]s can be created by including a pointer type field (c) in the record.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
Pascal was originally intended to be a teaching language, so its syntax is relatively easy to learn. Because of its age it lacks support for newer concepts such as classes and objects, however many newer compilers do provide some support for these features. Pascal can be interpreted or compiled directly to machine code, depending on the compiler you are using. Mostly it is just a compiled language. &lt;br /&gt;
&lt;br /&gt;
As pascal was intended to be a teaching language, it contains all the essential programming features -- Input/Output, Control Flow, Iteration, etc. Common tasks (such as receiving keyboard input) are quite simple, allowing students to focus on the logic of the program rather than details about the implementation. In addition, many compilers also provide easy to use graphics libraries so that students don’t need to learn [[DirectX]] or [[OpenGL]] to do simple drawing; though interfaces to both libraries can usually be found.&lt;br /&gt;
&lt;br /&gt;
==Standards==&lt;br /&gt;
&lt;br /&gt;
In 1983, the language was standardized, in the international standard ISO/IEC 7185, as well as several local country specific standards, including the American ANSI/IEEE770X3.97-1983. In 1990, an extended Pascal standard was created as ISO/IEC 10206.&lt;br /&gt;
The ISO 7185 was stated to be a clarification of Wirth's 1974 language as detailed by the User Manual and Report [Jensen and Wirth], but was also notable for adding &amp;quot;Conformant Array Parameters&amp;quot; as a level 1 to the standard, level 0 being Pascal without Conformant Arrays.&lt;br /&gt;
Note that Niklaus Wirth himself referred to the 1974 language as &amp;quot;the Standard&amp;quot;, for example, to differentiate it from the machine specific features of the CDC 6000 compiler.&lt;br /&gt;
On the large machines (mainframes and minicomputers) Pascal originated on, the standards were generally followed. On the IBM-PC, they were not. On IBM-PCs, the Borland standards Turbo Pascal and Delphi have the greatest number of users. Thus, it is typically important to understand whether a particular implementation corresponds to the original Pascal language, or a Borland dialect of it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Compilers==&lt;br /&gt;
There are many compilers for pascal, the most notable ones being the [[Free Pascal]] compiler, and the [[GNU Pascal]] compiler. &lt;br /&gt;
&lt;br /&gt;
Borland also makes pseudo pascal compilers under the names “Turbo Pascal” and “Delphi”, however despite their similarity to pascal, they do not make any effort to be standards compliant.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
[http://www.freepascal.org/ Free Pascal]&lt;br /&gt;
[http://www.gnu-pascal.de/ GNU Pascal]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Talk:The</id>
		<title>Talk:The</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Talk:The"/>
				<updated>2005-12-17T06:38:28Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Boo-chan]]- However I think we need a page that describes sarcasm because clearly some people have trouble understanding when it is being used.&lt;br /&gt;
*[[Timmytheturtle]]: It's all your fault for planting it in our heads, weither you were being sarcastic or not. So I point the blame towards you. Good job boo-chan!&lt;br /&gt;
*[[Cornflake]]: I have the logs to proove it too! It's surprisingly difficult to see sarcasm in text...&lt;br /&gt;
*[[Amailer]]: So....what is this &amp;quot;topic&amp;quot; about?&lt;br /&gt;
*[[Cornflake]]: &amp;quot;The&amp;quot;&lt;br /&gt;
*[[rizzix]]: More like [[The]] abuse of the Wiki system..&lt;br /&gt;
*[[Cornflake]]: Not abuse... just exploitation...&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Talk:The</id>
		<title>Talk:The</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Talk:The"/>
				<updated>2005-12-15T20:39:18Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Boo-chan]]- However I think we need a page that describes sarcasm because clearly some people have trouble understanding when it is being used.&lt;br /&gt;
*[[Timmytheturtle]]: It's all your fault for planting it in our heads, weither you were being sarcastic or not. So I point the blame towards you. Good job boo-chan!&lt;br /&gt;
*[[Cornflake]]: I have the logs to proove it too! It's surprisingly difficult to see sarcasm in text...&lt;br /&gt;
*[[Amailer]]: So....what is this &amp;quot;topic&amp;quot; about?&lt;br /&gt;
*[[Cornflake]]: &amp;quot;The&amp;quot;&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Compsci.ca_Wiki:Community_Portal</id>
		<title>Compsci.ca Wiki:Community Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Compsci.ca_Wiki:Community_Portal"/>
				<updated>2005-12-15T20:15:09Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: Added link to tutorials&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CompSci.ca Info ==&lt;br /&gt;
*[[Dictionary of Dan]] - The New Dictionary Of Dan project&lt;br /&gt;
*[[Bits]] - All about the bits system&lt;br /&gt;
*[[Ranks]] - The Ranks on the CompSci.ca fourm&lt;br /&gt;
*[[IRC channel]] - All about the CompSci.ca IRC Channel&lt;br /&gt;
*[[CompSci Logo]] - CompSci.ca logos of the past, present and future?&lt;br /&gt;
*[[Rotating quotes system]] - The RQS used in some users sigs.&lt;br /&gt;
*[[V3]] - The futtuer of the CompSci.ca site&lt;br /&gt;
*[[Current events]] - The curent events on CompSci.ca&lt;br /&gt;
*[[CompSci.ca News]] - The curent on goings of CompSci.ca&lt;br /&gt;
*[[Special:Statistics]] - CompSci.ca Wiki statistics&lt;br /&gt;
&lt;br /&gt;
== Programming Langues ==&lt;br /&gt;
&lt;br /&gt;
See [[Tutorials|here]] for tutorials.&lt;br /&gt;
&lt;br /&gt;
[[Turing]]&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Evasive Maneuvers]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Pascal]]; And it's compilers:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Free Pascal]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[GNU Pascal]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Computer Systems ==&lt;br /&gt;
[[Linux]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[OSX]]&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Mac Users]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Ubuntu]]&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Ubuntu Users]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Windows]]&lt;br /&gt;
&lt;br /&gt;
== Users Schools ==&lt;br /&gt;
*[[Holy Cross Catholic Secondary School]]&lt;br /&gt;
*[[Lakehead University]]&lt;br /&gt;
*[[Newmarket High School]]&lt;br /&gt;
*[[University of Waterloo]]&lt;br /&gt;
&lt;br /&gt;
== Users ==&lt;br /&gt;
*[[Amailer]]&lt;br /&gt;
*[[Boo-chan]]&lt;br /&gt;
*[[Cervantes]]&lt;br /&gt;
*[[Cornflake]]&lt;br /&gt;
*[[Coutsos]]&lt;br /&gt;
*[[El Comandante]]&lt;br /&gt;
*[[Hacker Dan]]&lt;br /&gt;
*[[Hikaru79]]&lt;br /&gt;
*[[Martin]]&lt;br /&gt;
*[[TheFerret]]&lt;br /&gt;
*[[Timmytheturtle]]&lt;br /&gt;
*[[Tony]]&lt;br /&gt;
*[[Wtd]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''[[Special:Listusers]] - All wiki users'''''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Links]] - Links Page&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Avatar_of_the_Month_Award</id>
		<title>Avatar of the Month Award</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Avatar_of_the_Month_Award"/>
				<updated>2005-12-15T20:14:04Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: fixed mazer links to point to coutsos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Avatar of the Month ==&lt;br /&gt;
An old practice among online communities in which nerds argued over who had [[the]] best [[avatar]] in use for that month. It was very common for people to change avatars frequently, either indicating issues with self perception, or just randomly stumbling upon images deemed &amp;quot;cooler&amp;quot; than their current one. Standard procedure dictated that a poll was made with options for different well known members of the community. After a pre-determined period of time (a week was normal, logically it would be less than a month) the poll would end and the winner was declared to be the member who received the most votes.&lt;br /&gt;
&lt;br /&gt;
== Compsci.ca's Avatar of the Month History ==&lt;br /&gt;
To date (December 2005), there have been three attempts to host an Avatar of the Month contest, started on:&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewtopic.php?t=1001 May 24, 2003]&amp;lt;br&amp;gt;&lt;br /&gt;
'''Nominees:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[bugzpodder]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Asok]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Tony]]&amp;lt;br&amp;gt;&lt;br /&gt;
FwuffyTheBunny&amp;lt;br&amp;gt;&lt;br /&gt;
ShadowStorm&amp;lt;br&amp;gt;&lt;br /&gt;
Mint&amp;lt;br&amp;gt;&lt;br /&gt;
'''Winner:''' None.&amp;lt;br&amp;gt;&lt;br /&gt;
In truth, this wasn't an Avatar of the Month Award thread, but rather a &amp;quot;Coolest Avatar Contest&amp;quot;&lt;br /&gt;
No poll was created, and interest seemed to fade shortly afterwards. The thread remains dusty and forgotten in [[the]] depths of [[CompSci.ca]]'s past.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.compsci.ca/v2/viewtopic.php?t=2043 Oct 05, 2003]&amp;lt;br&amp;gt;&lt;br /&gt;
'''Official Nominees:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[Amailer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Asok]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Coutsos|Mazer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Catalyst]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Tony]]&amp;lt;br&amp;gt;&lt;br /&gt;
Dan&amp;lt;br&amp;gt;&lt;br /&gt;
'''Winner:''' Unknown&amp;lt;br&amp;gt;&lt;br /&gt;
The first true Avatar of the Month Award thread, this time featuring a poll. According to the statistics shown in the thread, the winner would have been the member known as Mazer, but there are no records to indicate him receiving any awards. Although Amailer managed to get a percentage of the votes, he was later disqualified after it was discovered that he was actually a [[12 year old]].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.compsci.ca/v2/viewtopic.php?t=3822 Feb 22, 2004]&amp;lt;br&amp;gt;&lt;br /&gt;
'''Official Nominees:'''&amp;lt;br&amp;gt;&lt;br /&gt;
Paul Bian&amp;lt;br&amp;gt;&lt;br /&gt;
Maverick&amp;lt;br&amp;gt;&lt;br /&gt;
Shorthair&amp;lt;br&amp;gt;&lt;br /&gt;
[[Coutsos|Mazer]]&amp;lt;br&amp;gt;&lt;br /&gt;
Boarder16&amp;lt;br&amp;gt;&lt;br /&gt;
[[McKenzie]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Cervantes]]&amp;lt;br&amp;gt;&lt;br /&gt;
'''Winner:''' Paul Bian&amp;lt;br&amp;gt;&lt;br /&gt;
This was the last known Avatar of the Month Award thread on the [[CompSci.ca]] forums. Though there were many familiar names entered this time, the mood had changed dramatically from the previous contests. Most noticeable was the drastic change in Mazer's enthusiasm for the whole affair and wanted to leave it altogether. In the end, Paul Bian was the self proclaimed winner, but has yet to receive any kind of award.&lt;br /&gt;
&lt;br /&gt;
== Conspiracy Theory ==&lt;br /&gt;
When it became public knowledge that no winner of the Avatar of the Month Award had ever actually received an award, fear and panic began to spread, and with them, so did suspicion. Members began to develop theories as to what could be going on behind their backs. For instance, it seemed very stranged to a number of people that the only time an Avatar of the Month Award styled thread popped up was between the months of January and December. Some came to the conclusion that there never really was an award. Even though a picture of the award is available for anyone to see on the [[CompSci.ca]] forum, many argue that it looks like an obvious CG fake. Some believe that the whole contest was a trick played by the administrators to collect all of the money the members gambled and spend it on legal copies of Turing.&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Talk:The</id>
		<title>Talk:The</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Talk:The"/>
				<updated>2005-12-15T17:43:24Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Boo-chan]]- However I think we need a page that describes sarcasm because clearly some people have trouble understanding when it is being used.&lt;br /&gt;
*[[Timmytheturtle]]: It's all your fault for planting it in our heads, weither you were being sarcastic or not. So I point the blame towards you. Good job boo-chan!&lt;br /&gt;
*[[Cornflake]]: I have the logs to proove it too! It's surprisingly difficult to see sarcasm in text...&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Talk:The</id>
		<title>Talk:The</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Talk:The"/>
				<updated>2005-12-15T17:43:11Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Boo-chan]]- However I think we need a page that describes sarcasm because clearly some people have trouble understanding when it is being used.&lt;br /&gt;
*[[Timmytheturtle]]: It's all your fault for planting it in our heads, weither you were being sarcastic or not. So I point the blame towards you. Good job boo-chan!&lt;br /&gt;
8[[Cornflake]]: I have the logs to proove it too! It's surprisingly difficult to see sarcasm in text...&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Talk:Tutorials</id>
		<title>Talk:Tutorials</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Talk:Tutorials"/>
				<updated>2005-12-15T08:19:14Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Cornflake]]: Outline for porting tutorials over from compsci.ca; makes organizing them easier :)&lt;br /&gt;
*[[Cornflake]]: check out [http://meta.wikimedia.org/wiki/Help:Editing#Organizing_your_writing here] for how to do formatting.&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Talk:Tutorials</id>
		<title>Talk:Tutorials</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Talk:Tutorials"/>
				<updated>2005-12-15T08:19:04Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Cornflake]]: Outline for porting tutorials over from compsci.ca; makes organizing them easier :)&lt;br /&gt;
*[[User:Cornflake|Cornflake]]: check out [http://meta.wikimedia.org/wiki/Help:Editing#Organizing_your_writing here] for how to do formatting.&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Cornflake</id>
		<title>Cornflake</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Cornflake"/>
				<updated>2005-12-15T08:11:50Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* Who is Cornflake? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Who is Cornflake? ==&lt;br /&gt;
[[Image:cornflake_currentavatar.jpg|thumb|right|Cornflake's current avatar]]&lt;br /&gt;
Cornflake joined the forums in 2004 after hearing about [[CompSci.ca]] from it's two of it's key members [[Tony]] and [[Martin]]. He is a decent [[C]]/[[CPP|C++]]/[[Pascal]] programmer, but knows many other languages well enough to be able to help out. Cornflake is usually fairly good when it comes to helping people who ask nicely, but has been known to be a complete ass to people who do or say dumb things. Usually these people fall under the title of [[noob]] and are equally despised by all. &lt;br /&gt;
&lt;br /&gt;
Cornflake is a second year CS student at the [[University of Waterloo]], and can usually be found lurking in the [[IRC channel]]. He is also the only member of compsci to have seen the illusive giant 42.[[Image:42.png|thumb|[[42]]]]&lt;br /&gt;
&lt;br /&gt;
== Quotes ==&lt;br /&gt;
''Got up one morning at camp hungery. Very hungry. So I ate three boxes (yes boxes) of cornflakes.''[http://www.compsci.ca/v2/viewtopic.php?t=9560#91307]&lt;br /&gt;
&lt;br /&gt;
== Past Avatars ==&lt;br /&gt;
[[Image:cornflake_avatar2.png|thumb|left|The Original]]&lt;br /&gt;
[[Image:cornflake_avatar1.gif|thumb|left|New and Improved]]&lt;br /&gt;
[[Image:cornflake_avatar3.png|thumb|left|Duck Style]]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Basic_String_Handling_in_C</id>
		<title>Basic String Handling in C</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Basic_String_Handling_in_C"/>
				<updated>2005-12-15T08:10:50Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==C++ is not C==&lt;br /&gt;
&lt;br /&gt;
For better or worse, C and C++ are not the same language. One of the simplest, yet most profound ways the two languages differ is in how they handle strings.&lt;br /&gt;
&lt;br /&gt;
While C++ has a standard string class which hides the nature of strings and allows programmers to deal with them in a fairly high-level manner... C does not.&lt;br /&gt;
&lt;br /&gt;
==What is a string in C?==&lt;br /&gt;
&lt;br /&gt;
A single character in the ASCII character set, with which we most commonly deal, is a single byte (or 8 bits) of computer memory. A string is just a number of bytes in a row in a computer. The variable representing a string is just a pointer to the first character in that string.&lt;br /&gt;
&lt;br /&gt;
'''So how do we know where a string ends?'''&lt;br /&gt;
&lt;br /&gt;
When any of the functions which deal with strings run into a null byte (one whose value is zero), they know they've reached the end of the string.&lt;br /&gt;
&lt;br /&gt;
===Allocating Strings===&lt;br /&gt;
&lt;br /&gt;
Note: If we want a 42 character string, we have to allocate space for 43 characters, so that one of them can be set to zero.&lt;br /&gt;
&lt;br /&gt;
First we'll create a string that's 42 characters long and is allocated to the stack, so that it ceases to exist outside of a particular function call.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   char foo[43];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And now we'll allocate a string on the heap, so that it sticks around until we explicitly free the memory. The malloc() function does this, and we cast the result of it to the type of pointer we want. In this case that's a char pointer.&lt;br /&gt;
&lt;br /&gt;
We give malloc the number of bytes we want to allocate. We don't want to count on char being one byte, though, so we find the size of it with the sizeof() macro, then mutliply that by 43 (the number of characters we want, including the null character).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   char * bar = (char *)malloc(sizeof(char) * 43);&lt;br /&gt;
&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Freeing up a string===&lt;br /&gt;
&lt;br /&gt;
When we're done with a string variable, to prevent it from continuing to take up memory, you should free() that memory.&lt;br /&gt;
&lt;br /&gt;
This is unnecessary with stack-allocated strings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   char * bar = (char *)malloc(sizeof(char) * 43);&lt;br /&gt;
&lt;br /&gt;
   /* do something with foo... */&lt;br /&gt;
&lt;br /&gt;
   free(foo);&lt;br /&gt;
&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Any questions?==&lt;br /&gt;
&lt;br /&gt;
This is the point where you should stop yourself and figure out if you really understand the above before going further.&lt;br /&gt;
&lt;br /&gt;
==We know how to allocate and free strings... now what?==&lt;br /&gt;
&lt;br /&gt;
The C header file &amp;quot;string.h&amp;quot; contains numerous functions for handling strings.&lt;br /&gt;
&lt;br /&gt;
===Copying a string to a variable===&lt;br /&gt;
&lt;br /&gt;
The simplest way to copy one string into another is to use strcpy(). This functions takes a character pointer for the first argument (the destination), and a constant character pointer for the second argument (the source). The source string, including the null character is copied into the destination.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   char foo[43];&lt;br /&gt;
&lt;br /&gt;
   strcpy(foo, &amp;quot;Hello world&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And it can be used to copy from one string variable to another.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   char foo[43];&lt;br /&gt;
   char bar[43];&lt;br /&gt;
&lt;br /&gt;
   strcpy(foo, &amp;quot;Hello world&amp;quot;);&lt;br /&gt;
   strcpy(bar, foo);&lt;br /&gt;
&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Concatenating Strings===&lt;br /&gt;
&lt;br /&gt;
The strcat function steps in here, and works much like strcpy.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   char foo[43];&lt;br /&gt;
&lt;br /&gt;
   strcpy(foo, &amp;quot;Hello &amp;quot;);&lt;br /&gt;
   strcat(foo, &amp;quot;world&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''But there's a catch...'''&lt;br /&gt;
&lt;br /&gt;
The strcpy() and strcat() functions aren't very smart. In fact, I could write one myself.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
char * strcpy(char * dest, const char * source)&lt;br /&gt;
{&lt;br /&gt;
   for (int i = 0; source[i] != 0; i++)&lt;br /&gt;
   {&lt;br /&gt;
      dest[i] = source[i];&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   return dest;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The problem comes from a simple question: if I've allocated 4 characters for the destination, but there are 7 characters in the source, what happens?&lt;br /&gt;
&lt;br /&gt;
The answer is: the function will continue to copy the source string to the destination string without regard for the fact that there isn't enough space in the destination.&lt;br /&gt;
&lt;br /&gt;
This will either cause a segmentation fault, and your program will stop, or it will continue, but it will have written to areas of memory it shouldn't have. This is the infamous &amp;quot;buffer overflow&amp;quot; problem.&lt;br /&gt;
&lt;br /&gt;
'''So how is this fixed?'''&lt;br /&gt;
&lt;br /&gt;
Judicious use of the strncpy() and strncat() functions can eliminate this problem entirely. Each of these is similar to strcpy() and strncat(), but takes an extra argument which represents the number of characters to copy or concatenate.&lt;br /&gt;
&lt;br /&gt;
The other difference is that these functions do not automatically insert the null character which is required at the end of strings. The solution is to insert that character by hand.&lt;br /&gt;
&lt;br /&gt;
So, let's say I have a string six characters long and want to copy &amp;quot;Hello world&amp;quot; to it. Clearly my string isn't big enough. Since I need to use one of the six characters in the string for the null character, I'll only copy five characters from &amp;quot;Hello world&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   char foo[6];&lt;br /&gt;
&lt;br /&gt;
   strncpy(foo, &amp;quot;Hello world&amp;quot;, 5);&lt;br /&gt;
   foo[5] = '\0';&lt;br /&gt;
&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using strncat() is a bit more complicated, because the destination string probably already contains some characters. As a result, you can't just tell the function to concatenate the length of the destination (minus one) and be secure.&lt;br /&gt;
&lt;br /&gt;
You have to calculate the length of the destination string. For that we use the strlen() function.&lt;br /&gt;
&lt;br /&gt;
Knowing the current length of the string we can figure out how many characters worth of space we have left in the string.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   char foo[6];&lt;br /&gt;
&lt;br /&gt;
   /* this is just your basic strcpy() */&lt;br /&gt;
   strcpy(foo, &amp;quot;He&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   /* now, we use strncat() to get the rest of &amp;quot;Hello&amp;quot; without overflowing */&lt;br /&gt;
   strncat(foo, &amp;quot;llo world&amp;quot;, 5 - strlen(foo));&lt;br /&gt;
   foo[5] = '\0';&lt;br /&gt;
&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How do I compare two strings?===&lt;br /&gt;
&lt;br /&gt;
We've already seen that strings in C are just character pointers. So directly comparing two &amp;quot;string&amp;quot; variables just compares the pointers. This will only tell us if the two strings are located at the same place in memory. If they are, then they are the same string.&lt;br /&gt;
&lt;br /&gt;
However, that isn't usually what we're testing. Generally we don't care if two identical strings are located at different places in memory, just whether or not they contain the same characters. As a result, we have to use functions.&lt;br /&gt;
&lt;br /&gt;
===strcmp()===&lt;br /&gt;
&lt;br /&gt;
The most basic function for comparing two strings is strcmp(). This goes through two strings and evaluates them character by character.&lt;br /&gt;
&lt;br /&gt;
If the first string is less than the second, the function return a number less than zero. If the first string is greater than the second, it returns a positive number. If they're the same it returns zero.&lt;br /&gt;
&lt;br /&gt;
This trips up many programmers because zero is &amp;quot;false&amp;quot; in C. To test if two strings are equal, the output of strcmp() should be compared to zero.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   char foo[] = &amp;quot;Hello&amp;quot;;&lt;br /&gt;
   char bar[] = &amp;quot;hello&amp;quot;;&lt;br /&gt;
   char baz[3];&lt;br /&gt;
&lt;br /&gt;
   if (strcmp(foo, bar) == 0)&lt;br /&gt;
   {&lt;br /&gt;
      strcpy(baz, &amp;quot;yo&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   else&lt;br /&gt;
   {&lt;br /&gt;
      strcpy(baz, &amp;quot;oy&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above will have baz being set to &amp;quot;oy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Case-insensitive Comparison===&lt;br /&gt;
&lt;br /&gt;
Case-insensitive comparisons are possible as well, using the strcasecmp() function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   char foo[] = &amp;quot;Hello&amp;quot;;&lt;br /&gt;
   char bar[] = &amp;quot;hello&amp;quot;;&lt;br /&gt;
   char baz[3];&lt;br /&gt;
&lt;br /&gt;
   if (strcasecmp(foo, bar) == 0)&lt;br /&gt;
   {&lt;br /&gt;
      strcpy(baz, &amp;quot;yo&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   else&lt;br /&gt;
   {&lt;br /&gt;
      strcpy(baz, &amp;quot;oy&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Limited Length Comparisons===&lt;br /&gt;
&lt;br /&gt;
Both of these functions have versions which let you specify the number of characters to compare. So, let's say we have &amp;quot;abcdefg&amp;quot;, and &amp;quot;abcz&amp;quot; and we only care about the first three characters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   char foo[] = &amp;quot;abcdefg&amp;quot;;&lt;br /&gt;
   char bar[] = &amp;quot;abcz&amp;quot;;&lt;br /&gt;
   char baz[3];&lt;br /&gt;
&lt;br /&gt;
   if (strncmp(foo, bar, 3) == 0)&lt;br /&gt;
   {&lt;br /&gt;
      strcpy(baz, &amp;quot;yo&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   else&lt;br /&gt;
   {&lt;br /&gt;
      strcpy(baz, &amp;quot;oy&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Case Insentitive Comparison'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   char foo[] = &amp;quot;Abcdefg&amp;quot;;&lt;br /&gt;
   char bar[] = &amp;quot;abcz&amp;quot;;&lt;br /&gt;
   char baz[3];&lt;br /&gt;
&lt;br /&gt;
   if (strncasecmp(foo, bar, 3) == 0)&lt;br /&gt;
   {&lt;br /&gt;
      strcpy(baz, &amp;quot;yo&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   else&lt;br /&gt;
   {&lt;br /&gt;
      strcpy(baz, &amp;quot;oy&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   return 0;&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Discussion==&lt;br /&gt;
To Discuss this tutorial visit [http://www.compsci.ca/v2/viewtopic.php?t=6424 here].&lt;br /&gt;
&lt;br /&gt;
==Credits==&lt;br /&gt;
Tutorial written by [[wtd]], moved to wiki by [[Cornflake]]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Tutorials</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Tutorials"/>
				<updated>2005-12-15T08:10:03Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* C/C++/C# Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Language Independent Tutorials==&lt;br /&gt;
Tutorials that don't depend on a specific language, though they may use examples in one.&lt;br /&gt;
&lt;br /&gt;
==C/C++/C# Tutorials==&lt;br /&gt;
Tutorials Specific to [[C]] and [[CPP|C++]]; and perhaps even some [[C_Sharp|C#]].&lt;br /&gt;
&lt;br /&gt;
*[[Basic String Handling in C]]&lt;br /&gt;
*[[Editing and Compiling programs on windows via MinGW]]&lt;br /&gt;
*[[Introduction to CPP|Introduction to C++]]&lt;br /&gt;
*[[Why you should avoid arrays using CPP|Why you should avoid arrays using C++]]&lt;br /&gt;
*[[Why you should learn C]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=16 C/C++/C# tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==Java Tutorials==&lt;br /&gt;
[[Java]] specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=22 Java tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==Ruby Tutorials==&lt;br /&gt;
[[Ruby]] specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=59 Ruby tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==Turing Tutorials==&lt;br /&gt;
[[Turing]] specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=3 Turing tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==VB Tutorials==&lt;br /&gt;
[[Visual Basic]] Specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=12 Visual Basic Tutorials on CompSci.ca]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Tutorials</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Tutorials"/>
				<updated>2005-12-15T07:57:20Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* C/C++/C# Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Language Independent Tutorials==&lt;br /&gt;
Tutorials that don't depend on a specific language, though they may use examples in one.&lt;br /&gt;
&lt;br /&gt;
==C/C++/C# Tutorials==&lt;br /&gt;
Tutorials Specific to [[C]] and [[CPP|C++]]; and perhaps even some [[C_Sharp|C#]].&lt;br /&gt;
&lt;br /&gt;
*[[Basic String Handling in CPP|Basic String Handling in C++]]&lt;br /&gt;
*[[Editing and Compiling programs on windows via MinGW]]&lt;br /&gt;
*[[Introduction to CPP|Introduction to C++]]&lt;br /&gt;
*[[Why you should avoid arrays using CPP|Why you should avoid arrays using C++]]&lt;br /&gt;
*[[Why you should learn C]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=16 C/C++/C# tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==Java Tutorials==&lt;br /&gt;
[[Java]] specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=22 Java tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==Ruby Tutorials==&lt;br /&gt;
[[Ruby]] specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=59 Ruby tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==Turing Tutorials==&lt;br /&gt;
[[Turing]] specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=3 Turing tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==VB Tutorials==&lt;br /&gt;
[[Visual Basic]] Specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=12 Visual Basic Tutorials on CompSci.ca]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Why_you_should_learn_C</id>
		<title>Why you should learn C</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Why_you_should_learn_C"/>
				<updated>2005-12-15T07:56:13Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==It's useful==&lt;br /&gt;
&lt;br /&gt;
C is as close as you will probably ever come to assembly without actually subjecting yourself to assembly. Sometimes it's necessary or at least beneficial to deal with the computer on this level.&lt;br /&gt;
&lt;br /&gt;
==It's everywhere==&lt;br /&gt;
&lt;br /&gt;
Few languages are implemented as widely as C. If you're developing a program for a large number of platforms, you can be almost guaranteed that they will have some form of C compiler.&lt;br /&gt;
&lt;br /&gt;
Though many languages are technically superior to C, few can boast the same advantage.&lt;br /&gt;
&lt;br /&gt;
==Knowing the difference between C and C++==&lt;br /&gt;
&lt;br /&gt;
Someday you may be called on, as a C++ programmer, even if that is what you spend most of your time doing, to write C code. At those times, it's going to be rather difficult not to employ C++ habits. Knowing what is C and what comprises C++ will help you avoid those pitfalls. As well, it'll give you the ability to write better C code when that time comes.&lt;br /&gt;
&lt;br /&gt;
Employers often have a difficult time differentiating the two languages. This is made worse because the people in charge of hiring programmers often have no experience in that field themselves. They likely believe C++ is just an improved C, and they may hire you to write C code, even though they advertise for a C++ programmer. To hold onto the job you had better be able to write C code.&lt;br /&gt;
&lt;br /&gt;
==It's the basis for Objective-C==&lt;br /&gt;
&lt;br /&gt;
Objective-C doesn't make any changes to the C language, so it's very easy for a C programmer to get into Obj-C programming. This is the language of choice for Mac developers, and GNUStep developers alike. Both are small markets, but ones with a lot of room to grow, and they're more fun and dynamic than most others.&lt;br /&gt;
&lt;br /&gt;
==Discussion==&lt;br /&gt;
To Discuss this tutorial visit [http://www.compsci.ca/v2/viewtopic.php?t=6425 here].&lt;br /&gt;
&lt;br /&gt;
==Credits==&lt;br /&gt;
Tutorial written by [[wtd]], moved to wiki by [[Cornflake]]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Tutorials</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Tutorials"/>
				<updated>2005-12-15T07:54:41Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* C/C++/C# Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Language Independent Tutorials==&lt;br /&gt;
Tutorials that don't depend on a specific language, though they may use examples in one.&lt;br /&gt;
&lt;br /&gt;
==C/C++/C# Tutorials==&lt;br /&gt;
Tutorials Specific to [[C]] and [[CPP|C++]]; and perhaps even some [[C_Sharp|C#]].&lt;br /&gt;
&lt;br /&gt;
*[[Editing and Compiling programs on windows via MinGW]]&lt;br /&gt;
*[[Introduction to CPP|Introduction to C++]]&lt;br /&gt;
*[[Why you should avoid arrays using CPP|Why you should avoid arrays using C++]]&lt;br /&gt;
*[[Why you should learn C]]&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=16 C/C++/C# tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==Java Tutorials==&lt;br /&gt;
[[Java]] specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=22 Java tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==Ruby Tutorials==&lt;br /&gt;
[[Ruby]] specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=59 Ruby tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==Turing Tutorials==&lt;br /&gt;
[[Turing]] specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=3 Turing tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==VB Tutorials==&lt;br /&gt;
[[Visual Basic]] Specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=12 Visual Basic Tutorials on CompSci.ca]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Introduction_to_CPP</id>
		<title>Introduction to CPP</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Introduction_to_CPP"/>
				<updated>2005-12-15T07:53:02Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* What do you need? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==So you want to learn C++?==&lt;br /&gt;
&lt;br /&gt;
I'll tell you something up front. C++ is a big, complex language with lots of very subtle ways to screw up, and the tools aren't going to provide much of a safety net.&lt;br /&gt;
&lt;br /&gt;
You may want to learn C++ because that's what all of the games you play are written in, and because C++ programs can be really fast. Yes, these things are true. Guess what, though? It doesn't matter. If you're a novice programmer, still learning basic programming concepts, C++ makes learning them much harder than it has to be. It'll be hard enough without using tools that go out of their way to confuse you.&lt;br /&gt;
&lt;br /&gt;
You should be looking elsewhere.&lt;br /&gt;
&lt;br /&gt;
==What do you need?==&lt;br /&gt;
&lt;br /&gt;
Ideally, you should be using a *nix-based OS, like [[Linux]], *BSD, or [[OSX|Mac OS X]], but since most of you are likely using [[Windows]], these directions will be tailored to you.&lt;br /&gt;
&lt;br /&gt;
[[Editing and Compiling programs on windows via MinGW|Gandalf's excellent thread on this subject is where you should look.]]&lt;br /&gt;
&lt;br /&gt;
Aside from this, you need a basic understanding of the Windows command-line. Understand directories, and how to navigate between     them. Also understand how to invoke programs and pass arguments and options to them.&lt;br /&gt;
&lt;br /&gt;
Hello, world!&lt;br /&gt;
&lt;br /&gt;
The classic beginning.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    int main()&lt;br /&gt;
    {&lt;br /&gt;
        std::cout &amp;lt;&amp;lt; &amp;quot;Hello, world!&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
        &lt;br /&gt;
        return 0;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Organization==&lt;br /&gt;
&lt;br /&gt;
All executable code in C++ is organized into functions. The &amp;quot;main&amp;quot; function is just such a function. It serves as the &amp;quot;entry point&amp;quot; for the program. When the program is run, this is where execution starts.&lt;br /&gt;
&lt;br /&gt;
We can of course create our own functions, and I'll get to that eventually.&lt;br /&gt;
&lt;br /&gt;
It should be noted that even things which do not look like functions can be. In the &amp;quot;Hello, world!&amp;quot; example, the &amp;lt;code&amp;gt;&amp;lt;&amp;lt;&amp;lt;/code&amp;gt; operator is a function.&lt;br /&gt;
&lt;br /&gt;
The simplest explanation of functions is that they translate one or more values to some new value. In the case of main, the parentheses following the name &amp;quot;main&amp;quot; are empty, so the function essentially translates nothing to some &amp;quot;int&amp;quot; value which represents the success or failure of the program. Zero is success, and anything ese is some kind of failure.&lt;br /&gt;
&lt;br /&gt;
Of course, in the process of doing that translation, side-effects may occur which change the environment. Printing a message to the screen would count as a side-effect.&lt;br /&gt;
&lt;br /&gt;
==Simple output==&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;cout&amp;quot; in &amp;quot;std::cout&amp;quot; is short for &amp;quot;common output&amp;quot;. This is almost always represented by the console. The &amp;lt;&amp;lt; operator is a nice visual cue that the information on the right hand side of the operator is being sent to the output channel on the left hand side.&lt;br /&gt;
&lt;br /&gt;
We can see this in the Hello world program.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;Hello, world!&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course, that doesn't explain How two of those operators got in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;quot;Hello, world!&amp;quot; &amp;lt;&amp;lt; std::endl&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Doesn't make sense.&lt;br /&gt;
&lt;br /&gt;
It makes sense, however, if we consider that &amp;lt;&amp;lt; is a function which takes an output channel and a string (or many other kinds of things) and translates them to the same output channel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;Hello, world!&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Becomes a convenient shorthand for:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;Hello, world!&amp;quot;;&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Declaring variables==&lt;br /&gt;
&lt;br /&gt;
Variables provide us a convenient place to store data, and allow us to give meaningful names to that data.&lt;br /&gt;
&lt;br /&gt;
To create a variable, it must first be declared. This declaration provides us with information on the name of the variable, and the type of data which can be stored in it. Once we associate a particular type with that variable, we cannot store any other type in it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    int myNumber;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The above declares a simple &amp;quot;int&amp;quot; variable called &amp;quot;myNumber&amp;quot;. All other declarations follow this simple pattern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    char myCharacter;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variables should be declared within functions such as &amp;quot;main&amp;quot;. They can be declared outside of functions, but these are called &amp;quot;global variables&amp;quot;, and are very difficult to keep track of in larger programs as well as making small programs harder to expand.&lt;br /&gt;
&lt;br /&gt;
Good:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    int main()&lt;br /&gt;
    {&lt;br /&gt;
        int myInteger;&lt;br /&gt;
        &lt;br /&gt;
        return 0;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bad:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    int myInteger;&lt;br /&gt;
    &lt;br /&gt;
    int main()&lt;br /&gt;
    {&lt;br /&gt;
        return 0;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Initializing variables==&lt;br /&gt;
&lt;br /&gt;
When we declare a variable, we specify its name, and the type of data it can hold. For many data types, though, including the simple ones we're using now, simply declaring the variable does not give it an initial value that we can work with. Declaring a variable without initializing it will often, in fact, result in a random value being stored in that variable.&lt;br /&gt;
&lt;br /&gt;
So, how do we initialize a variable?&lt;br /&gt;
&lt;br /&gt;
There are two answers, and the differences between them only arise when dealing with more complex data.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    int main()&lt;br /&gt;
    {&lt;br /&gt;
       int myInteger = 42;&lt;br /&gt;
       &lt;br /&gt;
       std::cout &amp;lt;&amp;lt; myInteger &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
        &lt;br /&gt;
       return 0;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    int main()&lt;br /&gt;
    {&lt;br /&gt;
        int myInteger(42);&lt;br /&gt;
        &lt;br /&gt;
        std::cout &amp;lt;&amp;lt; myInteger &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
        &lt;br /&gt;
        return 0;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Why are they called &amp;quot;variable&amp;quot;?==&lt;br /&gt;
&lt;br /&gt;
Because their values can change. This change is affected through the use of assignment. We &amp;quot;assign&amp;quot; a new value to the variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    int main()&lt;br /&gt;
    {&lt;br /&gt;
        int myInteger = 42;&lt;br /&gt;
   &lt;br /&gt;
        std::cout &amp;lt;&amp;lt; myInteger &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
   &lt;br /&gt;
        myInteger = 27;&lt;br /&gt;
   &lt;br /&gt;
        std::cout &amp;lt;&amp;lt; myInteger &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
        &lt;br /&gt;
        return 0;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll notice that assignment looks an awful lot like one of the forms of assignment. There's a good reason for this.&lt;br /&gt;
&lt;br /&gt;
That form of initialization is assignment. It's just rolled into one tidy package with declaration.&lt;br /&gt;
&lt;br /&gt;
==Discussion==&lt;br /&gt;
To discuss this tutorial visit [http://www.compsci.ca/v2/viewtopic.php?t=10121 here].&lt;br /&gt;
&lt;br /&gt;
==Credits==&lt;br /&gt;
Tutorial written by [[wtd]], moved to wiki by [[Cornflake]]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Why_you_should_avoid_arrays_using_CPP</id>
		<title>Why you should avoid arrays using CPP</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Why_you_should_avoid_arrays_using_CPP"/>
				<updated>2005-12-15T07:51:43Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==But... don't you tell us to use arrays?==&lt;br /&gt;
&lt;br /&gt;
Yes, in Turing, and other languages, where arrays are either well-implemented, or there's simply no decent alternative.&lt;br /&gt;
&lt;br /&gt;
==C++ has a better alternative==&lt;br /&gt;
&lt;br /&gt;
The [[STL_vector|vector]] class in the [[STL|Standard Template Library]] provides a more flexible, powerful alternative to using arrays.&lt;br /&gt;
&lt;br /&gt;
Whoa, whoa, whoa... what's the Standard Template Library?&lt;br /&gt;
&lt;br /&gt;
The [[STL]] is a collection of classes and functions which revolve around the C++ concept of templates, whereby we can create types and functions which operate on many types of data, without immediately specifying those types, or writing separate classes or functions for every type.&lt;br /&gt;
&lt;br /&gt;
Don't worry, [[GCC]] includes an implementation of the STL, as do most other compilers these days. [[Visual CPP 6.0|Visual C++ 6.0]], it should be noted, has an implementation of it, but that implementation is quite bad. If you use this compiler, you may be led to believe the STL is a bad thing, when it's really the compiler at fault.&lt;br /&gt;
&lt;br /&gt;
==A simple template class==&lt;br /&gt;
&lt;br /&gt;
Now, we could write the following trivial code:&lt;br /&gt;
Now, we could write the following trivial code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class int_math&lt;br /&gt;
{&lt;br /&gt;
   private:&lt;br /&gt;
      int original;&lt;br /&gt;
   public:&lt;br /&gt;
      int_math(int original_) : original(original_) { }&lt;br /&gt;
      int add(int other) const { return original + other; }&lt;br /&gt;
      int value() const { return original; }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
class double_math&lt;br /&gt;
{&lt;br /&gt;
   private:&lt;br /&gt;
      double original;&lt;br /&gt;
   public:&lt;br /&gt;
      double_math(double original_) : original(original_) { }&lt;br /&gt;
      double add(double other) const { return original + other; }&lt;br /&gt;
      double value() const { return original; }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   int_math a(8);&lt;br /&gt;
   double_math b(7.0);&lt;br /&gt;
&lt;br /&gt;
   std::cout &amp;lt;&amp;lt; a.add(5)&lt;br /&gt;
             &amp;lt;&amp;lt; std::endl&lt;br /&gt;
             &amp;lt;&amp;lt; b.add(41.3)&lt;br /&gt;
             &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But, we should notice that we're duplicating a lot of code and this is a bad thing in programming, when it can be avoided. Fortunately C++ gives us a way to avoid code duplication in this instance.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
template &amp;lt;typename _t&amp;gt;&lt;br /&gt;
class math&lt;br /&gt;
{&lt;br /&gt;
   private:&lt;br /&gt;
      _t original;&lt;br /&gt;
   public:&lt;br /&gt;
      math(_t original_) : original(original_) { }&lt;br /&gt;
      _t add(_t other) const { return original + other; }&lt;br /&gt;
      _t value() const { return original; }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   math&amp;lt;int&amp;gt; a(8);&lt;br /&gt;
   math&amp;lt;double&amp;gt; b(7.0);&lt;br /&gt;
&lt;br /&gt;
   std::cout &amp;lt;&amp;lt; a.add(5)&lt;br /&gt;
             &amp;lt;&amp;lt; std::endl&lt;br /&gt;
             &amp;lt;&amp;lt; b.add(41.3)&lt;br /&gt;
             &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&lt;br /&gt;
   return 0;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Back to why arrays are bad==&lt;br /&gt;
&lt;br /&gt;
So, why are arrays bad, you ask. Well, reason number one is that they do not keep track of their own size. We have to do it manually, and that's just asking for trouble.&lt;br /&gt;
&lt;br /&gt;
Consider an example where we want to ask for series of grades and find the average of them. We might get as many as ten, but we might get less, so we have to keep track of the number input.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   int grades[10];&lt;br /&gt;
   int num_grades = 0;&lt;br /&gt;
   char answer = 'y';&lt;br /&gt;
&lt;br /&gt;
   while (answer == 'y')&lt;br /&gt;
   {&lt;br /&gt;
      std::cin &amp;gt;&amp;gt; grades[num_grades];&lt;br /&gt;
      num_grades++;&lt;br /&gt;
&lt;br /&gt;
      do&lt;br /&gt;
      {&lt;br /&gt;
         std::cout &amp;lt;&amp;lt; &amp;quot;Enter another? &amp;quot;;&lt;br /&gt;
         std::cin &amp;gt;&amp;gt; answer;&lt;br /&gt;
      } while (!(answer == 'y' || answer == 'n'));&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   int sum = 0;&lt;br /&gt;
&lt;br /&gt;
   for (int i = 0; int i &amp;lt; num_grades; i++)&lt;br /&gt;
   {&lt;br /&gt;
      sum += grades[i];&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   std::cout &amp;lt;&amp;lt; &amp;quot;Average grade: &amp;quot; &lt;br /&gt;
             &amp;lt;&amp;lt; (sum / num_grades)&lt;br /&gt;
             &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, let's look at the same example, using std::vector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   std::vector&amp;lt;int&amp;gt; grades;&lt;br /&gt;
   char answer = 'y';&lt;br /&gt;
&lt;br /&gt;
   while (answer == 'y')&lt;br /&gt;
   {&lt;br /&gt;
      int temp_grade;&lt;br /&gt;
      std::cin &amp;gt;&amp;gt; temp_grade;&lt;br /&gt;
      grades.push_back(temp_grade);&lt;br /&gt;
&lt;br /&gt;
      do&lt;br /&gt;
      {&lt;br /&gt;
         std::cout &amp;lt;&amp;lt; &amp;quot;Enter another? &amp;quot;;&lt;br /&gt;
         std::cin &amp;gt;&amp;gt; answer;&lt;br /&gt;
      } while (!(answer == 'y' || answer == 'n'));&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   int sum = 0;&lt;br /&gt;
&lt;br /&gt;
   for (std::vector&amp;lt;int&amp;gt;::iterator i(grades.begin()); i != grades.end(); i++)&lt;br /&gt;
   {&lt;br /&gt;
      sum += *i;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   std::cout &amp;lt;&amp;lt; &amp;quot;Average grade: &amp;quot;&lt;br /&gt;
             &amp;lt;&amp;lt; (sum / grades.size())&lt;br /&gt;
             &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The important bits are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grades.push_back(temp_grade)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And:&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
grades.size()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first adds a new element (in this case a grade) onto the end of the vector. The second line grabs the size of the vector. The std::vector is just a class, so getting the size of one is as simple as calling a member function. Smile&lt;br /&gt;
&lt;br /&gt;
==Since std::vector is a class...==&lt;br /&gt;
&lt;br /&gt;
Of course, now that we've said that std::vector is just a class, this means we could implement a lot of features by simply subclassing std::vector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class grades_collection : public std::vector&amp;lt;int&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   public:&lt;br /&gt;
      int sum()&lt;br /&gt;
      {&lt;br /&gt;
       int sum = 0;&lt;br /&gt;
&lt;br /&gt;
         for (iterator i(begin()); i != end(); i++)&lt;br /&gt;
         {&lt;br /&gt;
           sum += *i;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return sum;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      int average()&lt;br /&gt;
      {&lt;br /&gt;
       return sum() / size();&lt;br /&gt;
     }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   grades_collection grades;&lt;br /&gt;
   char answer = 'y';&lt;br /&gt;
&lt;br /&gt;
   while (answer == 'y')&lt;br /&gt;
   {&lt;br /&gt;
      int temp_grade;&lt;br /&gt;
      std::cin &amp;gt;&amp;gt; temp_grade;&lt;br /&gt;
      grades.push_back(temp_grade);&lt;br /&gt;
&lt;br /&gt;
      do&lt;br /&gt;
      {&lt;br /&gt;
         std::cout &amp;lt;&amp;lt; &amp;quot;Enter another? &amp;quot;;&lt;br /&gt;
         std::cin &amp;gt;&amp;gt; answer;&lt;br /&gt;
      } while (!(answer == 'y' || answer == 'n'));&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   std::cout &amp;lt;&amp;lt; &amp;quot;Average grade: &amp;quot;&lt;br /&gt;
             &amp;lt;&amp;lt; grades.average()&lt;br /&gt;
             &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Make it even simpler==&lt;br /&gt;
&lt;br /&gt;
We could simplify this even further by declaring a friend function which gets input and puts it into the vector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class grades_collection : public std::vector&amp;lt;int&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   public:&lt;br /&gt;
      int sum()&lt;br /&gt;
      {&lt;br /&gt;
       int sum = 0;&lt;br /&gt;
&lt;br /&gt;
         for (iterator i(begin()); i != end(); i++)&lt;br /&gt;
         {&lt;br /&gt;
           sum += *i;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return sum;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      int average()&lt;br /&gt;
      {&lt;br /&gt;
       return sum() / size();&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
     friend std::istream&amp;amp; operator&amp;gt;&amp;gt;(std::istream&amp;amp; in, grades_collection&amp;amp; g);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
std::istream&amp;amp; operator&amp;gt;&amp;gt;(std::istream&amp;amp; in, grades_collection&amp;amp; g)&lt;br /&gt;
{&lt;br /&gt;
   int temp_grade;&lt;br /&gt;
   in &amp;gt;&amp;gt; temp_grade;&lt;br /&gt;
   g.push_back(temp_grade);&lt;br /&gt;
   return in;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   grades_collection grades;&lt;br /&gt;
   char answer = 'y';&lt;br /&gt;
&lt;br /&gt;
   while (answer == 'y')&lt;br /&gt;
   {&lt;br /&gt;
      std::cin &amp;gt;&amp;gt; grades;&lt;br /&gt;
&lt;br /&gt;
      do&lt;br /&gt;
      {&lt;br /&gt;
         std::cout &amp;lt;&amp;lt; &amp;quot;Enter another? &amp;quot;;&lt;br /&gt;
         std::cin &amp;gt;&amp;gt; answer;&lt;br /&gt;
      } while (!(answer == 'y' || answer == 'n'));&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   std::cout &amp;lt;&amp;lt; &amp;quot;Average grade: &amp;quot;&lt;br /&gt;
             &amp;lt;&amp;lt; grades.average()&lt;br /&gt;
             &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==In Summary==&lt;br /&gt;
&lt;br /&gt;
There's more to come, but for now, we've seen that vectors offer a distinct advantage by knowing their own size.&lt;br /&gt;
&lt;br /&gt;
We've also seen that their object-oriented nature makes it trivial to extend them, and this ability can make dealing with them much simpler.&lt;br /&gt;
&lt;br /&gt;
==Discussion==&lt;br /&gt;
To discuss this tutorial visit [http://www.compsci.ca/v2/viewtopic.php?t=7029 here].&lt;br /&gt;
&lt;br /&gt;
==Credits==&lt;br /&gt;
Tutorial written by [[wtd]], moved to wiki by [[Cornflake]]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Tutorials</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Tutorials"/>
				<updated>2005-12-15T07:25:45Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* C/C++/C# Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Language Independent Tutorials==&lt;br /&gt;
Tutorials that don't depend on a specific language, though they may use examples in one.&lt;br /&gt;
&lt;br /&gt;
==C/C++/C# Tutorials==&lt;br /&gt;
Tutorials Specific to [[C]] and [[CPP|C++]]; and perhaps even some [[C_Sharp|C#]].&lt;br /&gt;
&lt;br /&gt;
*[[Editing and Compiling programs on windows via MinGW]]&lt;br /&gt;
*[[Introduction to CPP|Introduction to C++]]&lt;br /&gt;
*[[Why you should avoid arrays using CPP|Why you should avoid arrays using C++]]&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=16 C/C++/C# tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==Java Tutorials==&lt;br /&gt;
[[Java]] specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=22 Java tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==Ruby Tutorials==&lt;br /&gt;
[[Ruby]] specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=59 Ruby tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==Turing Tutorials==&lt;br /&gt;
[[Turing]] specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=3 Turing tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==VB Tutorials==&lt;br /&gt;
[[Visual Basic]] Specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=12 Visual Basic Tutorials on CompSci.ca]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Tutorials</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Tutorials"/>
				<updated>2005-12-15T07:24:41Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* C/C++/C# Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Language Independent Tutorials==&lt;br /&gt;
Tutorials that don't depend on a specific language, though they may use examples in one.&lt;br /&gt;
&lt;br /&gt;
==C/C++/C# Tutorials==&lt;br /&gt;
Tutorials Specific to [[C]] and [[CPP|C++]]; and perhaps even some [[C_Sharp|C#]].&lt;br /&gt;
&lt;br /&gt;
*[[Editing and Compiling programs on windows via MinGW]]&lt;br /&gt;
*[[Introduction to CPP|Introduction to C++]]&lt;br /&gt;
*[[Why not to use array in C++]]&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=16 C/C++/C# tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==Java Tutorials==&lt;br /&gt;
[[Java]] specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=22 Java tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==Ruby Tutorials==&lt;br /&gt;
[[Ruby]] specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=59 Ruby tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==Turing Tutorials==&lt;br /&gt;
[[Turing]] specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=3 Turing tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==VB Tutorials==&lt;br /&gt;
[[Visual Basic]] Specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=12 Visual Basic Tutorials on CompSci.ca]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Tutorials</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Tutorials"/>
				<updated>2005-12-15T07:22:43Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: /* C/C++/C# Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Language Independent Tutorials==&lt;br /&gt;
Tutorials that don't depend on a specific language, though they may use examples in one.&lt;br /&gt;
&lt;br /&gt;
==C/C++/C# Tutorials==&lt;br /&gt;
Tutorials Specific to [[C]] and [[CPP|C++]]; and perhaps even some [[C_Sharp|C#]].&lt;br /&gt;
&lt;br /&gt;
*[[Editing and Compiling programs on windows via MinGW]]&lt;br /&gt;
*[[Introduction to CPP|Introduction to C++]]&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=16 C/C++/C# tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==Java Tutorials==&lt;br /&gt;
[[Java]] specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=22 Java tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==Ruby Tutorials==&lt;br /&gt;
[[Ruby]] specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=59 Ruby tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==Turing Tutorials==&lt;br /&gt;
[[Turing]] specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=3 Turing tutorials on CompSci.ca]&lt;br /&gt;
&lt;br /&gt;
==VB Tutorials==&lt;br /&gt;
[[Visual Basic]] Specific tutorials.&lt;br /&gt;
&lt;br /&gt;
[http://www.compsci.ca/v2/viewforum.php?f=12 Visual Basic Tutorials on CompSci.ca]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	<entry>
		<id>http://wiki.compsci.ca/index.php?title=Introduction_to_CPP</id>
		<title>Introduction to CPP</title>
		<link rel="alternate" type="text/html" href="http://wiki.compsci.ca/index.php?title=Introduction_to_CPP"/>
				<updated>2005-12-15T07:22:10Z</updated>
		
		<summary type="html">&lt;p&gt;Cornflake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==So you want to learn C++?==&lt;br /&gt;
&lt;br /&gt;
I'll tell you something up front. C++ is a big, complex language with lots of very subtle ways to screw up, and the tools aren't going to provide much of a safety net.&lt;br /&gt;
&lt;br /&gt;
You may want to learn C++ because that's what all of the games you play are written in, and because C++ programs can be really fast. Yes, these things are true. Guess what, though? It doesn't matter. If you're a novice programmer, still learning basic programming concepts, C++ makes learning them much harder than it has to be. It'll be hard enough without using tools that go out of their way to confuse you.&lt;br /&gt;
&lt;br /&gt;
You should be looking elsewhere.&lt;br /&gt;
&lt;br /&gt;
==What do you need?==&lt;br /&gt;
&lt;br /&gt;
Ideally, you should be using a *nix-based OS, like Linux, *BSD, or Mac OS X, but since most of you are likely using Windows, these directions will be tailored to you.&lt;br /&gt;
&lt;br /&gt;
[[Editing and Compiling programs on windows via MinGW|Gandalf's excellent thread on this subject is where you should look.]]&lt;br /&gt;
&lt;br /&gt;
Aside from this, you need a basic understanding of the Windows command-line. Understand directories, and how to navigate between     them. Also understand how to invoke programs and pass arguments and options to them.&lt;br /&gt;
&lt;br /&gt;
Hello, world!&lt;br /&gt;
&lt;br /&gt;
The classic beginning.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    int main()&lt;br /&gt;
    {&lt;br /&gt;
        std::cout &amp;lt;&amp;lt; &amp;quot;Hello, world!&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
        &lt;br /&gt;
        return 0;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Organization==&lt;br /&gt;
&lt;br /&gt;
All executable code in C++ is organized into functions. The &amp;quot;main&amp;quot; function is just such a function. It serves as the &amp;quot;entry point&amp;quot; for the program. When the program is run, this is where execution starts.&lt;br /&gt;
&lt;br /&gt;
We can of course create our own functions, and I'll get to that eventually.&lt;br /&gt;
&lt;br /&gt;
It should be noted that even things which do not look like functions can be. In the &amp;quot;Hello, world!&amp;quot; example, the &amp;lt;code&amp;gt;&amp;lt;&amp;lt;&amp;lt;/code&amp;gt; operator is a function.&lt;br /&gt;
&lt;br /&gt;
The simplest explanation of functions is that they translate one or more values to some new value. In the case of main, the parentheses following the name &amp;quot;main&amp;quot; are empty, so the function essentially translates nothing to some &amp;quot;int&amp;quot; value which represents the success or failure of the program. Zero is success, and anything ese is some kind of failure.&lt;br /&gt;
&lt;br /&gt;
Of course, in the process of doing that translation, side-effects may occur which change the environment. Printing a message to the screen would count as a side-effect.&lt;br /&gt;
&lt;br /&gt;
==Simple output==&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;cout&amp;quot; in &amp;quot;std::cout&amp;quot; is short for &amp;quot;common output&amp;quot;. This is almost always represented by the console. The &amp;lt;&amp;lt; operator is a nice visual cue that the information on the right hand side of the operator is being sent to the output channel on the left hand side.&lt;br /&gt;
&lt;br /&gt;
We can see this in the Hello world program.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;Hello, world!&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course, that doesn't explain How two of those operators got in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;quot;Hello, world!&amp;quot; &amp;lt;&amp;lt; std::endl&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Doesn't make sense.&lt;br /&gt;
&lt;br /&gt;
It makes sense, however, if we consider that &amp;lt;&amp;lt; is a function which takes an output channel and a string (or many other kinds of things) and translates them to the same output channel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;Hello, world!&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Becomes a convenient shorthand for:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;Hello, world!&amp;quot;;&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Declaring variables==&lt;br /&gt;
&lt;br /&gt;
Variables provide us a convenient place to store data, and allow us to give meaningful names to that data.&lt;br /&gt;
&lt;br /&gt;
To create a variable, it must first be declared. This declaration provides us with information on the name of the variable, and the type of data which can be stored in it. Once we associate a particular type with that variable, we cannot store any other type in it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    int myNumber;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The above declares a simple &amp;quot;int&amp;quot; variable called &amp;quot;myNumber&amp;quot;. All other declarations follow this simple pattern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    char myCharacter;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variables should be declared within functions such as &amp;quot;main&amp;quot;. They can be declared outside of functions, but these are called &amp;quot;global variables&amp;quot;, and are very difficult to keep track of in larger programs as well as making small programs harder to expand.&lt;br /&gt;
&lt;br /&gt;
Good:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    int main()&lt;br /&gt;
    {&lt;br /&gt;
        int myInteger;&lt;br /&gt;
        &lt;br /&gt;
        return 0;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bad:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    int myInteger;&lt;br /&gt;
    &lt;br /&gt;
    int main()&lt;br /&gt;
    {&lt;br /&gt;
        return 0;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Initializing variables==&lt;br /&gt;
&lt;br /&gt;
When we declare a variable, we specify its name, and the type of data it can hold. For many data types, though, including the simple ones we're using now, simply declaring the variable does not give it an initial value that we can work with. Declaring a variable without initializing it will often, in fact, result in a random value being stored in that variable.&lt;br /&gt;
&lt;br /&gt;
So, how do we initialize a variable?&lt;br /&gt;
&lt;br /&gt;
There are two answers, and the differences between them only arise when dealing with more complex data.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    int main()&lt;br /&gt;
    {&lt;br /&gt;
       int myInteger = 42;&lt;br /&gt;
       &lt;br /&gt;
       std::cout &amp;lt;&amp;lt; myInteger &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
        &lt;br /&gt;
       return 0;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    int main()&lt;br /&gt;
    {&lt;br /&gt;
        int myInteger(42);&lt;br /&gt;
        &lt;br /&gt;
        std::cout &amp;lt;&amp;lt; myInteger &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
        &lt;br /&gt;
        return 0;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Why are they called &amp;quot;variable&amp;quot;?==&lt;br /&gt;
&lt;br /&gt;
Because their values can change. This change is affected through the use of assignment. We &amp;quot;assign&amp;quot; a new value to the variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    int main()&lt;br /&gt;
    {&lt;br /&gt;
        int myInteger = 42;&lt;br /&gt;
   &lt;br /&gt;
        std::cout &amp;lt;&amp;lt; myInteger &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
   &lt;br /&gt;
        myInteger = 27;&lt;br /&gt;
   &lt;br /&gt;
        std::cout &amp;lt;&amp;lt; myInteger &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
        &lt;br /&gt;
        return 0;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll notice that assignment looks an awful lot like one of the forms of assignment. There's a good reason for this.&lt;br /&gt;
&lt;br /&gt;
That form of initialization is assignment. It's just rolled into one tidy package with declaration.&lt;br /&gt;
&lt;br /&gt;
==Discussion==&lt;br /&gt;
To discuss this tutorial visit [http://www.compsci.ca/v2/viewtopic.php?t=10121 here].&lt;br /&gt;
&lt;br /&gt;
==Credits==&lt;br /&gt;
Tutorial written by [[wtd]], moved to wiki by [[Cornflake]]&lt;/div&gt;</summary>
		<author><name>Cornflake</name></author>	</entry>

	</feed>