<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TAZ: TheTAZZone Network &#187; general tutorials</title>
	<atom:link href="http://www.thetazzone.com/category/security-tutorials/general-tutorials-security-tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thetazzone.com</link>
	<description>Welcome to Internet Chaos: 960+ Games; Security, Networking, and General Tutorials; IRC Chat; and an Active Forum Community</description>
	<lastBuildDate>Sat, 20 Mar 2010 20:51:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Data structures 1 &#8211; An introduction to data structures</title>
		<link>http://www.thetazzone.com/data-structures-1-an-introduction-to-data-structures/</link>
		<comments>http://www.thetazzone.com/data-structures-1-an-introduction-to-data-structures/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 03:48:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general tutorials]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://www.thetazzone.com/?p=2676</guid>
		<description><![CDATA[When trying desperately to explain data structures to a colleague, I came to the rather shocking realisation that there is very little material out there for beginners to cut their teeth on. So, without further ado, here is my little primer on data structures and how they work. In each post, I will try to [...]]]></description>
			<content:encoded><![CDATA[<p>When trying desperately to explain data structures to a colleague, I came to the rather shocking realisation that there is very little material out there for beginners to cut their teeth on. So, without further ado, here is my little primer on data structures and how they work. In each post, I will try to discuss the general principles and algorithms behind the data structure, and show as little code as possible in any given programming language. Where code is unavoidable, I will attempt to use a form of pseudo-code that should lend itself easily to implementation in most programming languages. Where code is really unavoidable, I’ll use Java.</p>
<p>Let’s start with the basics. What is a data structure? A data structure is essentially a way to store related types of data in a way that performing certain operations on the data is made more convenient. The operations might be as simple as being able to access the data quickly and efficiently on demand or as complex as sorting or searching through the data. The type of data structure used depends both on the type of data and the operation you want to perform on it.</p>
<p>Let’s make this easier with an analogy. Say you want to store notes from lectures or meetings. If the notes are on loose-leaf paper, you’d store it in a binder. The binder would then be one type of data structure. In this case, you can make some assumptions about the data. For example, you know that the paper is thin, and that you’re most likely to use only one size of paper, say A4. Now, if you only have a few pages of notes, it will be very easy for you to find the page you want, you simply go through the pages one at a time sequentially till you find the one you’re looking for. However, as your collection of notes grows, at some point, going through each page will no longer a feasible way of finding the desired page. At this point, you will either put in separators or start numbering the pages and make an index, so you can find what you were looking for quickly. You might even put the notes in different binders depending on their subject.</p>
<p>Now, imagine that you have a box full of balls with numbers on them. If you want to find a particular ball, you would have to randomly pick balls till you find the right one. What would you if you wanted to find the ball numbered 27 quickly? Why not put the balls on a shelf with the numbers clearly visible? In this case, the shelf is clearly the superior data structure when you want to find the quickly. So, the type of data structure that is best for a particular task (binder, box or shelf) depends both on the type of data (loose-leaf paper or balls) and what you want to do with it (just store it, read it through one page at a time, find the page you want quickly or find a ball with a particular number).</p>
<p>The simplest type of data structure is called an array. An array is a data structure that holds a fixed maximum number of a single type of data. In computer memory, an array is stored contiguously. This means that the array is stored as a single piece of memory. The shelf that we made to store the balls is an array. No matter how big the room is (the computer’s memory), the shelf can only store a set number of balls in a row.</p>
<p>Another feature of an array is random access. This means that you can easily access the ith element of an array, simply by knowing the number of the element. In our ball example, if you wanted to access the fifth ball from the left, and you knew the diameter of each ball, and also that the balls were arranged in a row so that each ball touched the next one, even if you weren’t able to see each ball, you would know exactly how far to the right you had to go to find the fifth ball, i.e. 5 x diameter. This is how a computer knows where to find a particular element of an array. It simply takes the size of the data type, multiplies it by the number of the element you want to access and adds the result to the array’s starting location. You can also access arrays sequentially by reading each element in succession.</p>
<p><img src="http://www.datastructures.chinmaykanchi.com/wp-content/uploads/2009/10/Array.png" alt="Image" /><br />
<span style="font-size: 85%; line-height: normal;">An array in computer memory. The array is stored contiguously in memory (all in one go). Notice how the size of each element (the numbered rectangles) is the same. The sizes of each element and of the overall array are fixed. One can access each element of the array by index (the number) and sequentially (by starting at 1 and continuing till <img title="Cool" src="http://tazforum.thetazzone.com/images/smilies/icon_cool.gif" alt="8)" />.</span></p>
<p>So, arrays provide the very best in both random and sequential access. So why not use arrays all the time? You don’t really need to know about any other data structure, right? Wrong. While arrays are convenient and fast, the convenience and speed come with some pretty nasty trade-offs. For one, because arrays are stored contiguously in memory, you have to tell the computer in advance what the maximum size of the array is. What’s worse, if in the middle of your program you decide that you want to increase or decrease the size of the array, you can’t. Furthermore, trying to access an array index that’s beyond the maximum size of your array can lead to program crashes in some languages and complete system lockups in others. So, unless you can guess pretty well how much memory your array is going to use, you’re either going to use lots of memory to store very little data, or end up not having enough space to store it. In our ball example, that would be like building a shelf 50 feet long, only to discover that you only had to store 5 pool balls or building a shelf designed to hold 50 balls, only to discover that some bright spark decided to send you 500.</p>
<p>So, in conclusion, arrays are a potentially very useful basic data structure, provided you can make reasonable assumptions about how much data you want to store. What if you don’t know? Well, that’s what linked lists are for. But I’ll cover those some other time. Next time, we’ll take a more detailed look at arrays.</p>
<p><!-- m --><a href="http://www.datastructures.chinmaykanchi.com/?p=3">http://www.datastructures.chinmaykanchi.com/?p=3</a><!-- m --></p>
<p>Cheers,<br />
cgkanchi</p>
<p>ORIGINALLY POSTED BY CGKANCHI FOR THETAZZONE/TAZFORUM <a href="http://tazforum.thetazzone.com/viewtopic.php?f=31&amp;t=13040" target="_blank">HERE</a></p>
<p>Do not use, republish, in whole or in part, without the consent of the Author. TheTAZZone policy is that Authors retain the rights to the work they submit and/or post…we do not sell, publish, transmit, or have the right to give permission for such…TheTAZZone merely retains the right to use, retain, and publish submitted work within it’s Network</p>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

]]></content:encoded>
			<wfw:commentRss>http://www.thetazzone.com/data-structures-1-an-introduction-to-data-structures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What makes a good Blog?</title>
		<link>http://www.thetazzone.com/what-makes-a-good-blog/</link>
		<comments>http://www.thetazzone.com/what-makes-a-good-blog/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 23:17:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general tutorials]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://www.thetazzone.com/?p=2671</guid>
		<description><![CDATA[1. First of all a blog has to look good&#8230;as they say it&#8217;s all in presentation&#8230;first appearances&#8230;
2. but good looks will only keep them around for a short time, you want them to stick around&#8230;so you need good content&#8230;something interesting to read or something for them to do&#8230;
3. to keep them coming back you need [...]]]></description>
			<content:encoded><![CDATA[<p>1. First of all a blog has to look good&#8230;as they say it&#8217;s all in presentation&#8230;first appearances&#8230;</p>
<p>2. but good looks will only keep them around for a short time, you want them to stick around&#8230;so you need good content&#8230;something interesting to read or something for them to do&#8230;</p>
<p>3. to keep them coming back you need to update with new things to read or new things to do</p>
<p>4. then you need to promote promote promote&#8230;like location location location&#8230;on the Internet people need to be able to know you even exist and then need to be able to find you with as little trouble as possible</p>
<p>5. study other people&#8217;s blogs that have the same or a similar subject matter&#8230;to improve your own blog&#8230;especially the ones that are having more success than you are</p>
<p>6. find out what they&#8217;re doing to promote and generate traffic, you might learn something you haven&#8217;t thought about&#8230;don&#8217;t try to reinvent the wheel if you don&#8217;t have to</p>
<p>7. be original, don&#8217;t just copy n&#8217; paste other people&#8217;s work and effort&#8230;your site should be mostly original work</p>
<p>8. don&#8217;t steal&#8230;if you use an article , a picture, someone else&#8217;s work&#8230; provide a link back to their site&#8230;even, if it&#8217;s worth your while, e-mail them that you re-posted it and provide them the link, they might come and check you out and if they like what they see link back to you</p>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

]]></content:encoded>
			<wfw:commentRss>http://www.thetazzone.com/what-makes-a-good-blog/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to play backed up Wii games without a mod chip</title>
		<link>http://www.thetazzone.com/how-to-play-backed-up-wii-games-without-a-mod-chip/</link>
		<comments>http://www.thetazzone.com/how-to-play-backed-up-wii-games-without-a-mod-chip/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 14:07:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general tutorials]]></category>
		<category><![CDATA[games]]></category>

		<guid isPermaLink="false">http://www.thetazzone.com/?p=2652</guid>
		<description><![CDATA[This short article will outline the steps needed to install all the software required to play a backup version of any game you own and explain ‘homebrew’ and how to use it.
If you don’t own a copy of the game then obviously you will be breaking the law if you play a version that someone [...]]]></description>
			<content:encoded><![CDATA[<p>This short article will outline the steps needed to install all the software required to play a backup version of any game you own and explain ‘homebrew’ and how to use it.</p>
<p>If you don’t own a copy of the game then obviously you will be breaking the law if you play a version that someone has kindly backed up for you and uploaded to a newsgroup somewhere <img title="Smile" src="http://tazforum.thetazzone.com/images/smilies/icon_smile.gif" alt=":)" /></p>
<p>Before you can do anything you will need the following hardware:</p>
<p>2 GB or less SD Card – not SCHC for the initial steps but once the homebrew is loaded SDHC is fine.<br />
A copy of Zelda &#8211; Twilight Princes<br />
An SD card reader of some kind if your PC/Laptop doesn’t have a native on.</p>
<p>A nice cheap SD card that will work:<br />
<!-- m --><a href="http://www.amazon.co.uk/Sandisk-2GB-Secure-Digital-Card/dp/B000BQ7GW8/ref=sr_1_4?ie=UTF8&amp;s=electronics&amp;qid=1243004422&amp;sr=8-4">http://www.amazon.co.uk/Sandisk-2GB-Sec &#8230; 422&amp;sr=8-4</a><!-- m --></p>
<p>And a nice cheap SD Card reader:<br />
<!-- m --><a href="http://www.amazon.co.uk/Integral-One-SDHC-Card-Reader/dp/B000VY80AM/ref=sr_1_1?ie=UTF8&amp;s=electronics&amp;qid=1243004473&amp;sr=1-1">http://www.amazon.co.uk/Integral-One-SD &#8230; 473&amp;sr=1-1</a><!-- m --></p>
<p>Or for the ultra cheap, market place sellers will sell the following combination for less than buying them separate:<br />
<!-- m --><a href="http://www.amazon.co.uk/2GB-Integral-SD-Card-Reader/dp/B000W7WK4A/ref=sr_1_3?ie=UTF8&amp;s=electronics&amp;qid=1243004473&amp;sr=1-3">http://www.amazon.co.uk/2GB-Integral-SD &#8230; 473&amp;sr=1-3</a><!-- m --></p>
<p>There are many adaptors around, such as mini-SD to SD etc – these will not work, only 2 GB or less SD card will work.</p>
<p>Also, at this point you should check that your Wii has internet connectivity and it will need to download files from the Internet to complte the process.</p>
<p>Ok, now you have the hardware, a brief outline of what homebrew is and how it is used.</p>
<p><span style="text-decoration: underline;"><span style="font-weight: bold;">HOMEBREW:</span></span><br />
Homebrew is simply software written by normal non-commercial folks for the Wii (can be for other stuff too but this concentrates on the Wii) that is not released or supported by Nintendo and comes with no warranty at all &#8211; homebrew application are free and should never be sold commercialy &#8211; if someone tries to sell you a homebrew app, they are ripping you off.</p>
<p>Homebrew encompasses a wide range of applications, from games, emulators, text editors, MP3 players, DVD players and even a Metronome.</p>
<p>Most of the source code is also available along with the applications.<br />
To facilitate the loading of all these homebrew applications, there is a Homebrew Channel; which can be thought of as a framework for collating the homebrew applications, downloading them in a structured manner and launching them.</p>
<p>Within the Homebrew channel there is a utility called the Homebrew Browser, which is used to automatically download and extract the Homebrew application from the internet – this make life a lot easier.</p>
<p>A common misconception is that once you have installed the Homebrew Channel you will be able to play backed up games – this is not true, remember the Homebrew channel is just a framework for the application; you will still need the relevant applications to allow you to play backed up games.</p>
<p><span style="font-weight: bold;">(HOMEBREW IS FREE SO PLEASE DO NOT USE THE MANY WEB SITES THAT TRY TO CHARGE YOU FOR THE SOFTWARE AND A NICE INSTRUCTION BOOK ON HOW TO INSTALL IT. THRE ARE A MULTITUDE OF GUIDES FLOATING AROUND FOR FREE THAT WILL WALK YOU THROUGH DOING IT)</span></p>
<p><span style="text-decoration: underline;"><span style="font-weight: bold;">INSTALLING THE HOMEBRW CHANNEL:</span></span><br />
Obviously Nintendo don’t include functionality to make a few API calls and installs any software a user wants to, so we need to exploit a buffer overflow within a game to allow us to execute the source code for the Homebrew channel and install it.<br />
To do this you will need Zelda Twilight Princess as this is what is exploited to install the code. At the time of this writing this is the only game than can be used to my knowledge but doubtless other games will be found in due course that can also be used. (If you absolutely can’t do this, another option may be to update your Wii to version 4.0 and follow the BannerBomb instructions at the bottom of this post)</p>
<p>To start off with you will need to determine what version IOS your Wii is running. To do this simply start the Wii up, click on the Wii button on the bottom left of the screen, and go to</p>
<p>Wii Settings. One the resulting screen in the very top right hand side you will see the version number – if it is 3.3 or 3.4 (there may be a letter after it but ignore this for now) you will need to download something called the Twilight Hack (named after the Zelda game strongly enough). This can be obtained from here:<br />
<!-- m --><a href="http://hbc.hackmii.com/download/">http://hbc.hackmii.com/download/</a><!-- m --></p>
<p>As the web page says, you will need a different version depending on what version your Wii is running at:</p>
<p><span style="font-style: italic;">3.3 and earlier: twilight-hack-v0.1-beta1.zip<br />
3.4: twilight-hack-v0.1-beta2.zip</span></p>
<p>If you have version 4 then this method will not work but it is still possible – see the bottom of this post for instructions.</p>
<p>So create a folder on your desktop called Wii, in this create a folder called TL, then copy the relevant twilight hack and extract it to the TL folder. You can name the folders anything you want this post will presume you are following the naming standard.</p>
<p>Depending on where in the world you are, you will need a different version of the hack (they are all included in the download). Take a look at your game disc; look on the underside of it and around the centre of the disk (on the shiny bit  ) is some very small writing, such as RVL-RZDP-0A-0 JPN. Make a note of this before you put the disc in the Wii as it will become very important when you chose the version of the twilight hack to use later on.</p>
<p>Now we need to get the Homebrew software, so go here <!-- m --><a href="http://hbc.hackmii.com/download/">http://hbc.hackmii.com/download/</a><!-- m --> and download the Homebrew-Channel.tgz file – marked (DOL (For usage with Twilight Hack &amp; other booting methods))</p>
<p>Copy this to your Wii folder and extract it to Wii\home_channel.</p>
<p>You should now have the twilight hack and the homebrew channel software downloaded.</p>
<p>To play backed-up games you will need a few more homebrew apps – there are a few circulating that will work but for this I will use Backup Auto Launcher 3.0beta by a guy called Wiigator.<br />
<!-- m --><a href="http://www.megaupload.com/?d=OLZZUJSJ">http://www.megaupload.com/?d=OLZZUJSJ</a><!-- m --></p>
<p>(Update, Backup Launcher 3.0gamma is now out &#8211; can be download from here: <!-- m --><a href="http://atkinx.com/files/backuplauncher0.3_gamma.zip">http://atkinx.com/files/backuplauncher0.3_gamma.zip</a><!-- m --> &#8211; the instalation and usage is exactly the same as for the beta one)</p>
<p>Download this and extract it to Wii\Backup.</p>
<p>This should be all the files needed to initially set everything up.</p>
<p><span style="text-decoration: underline;"><span style="font-weight: bold;">TWILIGHT HACK:</span></span></p>
<p>The twilight hack uses a buffer overflow within the Zelda game to obtain arbitrary code execution. It does this by naming the horse with an overly long name.</p>
<p>What does this mean: If you don’t care, skip this part &#8211; if you do read on.<br />
******************************************************************************<br />
All computers and game consoles read program code from memory, this works by the console first reading the code form the disk, placing it into memory and then the CPU executes this code as required.</p>
<p>At the beginning of the Zelda game you are prompted to name the horse &#8211; by doing this a little piece of the console memory is allocated to store the horse’s name that you supply (called a buffer)– should you supply a name that is longer than the piece of memory allocated to hold it, then the name will ‘spill’ over into other parts of the memory, known as a buffer overflow.<br />
The console does not know that this extra data is the horses name and tries to execute it as it would any other code that makes up the game. If the code is invalid, then the console will crash as it won’t know what to do with it – however if it is valid code it will execute it and do what it is told – they guys who come up with the twilight hack, use a saved game that has an overly long horses name in it to cause this overflow and have the Wii execute code that they have supplied – namely to install the Homebrew channel.</p>
<p>All the user has to do, is get to a point of the game where it tries to read the horses name and display it to the screen, as soon as it tries this, the overflow occurs and we get the third party code executed – fortunately this is right at the start of the game, so other than having to sit through the long, depressing and hideously boring start to Zelda you won’t have to do much more.<br />
***************************************************************************</p>
<p>Now we need to get the folders copied to the SD card.</p>
<p>Insert the card and (assuming you are using Windows) browse to My Computer, click once on the SD card and look at the information bar of the right of the Window – if it says File System FAT then you are OK to continue (SD cards should be FAT by default). If it says anything else, right click the icon, select ‘format’ , chose FAT from the drop down menu and click start &#8211; after a few seconds it should finish and you are free to continue.</p>
<p>Go to the Wii \TL folder and copy the directory called “private” to the SD card. Now go to the Wii\Home_channel folder and copy the boot.dol file and the folder named wiiload and also copy these to the SD card. Whilst you are in the SD card window, also create a directory called “apps”.</p>
<p>Your SD card should now look like this:</p>
<p><a href="http://img38.imageshack.us/my.php?image=sdcard.jpg"><img src="http://img38.imageshack.us/img38/7012/sdcard.jpg" alt="Image" width="614" height="325" /></a></p>
<p>So once the SD card is ready, insert the Zelda game disk and start the game, play it for a while and make sure you save the game once – this is imperative or the hack won’t work.</p>
<p>Once you are sure you have a saved game, exit it and come back to the main Wii menu. Insert the SD card and click on the Wii button in the bottom left of the main screen, select Data Management, Save Data, Wii.</p>
<p>Locate the Zelda saved file, click it and erase it (if you have been playing the game for a while you will want to back this up first as otherwise you will lose all of your saved game data). Once this is deleted, click on the SD Card tab in the top right and you will see a few Twilight Hack files.</p>
<p>Copy across the relevant version of the twilight hack for you Wii system version to the Wii memory.<br />
If you have Wii version 3.4 it is important that you do not turn off the system or you will have to start the whole process all over again.</p>
<p>Come back to the main menu and Insert the Zelda game disk, start the game and when prompted to load your save file chose one of the following:</p>
<p>Depending on the writing that was on the underside of your disk select the right save game slot as per this:</p>
<p>RVL-RZDP-0A-0 JPN      -&gt;        Twilight Hack<br />
RVL-RZDJ-0A-0 JPN       -&gt;        Twilight Hack<br />
RVL-RZDE-0A-0 JPN      -&gt;        TwilightHack0<br />
RVL-RZDE-0A-0 USA     -&gt;        TwilightHack0<br />
RVL-RZDE-0A-2 USA     -&gt;        TwilightHack2</p>
<p>Select the relevant one and continue the game, once it loads up walk up to the man in front of you and once he starts talking the buffer overflow will occur.</p>
<p>This is where the Homebrew channel will be installed – if you don’t install this, you will have to go through the twilight hack every time you want to run homebrew.</p>
<p>The installation of the Homebrew channel is very simple and will prompt you with on screen instructions – just follow these steps until it is complete.</p>
<p>You should now have the Homebrew channel installed. To verify it, reset the Wii and in the main window you should have a new channel called The Homebrew Channel, select this and click Start.</p>
<p>Once loaded select the Homebrew Browser – this will connect to the Internet and download a list of the latest homebrew applications, feel free to poke around and install what you want.</p>
<p>Once you get board of this, come out of the homebrew channel, back to the main menu and take out the D card and put in back in your laptop/PC. In the Wii\Backup folder there should be three folders and a read me – copy the cIOS_Installer and Backup_Launcher folder in to the ‘apps’ directory on the SD card.</p>
<p>(This is the easiest way to install and further homebrew applications that cannot be downloaded via the homebrew browser, just put them in a folder within the app folder and if necessary rename the .dol file to be boot.dol – if you don’t do this it will not work)</p>
<p>Now insert the SD card into the Wii and go back to the homebrew channel. You should now see two new icons called cIOS and Backup Launcher – first select the cIOS one and follow the prompts to install it, when it has finished, reset the Wii and go back to the homebrew channel, now select the backup loader application and install this – reset the Wii, insert your copied erm I mean backed up game, go to the homebrew channel, select the Backup Loader application and load your game.<br />
Sometimes you may have issues, if you do go to the config option in the backup loader and change the ‘hook’ to be ‘GC Controller’ and try again.</p>
<p>If you want to have the backup loader be available in a channel box on the main Wii menu you will need to install a WAD Manager and download the Backup Launcher WAD file.</p>
<p>To do this, first get the WAD Manager .wad file from <!-- m --><a href="http://gbatemp.net/index.php?download=3587">http://gbatemp.net/index.php?download=3587</a><!-- m --><br />
But don’t follow the instruction include within the readme or on that site with the method of using homebrew.</p>
<p>Extract the file, and in the ‘apps’ folder on the SD card create a new folder call wad – copy across the WAD-Manager-1.3.dol file in to the apps\wad directory and rename it to boot.dol (as mentioned before this is the way to run other homebrew apps). Now in the root of the SD card create a folder called wad and download this version of Backup Launcher that has been<br />
modified by someone else: <!-- m --><a href="http://www.mediafire.com/file/jzgimmixmmk/BackupLauncher_0.3.rar">http://www.mediafire.com/file/jzgimmixm &#8230; er_0.3.rar</a><!-- m --> (which can be read about here <!-- m --><a href="http://vettacossx.wordpress.com/2008/10/28/auto-boot-for-wiigators-03-beta-backup-launcher-fullspeed-no-lag-how-about-that/">http://vettacossx.wordpress.com/2008/10 &#8230; bout-that/</a><!-- m --> )</p>
<p>Copy the file called HB-BackupLaucner.dol.wad into the wad directory you create in the root of the SD card (not the apps\wad directory).</p>
<p>Once this is done, insert the SD card and get to the homebrew channel, you should have a new option now called /apps/wad/boot.dol (you can alter this via an XML file if you really want to), select this and the application will go to the wad file that is in the root of the SD card and ask you if you want to install any of the WAD there. (If you want to install subsequent wad files, just drop them in here and run the WAD Manager), at the moment there is only one so press the + button on the Wii remote and wait for it to be installed.</p>
<p>When it is finished, reset the Wii and now in the main Wii menu you will have a new channel for the Backup Launcher.</p>
<p>* A lot of people seem to think DVDx is required for this method to work, this is not true, you do not need it to play backed up games via Backup Lancher*</p>
<p>Insert the disk and select this to play.</p>
<p>A word of warning about updates installed on games – if you buy a new gamed (or old one) some of them come packaged with updates for the Wii – obviously we don’t want this to be installed (likewise do not download any updates from Nintendo from now). If you have an ISO and are worried it may have an update, download BrickBlocker from</p>
<p><!-- m --><a href="http://wbb.rockman18.com/?page=home&amp;ln=en">http://wbb.rockman18.com/?page=home&amp;ln=en</a><!-- m --></p>
<p>This is very simple to do, just run the WiiBrickBlocker.exe file and give it the path to your ISO image – it will automatically remove any system updates from the image for you.</p>
<p>Depending on where you got the ISO from you may also need to convert it to be compatible with the soft-mod &#8211; for this you will need a program called backup-creator.exe. This is a application that will modify the ISO for you; however, it was not meant to be made public yet by the author (waninkoko) and was leaked to the general public &#8211; as such the author is no longer working on the project. The download liks come and go constantly as some places take it down out of respect for the author etc &#8211; give it a Google and you will be able to find a download link somewhere &#8211; current it can be obtained from here:<br />
<!-- m --><a href="http://rapidlibrary.com/index.php?q=backup+creator+exe+wii">http://rapidlibrary.com/index.php?q=bac &#8230; or+exe+wii</a><!-- m --> (This is not were I got it from, so I can&#8217;t vouch for the authenticity of the tool).</p>
<p>Once you hae downloaded it, simply run the exe file from a command prompt and give it the name of the ISO, after a short while it will spit out a new ISO named partition.iso &#8211; this is the patched game that you will need to burn.</p>
<p>Now either burn the ISO to a DVD or copy it to a USB hard drive (which ever method you are using) and play as normal.</p>
<p><span style="text-decoration: underline;"><span style="font-weight: bold;">I HAVE WII SYSTEM VERSION 4:</span></span><br />
Luser  <img title="finger" src="http://tazforum.thetazzone.com/images/smilies/finger.gif" alt=":finger:" /></p>
<p>You can still do the above but you will not be able to use the twilight hack you will need to use BannerBomb exploit from here <!-- m --><a href="http://wiibrew.org/wiki/Bannerbomb">http://wiibrew.org/wiki/Bannerbomb</a><!-- m --></p>
<p>I have not done this myself as I don’t have this version Wii but the instructions seem simple enough – the below instructions are copied from the above site and included here for completness:</p>
<p>1.If your SD card has a private directory, rename it temporarily, e.g. to &#8220;privateold&#8221;. Having other saved channels on the same card will screw it up. (Also, if you don&#8217;t have any channels on the SD card already, it&#8217;s possible to skip this step so you can keep saves on your SD card)</p>
<p>2.Copy the Bannerbomb &#8220;private&#8221; folder to the root of your SD card.</p>
<p>3.Take your Wii executable, name it &#8220;boot.dol&#8221; or &#8220;boot.elf&#8221; if it isn&#8217;t already, and save it in the root directory of your SD card.</p>
<p>4.Put your SD card in your Wii and turn it on.</p>
<p>5.Go into Wii Options &#8211;&gt; Data Management &#8211;&gt; Channels &#8211;&gt; SD Card.</p>
<p>6.A message should appear asking to &#8220;load boot.dol/.elf&#8221;. If it freezes or does not appear, download the next .zip file from the Bannerbomb website (<!-- m --><a href="http://bannerbomb.qoid.us/">http://bannerbomb.qoid.us/</a><!-- m -->) and start over.</p>
<p>7.The homebrew on your SD card will load. Enjoy!</p>
<p>8.(Optional) Fill out Comex&#8217;s survey on the Bannerbomb website.</p>
<p>The downside to this is that a large portion of the app do not currently work properly with version 4.0 &#8211; the backup launcher does not; however, once you have the homebrew channel installed you can downgrade the IOS version of the Wii to 3.3 &#8211; I have not had to do that so you&#8217;ll have to Google around for some tutorials on this.</p>
<p>Good luck.</p>
<p><span style="font-weight: bold;">Troubleshooting </span></p>
<p>I can&#8217;t cover many troubleshooting steps and most things went OK for me.</p>
<p>Some issues I did come across though:</p>
<p>Sometimes the game would load via Backup Launcher &#8211; upgrade to the gamma version if necessary (just remove the cIOS_Installer and Backup_Installer files from the SD card and replace them with the new ones &#8211; reinstall the cIOS, then in the backup loader options menu, set the Force PAL / NTSC that is relevant for your country (America and/or American games will be NTSC, UK and most of Europe will be PAL &#8211; I use PAL60), change the hook type to GC Pad, exit out to main backup launcher menu and press B. This will reboot the Wii and make the relevant hooks, now go back to the backup launcher menu and launch the game as normal.</p>
<p>If you still have issues try only changing on option at a time.</p>
<p>If you have burnt your own ISO, try reburning it at the lowest possible speed.</p>
<p>Backup Launcher should play decrypted and normal Wii games, so there is no need to use the backup-creator.exe on the ISO, if you have try reburning the original ISO, and if you didn’t use it you could try reburning a patched ISO.</p>
<p>If you still have issues and all the software is installed correctly and updated, then it is 99% certain that the problem will be the media you are using. Cheap disc&#8217;s may not be read correctly, different formats of DVD can cause issues, i.e DVD-R, DVD+R, DVD-RW, DVD+RW etc, so if you are able to, try using another format and see if the problem goes away. I use DVD-R mainly but some games I have don&#8217;t work on this format but run fine on DVD+R so it is trial and error and no one format is the right one&#8230;</p>
<p>Some games just simply do no work. There is a regulary updated compatibility chart here: <!-- m --><a href="http://wiki.gbatemp.net/wiki/index.php/Backup_Launcher">http://wiki.gbatemp.net/wiki/index.php/Backup_Launcher</a><!-- m --></p>
<p>If you use it, please contribute back and update it with any games you try.</p>
<p>ORIGINALLY POSTED BY HARRY FOR THETAZZONE/TAZFORUM <a href="http://tazforum.thetazzone.com/viewtopic.php?f=31&amp;t=12654">HERE</a></p>
<p>Do not use, republish, in whole or in part, without the consent of the Author. TheTAZZone policy is that Authors retain the rights to the work they submit and/or post…we do not sell, publish, transmit, or have the right to give permission for such…TheTAZZone merely retains the right to use, retain, and publish submitted work within it’s Network</p>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

]]></content:encoded>
			<wfw:commentRss>http://www.thetazzone.com/how-to-play-backed-up-wii-games-without-a-mod-chip/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Virus and Spyware Removal Process</title>
		<link>http://www.thetazzone.com/virus-and-spyware-removal-process/</link>
		<comments>http://www.thetazzone.com/virus-and-spyware-removal-process/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 14:03:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general tutorials]]></category>
		<category><![CDATA[removal]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[spyware]]></category>
		<category><![CDATA[virus]]></category>

		<guid isPermaLink="false">http://www.thetazzone.com/?p=2649</guid>
		<description><![CDATA[Virus and Spyware Removal Process
Assumptions:
I am assuming that the reader is using a Windows operating system, has administrator rights (is allowed to download and install programs), and knows how to access safe mode. The reader can assume that all recommended software is free for personal use unless specified otherwise.
Forword:
The difficulty of performing a thorough virus [...]]]></description>
			<content:encoded><![CDATA[<div id="postdiv131545"><span style="text-decoration: underline;"><span style="font-weight: bold;">Virus and Spyware Removal Process</span></span></p>
<p><span style="font-style: italic;">Assumptions:</span></p>
<p>I am assuming that the reader is using a Windows operating system, has administrator rights (is allowed to download and install programs), and knows how to access safe mode. The reader can assume that all recommended software is free for personal use unless specified otherwise.</p>
<p><span style="font-style: italic;">Forword:</span></p>
<p>The difficulty of performing a thorough virus removal on a badly infected machine is often underestimated. It tends to require more than simply running a scan with your favourite antivirus program. I’ll attempt to lay out the steps for virus removal in the following steps, but before you begin keep in mind that it is a thorough and time consuming process. The thoroughness is necessitated by the nature of modern infections. If you miss one Trojan horse, your system will quickly arrive at the same level of infection once the malware re-invites all of its buddies.</p>
<p><span style="font-weight: bold;">Step 1: Determine whether or not you have a virus infection. </span></p>
<p>Typical virus behaviour may include the following:</p>
<p>* Frequent system error messages<br />
* Slowness<br />
* Hard drive activity (spinning/writing) for no apparent reason<br />
* Lots of network activity, also for no apparent reason<br />
* Difficulty with programs, especially antivirus programs. For example, you may have difficulty updating your antivirus definitions or the program may not start at all.<br />
* Your browser randomly redirects to another web page without any action on your part.<br />
* Your browser prevents you from accessing certain websites, especially to update your operating system or download an antivirus program.<br />
* You begin seeing pop-up ads frequently.<br />
* New and unfamiliar icons appear in your system tray, indicating new programs are running without your knowledge.<br />
* You are denied permission when working on the computer even though you are an administrator.</p>
<p>Also keep in mind that a computer virus is similar to a roach in that there’s rarely just one. By the time you notice one virus, you probably have several.</p>
<p><span style="font-weight: bold;">Step 2: Determine the severity of the infection.</span></p>
<p>The severity of the infection should reflect to what degree your ability to access the computer normally is impeded. This will help you decide if you should attempt a virus removal at all or if you should simply back up your data and start from scratch with a format/reinstall. If you can do most everything you could normally do, but you know that you have a virus, the severity might rank as a one on a one to ten scale (ten meaning infected on a massive scale). Keep in mind that the worse the infection, the greater the damage caused by ripping the infection out during the removal process. If you cannot even access your computer in safe mode, you might consider the severity to be a ten. In this case, your computer has the equivalent of advanced-stage AIDS and should be formatted.</p>
<p><span style="font-weight: bold;">Step 3: Remove temp files.</span></p>
<p>Spyware often sits in the temp files and you can get rid of lots of malware simply by deleting temp files. More importantly however, you will save yourself tons of time when you scan for viruses because the scanners will not have to trudge through thousands of temporary internet files. When you run five or six scans, the amount of time you save adds up in a hurry. To accomplish this, I recommend running <a href="http://www.ccleaner.com/">CCleaner</a>. If you cannot install this program, you could also clean out the files by navigating to the directory C:\Documents and Settings\YOURUSERNAME\Local Settings\Temporary Internet Files and cleaning out all of the unnecessary stuff. You might also want to run the CCleaner registry cleanup program. Sometimes this will get rid of viral registry keys. Another decent registry cleaner is <a href="http://www.pctools.com/registry-mechanic/">Registry Mechanic</a>, but only the trial version is free.</p>
<p><span style="font-weight: bold;">Step 4: Disable System Restore</span></p>
<p>Some viruses copy themselves into system restore files to avoid deletion. To remove these, it is necessary to disable system restore (which is largely worthless anyway in my opinion). Navigate to Start -&gt; Programs -&gt; Accessories -&gt; System Tools -&gt; System Restore. Disable system restore and make sure all prior restore points are deleted (they should be automatically).</p>
<p><span style="font-weight: bold;">Step 5: Based on the severity of the infection, plan your method of attack.</span></p>
<p>The important thing to keep in mind while planning your attack is that no one antivirus or antispyware program will find every infection. Organizations that are paid to remove viruses will use no less than nine or ten different antimalware programs and every single program will find something different. I’ve seen this personally hundreds of times.</p>
<p><span style="text-decoration: underline;">Scenario 1:</span> If you are able to access the internet while in safe mode.</p>
<p>If you are able to boot into Windows “safe mode” with networking and access the internet, you have the option of installing antivirus/antispyware software, updating the definitions, and scanning from within safe mode. If this is your case, you will choose the various antivirus/antispyware programs you intend to run and update the definitions to prepare for the next step. Select the anti-malware programs you will run from the list below (programs are listed in NO PARTICULAR ORDER). Install the ones that you have selected and go ahead and update all of them.</p>
<p><span style="font-style: italic;">Antispyware:</span></p>
<p><a href="http://www.superantispyware.com/">Super Antispyware</a><br />
<a href="http://www.safer-networking.org/index2.html">Spybot Search &amp; Destroy</a><br />
<a href="http://www.malwarebytes.org/">Malwarebytes</a><br />
<a href="http://www.lavasoft.com/">AdAware</a><br />
<a href="http://www.pctools.com/spyware-doctor/">Spyware Doctor</a><br />
<a href="http://www.combofix.org/">Combofix</a><br />
<a href="http://free.antivirus.com/cwshredder/">CWShredder</a></p>
<p><span style="font-style: italic;">Antivirus:</span></p>
<p><a href="http://free.avg.com/">AVG Antivirus</a><br />
<a href="http://www.avast.com/">Avast</a><br />
<a href="http://www.avira.com/en/pages/index.php">Avira</a><br />
<a href="http://www.softpedia.com/get/Antivirus/McAfee-AVERT-Stinger.shtml">McAfee Stinger</a><br />
<a href="http://www.sophos.com/products/free-tools/sophos-anti-rootkit.html">Sophos AntiRootkit</a></p>
<p><span style="font-style: italic;">Online Antivirus Scanners:</span></p>
<p><a href="http://housecall.trendmicro.com/">TrendMicro Housecall</a><br />
<a href="http://www.pandasecurity.com/homeusers/solutions/activescan/">Panda</a><br />
<a href="http://www.kaspersky.com/virusscanner">Kaspersky</a><br />
<a href="http://www.bitdefender.com/scanner/online/free.html">Bit Defender</a></p>
<p>If you’d like to go the non-free route, I highly recommend Spy Sweeper Antivirus with Antispyware as well as AVG AntiSpyware (formerly Ewido).</p>
<p><span style="text-decoration: underline;">Scenario 2:</span> If you are unable to access the internet while in safe mode.</p>
<p>If you are unable to access the internet even while booted into safe mode, your best option is to use a boot disc such as <a href="http://www.ultimatebootcd.com/">Ultimate Boot CD</a>, <a href="http://www.hirensbootcd.net/">Hiren’s Boot CD</a> (which includes a PE), or <a href="http://www.nu2.nu/pebuilder/">Bart’s PE</a>. If your situation is severe enough to necessitate this option, you might want to run command-line antivirus scanners first, then boot into a PE and run cleaners and antispyware programs to follow up.</p>
<p><span style="font-weight: bold;">Step 6: Run Antimalware</span></p>
<p>Now begins the easiest and yet also the most time consuming part. I recommend selecting two or three of the antivirus programs to run first. If you are working in Windows safe mode, you should run one scanner at a time. If you are working in a PE or with a boot disc, you can run as many as you want simultaneously. Follow up with multiple (preferably all) of the antispyware programs next. Next try running one of the online antivirus scanners. Each scanner should find progressively fewer infections.</p>
<p><span style="font-weight: bold;">Step 7: HijackThis</span></p>
<p><a href="http://download.cnet.com/Trend-Micro-HijackThis/3000-8022_4-10227353.html">HijackThis</a> requires a step of its own. This utility is unlike any of the others because it does not automatically detect and remove infections. Instead, if provides you with a cross-sectional look at your system and is ideal for cleaning up after an infection as well as making sure there are no longer any traces left. Run this utility and post the output in a new Taz thread or in one of the many HijackThis support forums to get feedback on what (if anything) should be removed.</p>
<p><span style="font-weight: bold;">Step 7: Run fixes </span></p>
<p>After your system is clean, it can sometimes be helpful to download and run <a href="http://www.softpedia.com/get/System/System-Miscellaneous/Dial-a-fix.shtml">dial-a-fix</a> to repair many of the things that viruses tend to screw up in Windows. You may also want to run winsock fix. In Windows XP SP2 and later (including Vista) you can simply type “netsh winsock reset” from the command line.</div>
<p>ORIGINALLY POSTED BY KEEZEL FOR THETAZZONE/TAZFORUM <a href="http://tazforum.thetazzone.com/viewtopic.php?f=31&amp;t=12981">HERE</a></p>
<p>Do not use, republish, in whole or in part, without the consent of the Author. TheTAZZone policy is that Authors retain the rights to the work they submit and/or post…we do not sell, publish, transmit, or have the right to give permission for such…TheTAZZone merely retains the right to use, retain, and publish submitted work within it’s Network</p>
<p><span><br />
</span></p>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

]]></content:encoded>
			<wfw:commentRss>http://www.thetazzone.com/virus-and-spyware-removal-process/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial &#8211; PHP for Newbies 2</title>
		<link>http://www.thetazzone.com/tutorial-php-for-newbies-2/</link>
		<comments>http://www.thetazzone.com/tutorial-php-for-newbies-2/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 18:52:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[apache and php tutorials]]></category>
		<category><![CDATA[general tutorials]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://www.thetazzone.com/?p=2565</guid>
		<description><![CDATA[Tutorial – PHP for Newbies 2
In this section I’ll be discussing PHP loops.
Prerequisites
To follow along in this tutorial, it may be beneficial to install a text editor somewhat more tailored to coding than the basic bland text editor that comes stock with your computer. It will take a bit of research to determine what you [...]]]></description>
			<content:encoded><![CDATA[<p><span style="text-decoration: underline;"><span style="font-weight: bold;">Tutorial – PHP for Newbies 2</span></span></p>
<p>In this section I’ll be discussing PHP loops.</p>
<p><span style="font-weight: bold;">Prerequisites</span></p>
<p>To follow along in this tutorial, it may be beneficial to install a text editor somewhat more tailored to coding than the basic bland text editor that comes stock with your computer. It will take a bit of research to determine what you like best, but you should look for an editor that numbers lines to make finding the source of errors easier, highlights different tags based on syntax, and of course is something you feel comfortable with.</p>
<p><span style="font-weight: bold;">Introduction to Loops</span></p>
<p>A “loop” in PHP causes the same block of code to be executed multiple times until it reaches a predefined point. One practical example might be when you select how many “posts” or “images” or “somethings” you want to display per page while viewing a web page. A PHP loop continues to load blog posts, images, or forum threads until it reaches that threshold.</p>
<p><span style="font-weight: bold;">Various Loops</span></p>
<p><span style="text-decoration: underline;">1)	The “while” loop will continue to execute a block of code until a particular condition is met.</span></p>
<p>Example:</p>
<div><strong>Code:</strong></div>
<div>&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;?php<br />
$counter=1;<br />
while($counter&lt;=5)<br />
{<br />
echo “Number “ . $counter . “&lt;br /&gt;”;<br />
$counter++;<br />
}<br />
?&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</div>
<p>In the above example, I created the variable $counter and set its value to 1. I then created the while loop which checks the value of $counter, and if it is less than or equal to 5, it initiates the code between the { and }. The code block (everything contained within {}) outputs the string “Number “, concatenates (joins) the current value of $counter, and adds (using concatenation again) the HTML &lt;br /&gt; tag to create a line break on the web page. Finally, it increases the value of $counter by one. Note that the { and } tags create blocks of code that are executed simultaneously instead of one at a time. Save the above into a .php file and you should receive the output:</p>
<p>Number 1<br />
Number 2<br />
Number 3<br />
Number 4<br />
Number 5</p>
<p><span style="text-decoration: underline;">2)	The “do…while” loop performs essentially the same function but can be written differently.</span></p>
<p>Example:</p>
<div><strong>Code:</strong></div>
<div>&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;?php<br />
$counter=1;<br />
do<br />
{<br />
$counter++;<br />
Echo “Number “ . $counter . “&lt;br /&gt;”;<br />
}<br />
while ($counter&lt;=5);<br />
?&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</div>
<p>The result will be the same on the web page as the previous example.</p>
<p><span style="text-decoration: underline;">3) The “for” loop has a more specific syntax. Inside the parentheses after “for” you must first specify the initial value of the counter, then the condition that is evaluated each interation, and finally the amount to increment the initial value. Each of these is separated by a “;”. </span></p>
<p>Syntax:</p>
<p>for (init; condition; increment)<br />
{<br />
Code;<br />
}</p>
<p>Example:</p>
<div><strong>Code:</strong></div>
<div>&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;?php<br />
For ($counter=1; $counter&lt;=5; $counter++)<br />
{<br />
echo “Number “ . $counter . “&lt;br /&gt;”;<br />
}<br />
?&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</div>
<p>As you can see, this is a quicker way to accomplish the same end. Also note that the $counter variable can be whatever you like it to be. If you changed the variable to $lolcat it would perform the exact same function in the above scenario. It might be more efficient to use a single letter variable such as $x.</p>
<p><span style="text-decoration: underline;">4) The “foreach” loop is used in conjunction with arrays. For example, if you simply wanted to display (in order) each value saved in an array, you could use this loop.</span></p>
<p>Example:</p>
<div><strong>Code:</strong></div>
<div>&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;?php<br />
$x=array(“1”,”2”,”3”);<br />
Foreach ($x as $y)<br />
{<br />
Echo $y . “&lt;br /&gt;”;<br />
}<br />
?&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</div>
<p>In the above example, I defined an array ($x), populated it with the values 1, 2, 3 (notice that they are in quotes, which causes them to be text strings instead of numeric values), and then in the foreach loop assigned the current value of $x to $y. I then echo’d the current value of $y and inserted a line break. The resulting output is:<br />
1<br />
2<br />
3</p>
<p>That’s it for the basic loops!</p>
<p>In the next tutorial I’ll start covering the variety of ways one can pass information from one page to another.</p>
<p>ORIGINALLY POSTED BY KEEZEL FOR THETAZZONE/TAZFORUM <a href="http://tazforum.thetazzone.com/viewtopic.php?f=31&amp;t=12858">HERE</a></p>
<p>Do not use, republish, in whole or in part, without the consent of the Author. TheTAZZone policy is that Authors retain the rights to the work they submit and/or post…we do not sell, publish, transmit, or have the right to give permission for such…TheTAZZone merely retains the right to use, retain, and publish submitted work within it’s Network</p>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

]]></content:encoded>
			<wfw:commentRss>http://www.thetazzone.com/tutorial-php-for-newbies-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tutorial &#8211; PHP for Newbies 1</title>
		<link>http://www.thetazzone.com/tutorial-php-for-newbies-1/</link>
		<comments>http://www.thetazzone.com/tutorial-php-for-newbies-1/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 13:53:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[apache and php tutorials]]></category>
		<category><![CDATA[general tutorials]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://www.thetazzone.com/?p=2562</guid>
		<description><![CDATA[Tutorial – PHP for Newbies 1
This series will be aimed at helping people who are brand new to programming get into PHP. As I’ve researched, I’ve found that good tutorials for people new to programming are few and far between.
Prerequisites
Before we can begin, PHP requires that you have a web server, a database, and the [...]]]></description>
			<content:encoded><![CDATA[<div id="postdiv130569"><span style="text-decoration: underline;"><span style="font-weight: bold;">Tutorial – PHP for Newbies 1</span></span></p>
<p>This series will be aimed at helping people who are brand new to programming get into PHP. As I’ve researched, I’ve found that good tutorials for people new to programming are few and far between.</p>
<p><span style="font-weight: bold;">Prerequisites</span></p>
<p>Before we can begin, PHP requires that you have a web server, a database, and the language itself all running locally. Accomplishing this could be another full tutorial itself, but I’ll attempt to give the crash-course version.</p>
<p>By far the most popular platform for programming using PHP combines Apache (the web server), MySQL (the database), and PHP. In fact this is often abbreviated as “AMP”. When this is installed on a Windows machine it’s called “WAMP” and when installed on a Linux machine it’s referred to as “LAMP”. To install all of these at once on an Ubuntu machine, you have two options. You can either type:</p>
<div><strong>Code:</strong></div>
<div>sudo tasksel install lamp-server</div>
<p>or</p>
<div><strong>Code:</strong></div>
<div>sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server</div>
<p>See also:  <!-- l --><a href="http://tazforum.thetazzone.com/viewtopic.php?f=31&amp;t=11912">viewtopic.php?f=31&amp;t=11912</a><!-- l --></p>
<p>If you want to keep things extremely simple on a Windows machine, try <!-- m --><a href="http://www.easyphp.org/">http://www.easyphp.org</a><!-- m -->. I installed easyphp on a jump drive for when I’m on the go or when working on Windows. Just extract, install, start the program (the .exe file), and you’re good to go. Make sure to save your .php files in the www folder within the easyphp directory (wherever you installed it).</p>
<p>Once you have each installed and somewhat configured, you will save all of your PHP work in the Apache root directory (linux default /var/www) and to display it you will navigate in a browser to<!-- m --> <a href="http://localhost/filename.php">http://localhost/filename.php</a><!-- m -->.</p>
<p><span style="font-weight: bold;">Introduction</span></p>
<p>Unfortunately, learning the basics involves a lot of memorization at first. There’s no way around that, but I’ll try to apply as much of it as possible as I go.</p>
<p><span style="font-weight: bold;">What is PHP?</span></p>
<p>PHP stands for PHP: Hypertext Preprocessor. Yes, it is an acronym contained within another acronym. PHP is a programming language that is most often found integrated with HTML to create dynamic, interactive, and secure web sites. PHP is completely free and open source. PHP is parsed (executed) by a web server and then delivered to the user’s web browser, which serves to hide your code and making it inherently more secure than HTML or Javascript.</p>
<p><span style="font-weight: bold;">What does PHP look like?</span></p>
<p>PHP code usually (but not always) begins with &lt;?php and ends with ?&gt;. Everything contained within these brackets is interpreted as PHP code by the web server. The rest (variables, functions, etc) will be covered later.</p>
<p><span style="font-weight: bold;">How do I go about creating a PHP file and integrate it into a web page?</span></p>
<p>There are a variety of ways, but the easiest to demonstrate is to embed PHP within HTML. PHP is at home embedded within HTML. For example, the following is perfectly legal:</p>
<div><strong>Code:</strong></div>
<div>&lt;html&gt;<br />
&lt;body&gt;</p>
<p>&lt;?php<br />
echo “Hello World”;<br />
?&gt;</p>
<p>&lt;/body&gt;<br />
&lt;/html&gt;</p></div>
<p>You could save the above in a file called helloworld.php inside the web server’s (apache’s) root directory (default is /var/www) and browse to<!-- m --> <a href="http://localhost/helloworld.php">http://localhost/helloworld.php</a><!-- m --> and you should see “Hello World” at the top of the page.</p>
<p><span style="font-weight: bold;">Comments</span></p>
<p>Comments are used inside the &lt;?php ?&gt; brackets to signal to the parser that one or many lines should be ignored. Comments allow you to leave notes for yourself or others. You would denote one line as a comment with // and a block with /* and */ The below examples are all valid comments:</p>
<div><strong>Code:</strong></div>
<div>&lt;html&gt;<br />
&lt;body&gt;</p>
<p>&lt;?php<br />
//This is a comment</p>
<p>/* All of the following is a comment too: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.. */</p>
<p>echo “Hello World”; //This comment is at the end of a line.<br />
?&gt;</p>
<p>&lt;/body&gt;<br />
&lt;/html&gt;</p></div>
<p><span style="font-weight: bold;">Keeping Clean Code</span></p>
<p>Thus far you may have noticed that I tend to break the code up into a lot of different lines. The PHP parser (as well as HTML) treats everything as one single line of code, so it actually makes no difference to the parser if you have zero line returns or a hundred between each word (with the exception of line comments, which require you to comment out each individual line with “//”). The reason I do this is because it’s extremely helpful to the coder to break it up so it is easier to find errors and generally understand the code.</p>
<p><span style="font-weight: bold;">Variables</span></p>
<p>Variables serve as “containers”, much the same as they are in algebra for example. For example, in algebra x may equal 5. In PHP, you could make x = “This sentence” or (8 * 15) + 27. You can define variables to be whatever you want them to be, so long as PHP syntax is not broken. PHP variables are denoted by placing a $ in front of the name of the variable you are assigning. Variables names can be anything so long as they begin with a letter or an underscore “_”, contain only letters (upper or lowercase), numbers, and underscores. They cannot contain spaces. An example might be $My_Variable. Variables are case sensitive, so $My_Variable is not the same as $My_variable. For example, it would be perfectly legal for $My_Variable to equal the number 7 and $My_variable to equal the number 57 (or a bunch of text, or pretty much whatever you want). This is useful because when programming you often refer back to the same thing over and over again, so to save keystrokes you can simply assign something to a variable and then type the variable in its place.</p>
<p>Example:</p>
<div><strong>Code:</strong></div>
<div>&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;?php<br />
$variable=”Hello World…again!”;<br />
echo $variable;<br />
?&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</div>
<p><span style="font-weight: bold;">Constants</span></p>
<p>I&#8217;ll not delve into these much here, but constants perform the same function as variables except they are usually written in all capital letters and cannot be changed once they have been defined.</p>
<p>Save this as variablehelloworld.php (or something) and browse to <!-- m --><a href="http://localhost/variablehelloworld.php">http://localhost/variablehelloworld.php</a><!-- m --> and you should again see “Hello World…again!” at the top of the page just as before.</p>
<p><span style="font-weight: bold;">Strings</span></p>
<p>The word “string” is another word for “text”. Anything contained within quotes “ “ is considered by the parser as regular text as opposed to an integer (or…anything else). Let’s modify our recent example to demonstrate:</p>
<div><strong>Code:</strong></div>
<div>&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;?php<br />
$variable=”Hello World…again!”;<br />
echo $variable;<br />
echo “$variable”;<br />
?&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</div>
<p>You would see in your browser the following: Hello world…again!$variable Let me explain. Although in the php code echo $variable and echo “$variable” were on separate lines, the parser treats everything as one single line (as I said before). This explains why there are no spaces or line breaks in what you see displayed in the browser. Also, “$variable” is a string and $variable is a variable referencing another string. The difference may only be quotation marks to the human eye, but it makes all the difference to the parser.</p>
<p><span style="font-weight: bold;">Concatenation</span></p>
<p>Bonus points if you were able to pronounce the word on the first try. Concatenation is a big word for “join together”. The concatenation operator in PHP is a “.” (a period). When you need to join two separate things together, you would use a “.”. For an example, we will again edit our previous example.</p>
<div><strong>Code:</strong></div>
<div>&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;?php<br />
$variable=”Hello World”;<br />
$variable2=”…again!”;<br />
echo $variable . $variable2<br />
?&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</div>
<p>When displayed in the browser, you will see: Hello World…again!</p>
<p><span style="font-weight: bold;">Operators</span></p>
<p>These are generally used to perform mathematical functions.  The basic operators are the following:<br />
•	+ : addition<br />
•	- : subtraction<br />
•	* : multiplication<br />
•	/ : division<br />
•	% : modulus (division remainder)<br />
•	++ : increment (adds one)<br />
•	&#8211; : decrement (subtracts one)<br />
•	= : same as<br />
•	== : is equal to<br />
•	=== : is exactly equal to (including type, ex: string, Boolean, integer, etc)<br />
•	!= : is not equal to<br />
•	&gt; : is greater than<br />
•	&lt; : is less than<br />
•	&gt;= : is greater than or equal to<br />
•	&lt;= : is less than or equal to<br />
•	&amp;&amp; : and<br />
•	|| : or<br />
•	! : not</p>
<p>I should give an example…but you might cry from boredom.</p>
<p><span style="font-weight: bold;">Conditional Statements</span></p>
<p>if : use this statement to execute code only if the specified condition is true.<br />
if / else : use this when you want to allow an alternative in case the condition is not true.<br />
If /elseif /else : use this when you have more than one alternative. These commands are case sensitive. The syntax is as follows:</p>
<p>if (condition)<br />
code to execute if condition is true;<br />
elseif (condition)<br />
code to be executed if second condition is true;<br />
else<br />
code to be executed if condition is false;</p>
<p>Example:</p>
<div><strong>Code:</strong></div>
<div>&lt;html&gt;<br />
&lt;body&gt;</p>
<p>&lt;?php<br />
$variable = 1;<br />
if ($variable===”1”)<br />
echo “The variable is a string!”;<br />
elseif ($variable===1)<br />
echo “This variable is a number!”;<br />
else<br />
echo “This variable is dysfunctional!”;<br />
?&gt;</p>
<p>&lt;/body&gt;<br />
&lt;/html&gt;</p></div>
<p>Note that the “===” is actually three “=”.  Save that as a .php and navigate to the page and see what happens.</p>
<p><span style="font-weight: bold;">Arrays</span></p>
<p>Arrays store and arrange multiple variables. For example, you can name an array $planets and have entry $planets[0] be “Mercury”, $planets[1] be “Venus”, etc. You again use the $ prior to the name as you would for variables. Arrays always number beginning with “0”, which is important to remember because if you have five arrayed values, the last one of the five would be [4]. Example:</p>
<div><strong>Code:</strong></div>
<div>&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;?php<br />
$planets=array(“Mercury”, “Venus”, “Earth”, “Mars”);<br />
Echo $planets[0] . “ and “ . $planets[1] . “are the two nearest planets to the sun!”;<br />
?&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</div>
<p><span style="font-weight: bold;">Wrap up</span></p>
<p>The above is intended simply to be an introduction to PHP. Unfortunately the basics are boring and useless for the most part. Tune in to part two for some more useful stuff you can do using PHP! Part two will cover loops, and subsequent tutorials will cover various methods of passing information from one web page to another, HTML forms, and simple (non-secure) authentication.</p></div>
<p>ORIGINALLY POSTED BY KEEZEL FOR THETAZZONE/TAZFORUM <a href="http://tazforum.thetazzone.com/viewtopic.php?f=31&amp;t=12857">HERE</a></p>
<p>Do not use, republish, in whole or in part, without the consent of the Author. TheTAZZone policy is that Authors retain the rights to the work they submit and/or post…we do not sell, publish, transmit, or have the right to give permission for such…TheTAZZone merely retains the right to use, retain, and publish submitted work within it’s Network</p>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

]]></content:encoded>
			<wfw:commentRss>http://www.thetazzone.com/tutorial-php-for-newbies-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tcl Tutorial</title>
		<link>http://www.thetazzone.com/tcl-tutorial/</link>
		<comments>http://www.thetazzone.com/tcl-tutorial/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 02:22:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general tutorials]]></category>

		<guid isPermaLink="false">http://www.thetazzone.com/?p=842</guid>
		<description><![CDATA[ORIGINALLY POSTED BY ACIDTONE FOR THETAZZONE/TAZFORUM HERE
Do not use, republish, in whole or in part, without the consent of the Author. TheTAZZone policy is that Authors retain the rights to the work they submit and/or post…we do not sell, publish, transmit, or have the right to give permission for such…TheTAZZone merely retains the right to [...]]]></description>
			<content:encoded><![CDATA[<p>ORIGINALLY POSTED BY ACIDTONE FOR THETAZZONE/TAZFORUM <a href="http://tazforum.thetazzone.com/viewtopic.php?f=31&amp;t=2016">HERE</a></p>
<p>Do not use, republish, in whole or in part, without the consent of the Author. TheTAZZone policy is that Authors retain the rights to the work they submit and/or post…we do not sell, publish, transmit, or have the right to give permission for such…TheTAZZone merely retains the right to use, retain, and publish submitted work within it’s Network</p>
<p>[b][u]Tcl Tutorial[/u][/b]</p>
<p>[b]Introduction[/b]</p>
<p>This is a very short introduction to the Tcl script language. If you just can&#8217;t wait, I hope this will make you able to read and to understand simple Tcl code. </p>
<p>In many points, Tcl is similar to C, especially for loop structures, function definitions and mathematical or conditional expressions. In other points, such as expression evaluation and list data structures, you will notice that Tcl has inherited from the benefits of the Scheme language. </p>
<p>In Tcl, all data is represented as strings. </p>
<p>[b]Commands evaluation[/b]</p>
<p>Each Tcl command call is a sentence of the form : command arg1 arg2 arg3 &#8230; </p>
<p>The Tcl evaluator take each word of this sentence and evaluate it. After evaluation of each word, the first word (command) is considered to be a function name and this function is executed with as arguments the following words. </p>
<p>To evaluate a word, the interpretor has to do the following substitutions in the word string :<br />
[list]<br />
If the word is surrounded by &#8221; &#8220;, this word may contain spaces, but substitution is still applicable inside the quotations. Inside the quotation, there may be spaces and carriage returns. </p>
<p>If a word is surrounded by { }, this word is unaffected (substitution is thus not applicable on this word). Inside the braces, there may be spaces and carriage returns. Moreover, the { } braces may be nested. </p>
<p>If a part of the word is surrounded by [ ], this part is considered as a command sentence : the text within the brackets is evaluated as a Tcl command and replaced with the result. </p>
<p>where substitution is applicable, every string beginning with $ is replaced with the variable represented by this string. This string is ended by a space, a &#8216;-&#8217; or a &#8216;,&#8217;.<br />
[/list]</p>
<p>[b]Examples[/b]<br />
set a &#8220;World !&#8221;<br />
In the evaluation of the 3 words &#8217;set&#8217;, &#8216;a&#8217; and &#8216;&#8221;World !&#8221;&#8216;, no substitution has to be done, only the &#8221; &#8221; are removed. The command &#8217;set&#8217; is then executed with as parameters &#8216;a&#8217; and &#8216;World !&#8217;. This command tell Tcl to define a new variable &#8216;a&#8217; (if not already defined) and to set its value to &#8216;World !&#8217;. </p>
<p>set b &#8220;Hello $a&#8221;<br />
Set the variable &#8216;b&#8217; to &#8216;Hello World !&#8217;. Here, the variable substitution has occurred inside the second parameter where the variable &#8216;a&#8217; is replaced by its value. </p>
<p>set c [string range $b 0 3]<br />
Set the variable c to &#8216;Hell&#8217;, which is the 4 first letters of &#8216;Hello World !&#8217;. In this case, The part between [ ] has been executed as a command </p>
<p>If you want to break a command sentence in lines you can only do it inside the { } brace or in the &#8221; &#8221; quotation or you can break the line with a &#8216;\&#8217; at the end of any break line. </p>
<p>[b]Example[/b]<br />
[code]<br />
if {$c == "Hell"} {<br />
   puts "Oh god !"<br />
} else {<br />
   puts "Peace !"<br />
}<br />
[/code]</p>
<p>This test the value of the variable c. If it is the string &#8216;Hell&#8217; it prints &#8216;Oh god !&#8217; on screen, otherwise, it prints &#8216;Peace !&#8217;. In this sentence, Tcl see 5 words :<br />
[list]<br />
&#8216;if&#8217; is the first : nothing to be evaluated.<br />
&#8216;$c == &#8220;Hell&#8221;&#8216; is the second : because of the surrounding curly braces, there is no further evaluation on this word.<br />
&#8216;puts &#8220;Oh god !&#8221;&#8216; : for the same reason, no further evaluation<br />
&#8216;else&#8217; : nothing to do.<br />
&#8216;puts &#8220;Peace !&#8221;&#8216; : no further evaluation.<br />
[/list]</p>
<p>The first word, &#8216;if&#8217; is seen as the command and this command is executed with as parameters the 4 following words. That is later that the condition &#8216;$c == &#8220;Hell&#8221;&#8216; is evaluated, during the execution of the if command. </p>
<p>Notice where we placed the line breaks (inside the { }). </p>
<p>[b]Strings and Lists[/b]</p>
<p>Under Tcl, the value of each variable is stored as a string. Even if you want to save a number in a variable, this number is transformed into a string. </p>
<p>As a special type of string, the list deserve a special attention in data representation in Tcl. The list is nothing more than a string with, as elements separator, the space. A list may contains sublists. </p>
<p>[b]Example[/b]<br />
[code]<br />
% set list {12 {78 5} 45 "Im a not a number"}<br />
12 {78 5} 45 "Im a not a number"<br />
% set sublist1 [lindex $list 1]<br />
78 5<br />
% set sublist2 [lindex $list 3]<br />
Im a not a number<br />
% lindex $sublist2 2<br />
not<br />
[/code]</p>
<p>[b]Mathematics expression.[/b]</p>
<p>Whereas all variables are of type string, the mathematical operations internally uses float and integer number representation to produce their results. The command that calculate mathematical expression is &#8216;expr&#8217;. </p>
<p>[b]Example[/b]<br />
[code]<br />
% set result [expr (4+6)/4]<br />
2<br />
% set result [expr (4.0+6)/4]<br />
2.5<br />
[/code]</p>
<p>In the first calculation, the interpretor has used the integer number representation. In the second, it has used the float number representation. </p>
<p>[b]How to display something ?[/b]</p>
<p>To display a string, you can use the command &#8216;puts&#8217; </p>
<p>[b]Example[/b]<br />
[code]<br />
% set variable 255<br />
% puts "The number $variable"<br />
The number 255<br />
% puts [format "The number %d is equal to 0x%02X" \<br />
  $variable $variable]<br />
The number 255 is equal to 0xFF<br />
[/code]</p>
<p>As it can be seen in the previous example, the command format is very similar to the C command &#8216;printf&#8217;. </p>
<p>[b]Control flow[/b]</p>
<p>The following commands are similar to the C equivalent. Only &#8216;foreach&#8217; has no C equivalent (have a look at the example to see what it do).<br />
if {&#8230;condition&#8230;} {&#8230;body&#8230;}<br />
while {&#8230;condition&#8230;} {body}<br />
for {&#8230; init &#8230;} {&#8230;condition&#8230;} {&#8230;increment&#8230;} {&#8230;body&#8230;}<br />
foreach varnames {&#8230;list&#8230;} {&#8230;body&#8230;}<br />
the &#8216;&#8230;condition&#8230;&#8217; is evaluated in the same way that it should be with command &#8216;expr&#8217;. </p>
<p>[b]Examples[/b]<br />
[code]<br />
while </p>
<p>% while {$i<4} {<br />
> puts "$i*$i is [expr $i*$i]"<br />
> incr i<br />
> }<br />
0*0 is 0<br />
1*1 is 1<br />
2*2 is 4<br />
3*3 is 9<br />
for </p>
<p>% for {set i 0} {$i<4} {incr i} {<br />
> puts "$i*$i is [expr $i*$i]"<br />
> }<br />
0*0 is 0<br />
1*1 is 1<br />
2*2 is 4<br />
3*3 is 9<br />
foreach </p>
<p>% set observations \<br />
  {Bruxelles 15 22 London 12 19 Paris 18 27}<br />
Bruxelles 15 22 London 12 19 Paris 18 27<br />
% foreach {town Tmin Tmax} $observations {<br />
> set Tavg [expr ($Tmin+$Tmax)/2.0]<br />
> puts "$town $Tavg"<br />
> }<br />
Bruxelles 18.5<br />
London 15.5<br />
Paris 22.5<br />
[/code]</p>
<p>[b]Array[/b]</p>
<p>Arrays are always unidimensional but the index is a string. If you use a separator in the index string (such as &#8216;,&#8217;, &#8216;-&#8217;), you can get the same effect than with a multidimensional array in other languages. </p>
<p>[b]Example[/b]<br />
[code]<br />
% set observations \<br />
  {Bruxelles 15 22 London 12 19 Paris 18 27}<br />
Bruxelles 15 22 London 12 19 Paris 18 27<br />
% foreach {town Tmin Tmax} $observations {<br />
set obs($town-min) $Tmin<br />
set obs($town-max) $Tmax<br />
}<br />
% parray obs<br />
obs(Bruxelles-max) = 22<br />
obs(Bruxelles-min) = 15<br />
obs(London-max)    = 19<br />
obs(London-min)    = 12<br />
obs(Paris-max)     = 27<br />
obs(Paris-min)     = 18<br />
Procedures<br />
[/code]<br />
Procedures are the equivalent of the C functions. </p>
<p>[b]Example[/b]<br />
[code]<br />
% proc sum2 {a b} {<br />
>  return [expr $a+$b]<br />
> }<br />
[/code]</p>
<p>if a procedure does not contain any &#8216;return&#8217; statement, the default return value is the return value of the last evaluated function in this procedure. So the following script is perfectly equivalent :<br />
[code]<br />
% proc sum2 {a b} {<br />
>   expr $a + $b<br />
> }<br />
[/code]<br />
To call the &#8217;sum2&#8242; function, we do the following :<br />
[code]<br />
% sum2 12 5<br />
17<br />
[/code]<br />
The special argument name &#8216;args&#8217; contains a list with the rest of the arguments </p>
<p>[b]Example[/b]<br />
[code]<br />
% proc sum {args} {<br />
>   set result 0<br />
>   foreach n $args {<br />
>      set result [expr $result+$n]<br />
>   }<br />
>   return $result<br />
> }<br />
% sum 12 9 6 4<br />
31<br />
[/code]<br />
it is also possible to specify default parameters. So, if you don&#8217;t specify the last parameters, the default values will be substituted. </p>
<p>[b]Example.[/b]<br />
[code]<br />
% proc count {start end {step 1}} {<br />
>   for {set i $start} {$i<=$end} {incr i $step} {<br />
>     puts $i<br />
>   }<br />
> }<br />
% count 1 3<br />
1<br />
2<br />
3<br />
% count 1 5 2<br />
1<br />
3<br />
5<br />
[/code]<br />
If you want to use global variables in a function, you have to declare it as global. </p>
<p>[b]Example[/b]<br />
[code]<br />
% set global_counter 3<br />
% proc incr_counter {} {<br />
>    global global_counter<br />
>    incr global_counter<br />
> }<br />
% incr_counter<br />
4<br />
% set global_counter<br />
4<br />
[/code]<br />
You can also declare a table as global. </p>
<p>[b]Example.[/b]<br />
[code]<br />
% set counter(value) 3<br />
% set counter(active) 1<br />
% proc incr_counter {} {<br />
>    global counter<br />
>    if {$counter(active)} {<br />
>       incr counter(value)<br />
>    }<br />
> }<br />
% incr_counter<br />
4<br />
% set counter(active) 0<br />
0<br />
% incr_counter<br />
4<br />
[/code]</p>
<p>[b]Eval[/b]</p>
<p>The &#8216;eval&#8217; command<br />
concatenate all its arguments in one string<br />
splits this string using spaces as separators<br />
evaluate the command sentence formed by all the substrings </p>
<p>In the following example, we used the function &#8217;sum&#8217; that we have already defined. </p>
<p>[b]Example[/b]<br />
[code]<br />
%  proc average {args} {<br />
>     return [expr [eval sum $args] / [llength $args]]<br />
>  }<br />
% average 45.0 65.0 78.0 55.0<br />
60.75<br />
[/code]</p>
<p>If you had omitted the &#8216;eval&#8217; command in the previous example, the &#8217;sum&#8217; procedure would have returned an error because &#8217;sum&#8217; should be called with only one string argument (in the previous example, this argument would have been &#8216;45.0 65.0 78.0 55.0&#8242;) while &#8217;sum&#8217; is expecting numerical arguments.<br />
uplevel, upvar</p>
<p>With the &#8216;upvar&#8217; command, you can access a variable which belongs to a higher level of the procedure call stack. </p>
<p>[b]Example [/b]<br />
[code]<br />
% proc decr {n steps} {<br />
>   upvar $n upa<br />
>   set upa [expr $upa - $steps]<br />
> }<br />
% set nb 12<br />
12<br />
% decr nb 3<br />
9<br />
% puts $nb<br />
9<br />
[/code]</p>
<p>In the previous example, the parameter &#8216;n&#8217; gets the value &#8216;nb&#8217; (the string &#8216;nb&#8217; !) if we type &#8216;decr nb 3&#8242;. The command &#8216;upvar $n upa&#8217; means that the variable &#8216;upa&#8217; becomes a synonym to the variable &#8216;nb&#8217; (coming from a higher level of the stack). </p>
<p>With the &#8216;uplevel&#8217; command, you can evaluate something on higher level in the stack. </p>
<p>[b]Example[/b]<br />
[code]<br />
% proc do {todo condition} {<br />
>   set ok 1<br />
>   while {$ok} {<br />
>     uplevel $todo<br />
>     if {[uplevel "expr $condition"]==0} {set ok 0}<br />
>   }<br />
> }<br />
% set i 0<br />
0<br />
% do {<br />
puts $i<br />
incr i<br />
} {$i<4}<br />
0<br />
1<br />
2<br />
3<br />
[/code]<br />
Inside the procedure 'do', the evaluation of the script 'todo' and the conditional 'condition' has to made on a higher level of stack (in the same way that if they were evaluated from out of 'do').<br />
error and catch</p>
<p>If you insert an 'error' command in your code, this command will stop the execution of your script and return the error message that follow the 'error' command. With the command 'catch', you can also intercept a error to avoid that your script stops on an error. </p>
<p>If 'catch' return 0, it means that no error occurred while evaluating the script send as parameter of catch. If 'catch' return 1, it means that an error occurred. </p>
<p>[b]Example.[/b]<br />
[code]<br />
% proc div {a b} {<br />
>   if {$b==0} {<br />
>      error "divided by zero"<br />
>   } else {<br />
>      return [expr $a/$b]<br />
>   }<br />
> }<br />
% div 8 3<br />
2<br />
% div 8 0<br />
divide by zero<br />
% catch {div 8 3}<br />
0<br />
% catch {div 8 0}<br />
1<br />
% catch {set result [div 8 3]}<br />
0<br />
% catch {set result [div 8 0]}<br />
1<br />
[/code]</p>
<p>The last call is completely equivalent to<br />
[code]<br />
catch {div 8 3} result<br />
[/code]</p>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

]]></content:encoded>
			<wfw:commentRss>http://www.thetazzone.com/tcl-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Started with Counter-Strike:Source</title>
		<link>http://www.thetazzone.com/getting-started-with-counter-strikesource/</link>
		<comments>http://www.thetazzone.com/getting-started-with-counter-strikesource/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 02:20:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general tutorials]]></category>

		<guid isPermaLink="false">http://www.thetazzone.com/?p=840</guid>
		<description><![CDATA[ORIGINALLY POSTED BY J_K9 FOR THETAZZONE/TAZFORUM HERE
Do not use, republish, in whole or in part, without the consent of the Author. TheTAZZone policy is that Authors retain the rights to the work they submit and/or post…we do not sell, publish, transmit, or have the right to give permission for such…TheTAZZone merely retains the right to [...]]]></description>
			<content:encoded><![CDATA[<p>ORIGINALLY POSTED BY J_K9 FOR THETAZZONE/TAZFORUM <a href="http://tazforum.thetazzone.com/viewtopic.php?f=31&amp;t=1784">HERE</a></p>
<p>Do not use, republish, in whole or in part, without the consent of the Author. TheTAZZone policy is that Authors retain the rights to the work they submit and/or post…we do not sell, publish, transmit, or have the right to give permission for such…TheTAZZone merely retains the right to use, retain, and publish submitted work within it’s Network</p>
<p>I have tried to outline the basics of CS:Source in the following tutorial. You will find most of the information you need to get started in this tut.. The rest, you will have to learn by playing the game <img title="Wink" src="http://tazforum.thetazzone.com/images/smilies/icon_wink.gif" alt="I'm gagging for a shag" /></p>
<p>Let&#8217;s start with the out of game topics &#8211; what you need to know before playing the game.</p>
<p><span style="font-size: 117%; line-height: 116%;"><span style="font-weight: bold;">Buying CS:Source</span></span></p>
<p>There are two ways of buying Counter-Strike:Source. I recommend going for the first option if you have fairly slow broadband (&lt;1Mbps), as the files could take a while to download. However, option 2 may be more suitable depending on your situation, especially if you live in a country where this game is difficult to find (e.g. Belgium).</p>
<p><span style="color: red;"><span style="font-weight: bold;">1.</span></span> Look around the game shops in town. One will most probably have a copy of Counter-Strike:Source, whether it is being sold separately, or being sold <span style="font-weight: bold;">with Half Life 2</span>. Please make sure you check on the back of the box to verify that Counter-Strike:Source is included &#8211; but most (if not all) copies of Half Life 2 bring it anyway.</p>
<p>If the local game shops don&#8217;t have it, try looking on an online shop, like <a class="postlink" href="http://amazon.com/">Amazon</a>. Amazon sells a copy of Counter-Strike:Source &#8211; <a class="postlink" href="http://www.amazon.co.uk/exec/obidos/ASIN/B000B8XQHK/qid=1147538459/sr=8-1/ref=pd_ka_1/202-6587514-0125435">here</a> is a copy available from Amazon for a discounted £15. Not bad!</p>
<p><span style="color: red;"><span style="font-weight: bold;">2.</span></span> Go to <a class="postlink" href="http://steampowered.com/">Steam</a>&#8217;s homepage and download the <span style="font-weight: bold;">Steam Client</span>. Install it on your computer.</p>
<p>Once it has been installed, start Steam. You can now register your own Steam account, which you can use to play several different games and mods, and which holds its own Steam ID.<br />
Once you&#8217;re in, go to the Games tab, and look for <span style="font-weight: bold;">Counter-Strike:Source</span>. Make sure you select it and not one of the older versions! From there, you will be able to purchase a copy, and that will automatically become available to your new account. Then, it&#8217;s simply the case of downloading all the Counter-Strike:Source files (which may take quite a long time, depending on your connection speed), and then you can play!</p>
<p><span style="font-weight: bold;"><span style="font-size: 117%; line-height: 116%;">Settings</span></span></p>
<p>First of all, let&#8217;s get you the right settings. It will decrease the amount of lag, and will allow you to make the most of the server&#8217;s resources. Instructions follow.</p>
<p><span style="color: red;"><span style="font-weight: bold;">1.</span></span> Make sure Counter-Strike:Source is closed. Exit Steam as well just to make sure.</p>
<p><span style="color: red;"><span style="font-weight: bold;">2.</span></span> Open your favourite text editor (preferably one that DOESN&#8217;T add an extension automatically) and type in the following lines:</p>
<p><span style="color: indigo;">cl_updaterate 66<br />
cl_cmdrate 66<br />
rate 20000</span></p>
<p><span style="color: red;"><span style="font-weight: bold;">3.</span></span> Choose &#8216;Save As&#8217;, call the file &#8216;autoexec.cfg&#8217;, and save it in the C:\Program Files\Valve\Steam\SteamApps\~username\counter-strike source\cstrike\cfg\ directory.</p>
<p><span style="color: red;"><span style="font-weight: bold;">4.</span></span> Start CS:Source, and join a server.</p>
<p>Anothing thing you should do is enable the developer console. To do this, make sure CS:Source is open (you do not have to be connected to a server), and do the following:<br />
<span style="font-weight: bold;">Options -&gt; Keyboard tab -&gt; Advanced -&gt; Enable developer console (tick the box)</span></p>
<p><span style="font-weight: bold;"><span style="font-size: 117%; line-height: 116%;">XFire</span></span></p>
<p>Time&#8217;s up, get off CS:S! We need to set up something else. <img title="Wink" src="http://tazforum.thetazzone.com/images/smilies/icon_wink.gif" alt="I'm gagging for a shag" /></p>
<p>Run along to <a class="postlink" href="http://xfire.com/">XFire</a> and download the <span style="font-weight: bold;">XFire client</span>. Also <span style="font-weight: bold;">create an account</span> on the website while it is downloading! Remember the username and password, as that is what you will be using to log into XFire.</p>
<p>Once you have downloaded and installed the client, log in using the details you just registered with. You should be in by now &#8211; this is the master of all game-related chat programs. It will recognise almost every game you have installed, allow you to browse servers for the games you have and even place a shortcut to be able to join your favourite server (*cough*TAZServer) straight from the app. It also helps you keep tabs with your friends, and will tell you not only what game they are playing, but how long they have played that game, and who their own friends are! That is class, my dear friend. <img title="Wink" src="http://tazforum.thetazzone.com/images/smilies/icon_wink.gif" alt="I'm gagging for a shag" /></p>
<p>And don&#8217;t forget to add me. My username is:  lancerr</p>
<p><span style="font-weight: bold;"><span style="font-size: 117%; line-height: 116%;">TeamSpeak</span></span></p>
<p>Here is a quick description of TeamSpeak, quoted from their own website:</p>
<blockquote class="uncited">
<div><a class="postlink" href="http://goteamspeak.com/">TeamSpeak</a> is a quality, scalable application which enables people to speak with one another over the Internet.</div>
</blockquote>
<p>And the best thing is that it&#8217;s perfect to use with CS:Source! What a coincidence.<br />
Ok, now go over to <a class="postlink" href="http://goteamspeak.com/">TeamSpeak&#8217;s website</a> and download the latest version of the <span style="font-weight: bold;">TeamSpeak 2 Client</span>. The usual downloading and installing, and you&#8217;ll end up with a pretty shortcut on your desktop if -<br />
a. You haven&#8217;t done anything wrong, or<br />
b. You haven&#8217;t chosen not to put the shortcut on your desktop.</p>
<p><img title="Wink" src="http://tazforum.thetazzone.com/images/smilies/icon_wink.gif" alt="I'm gagging for a shag" /></p>
<p>Now that my small bit of wry humour is over, we can continue with setting up TeamSpeak. The default settings are good, so all you need to do is go to <span style="font-weight: bold;">&#8216;File -&gt; Quick Connect&#8217;</span> and type in the following details:</p>
<p>Server IP: <span style="color: indigo;">195.20.109.78</span><br />
Port: <span style="color: indigo;">9026</span></p>
<p>Give yourself a funky nickname, and log in. There&#8217;s a world of things you can do with TeamSpeak, but I&#8217;ll leave that to its own documentation (on the website)! Hehe..</p>
<p><span style="font-weight: bold;">Note:</span> If TeamSpeak is laggy while you are playing, exit CS:Source and change the codec to &#8216;Wave&#8217; in the <span style="font-weight: bold;">Settings</span> window. Now it should work better! I advise you disable the inbuilt CS:Source chat feature, or set it to an obscure key, because if not the situation might get a bit confusing. <img title="Wink" src="http://tazforum.thetazzone.com/images/smilies/icon_wink.gif" alt="I'm gagging for a shag" /></p>
<p>Set it to begin transferring via MIC as soon as the volume reaches a certain level, and check the bar to see if it&#8217;s at the right level for your voice.</p>
<p>Oh, and (sadly) having cute babies in the room doesn&#8217;t help either &#8211; if your poor young one starts crying in the middle of a CS:Source match, the other TeamSpeakers won&#8217;t be too happy <img title="Laughing" src="http://tazforum.thetazzone.com/images/smilies/icon_lol.gif" alt=":lol:" /></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Now, we move on to the fun stuff. <span style="font-style: italic;">Playing</span> the game <img title="Wink" src="http://tazforum.thetazzone.com/images/smilies/icon_wink.gif" alt="I'm gagging for a shag" /><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p><span style="font-weight: bold;"><span style="font-size: 117%; line-height: 116%;">Keys</span></span></p>
<p><span style="text-decoration: underline;">Keys 1 &#8211; 9</span></p>
<p>These keys are your weapons.<br />
The primary weapon is assigned key &#8216;1&#8242;. A primary weapon is any SMG (Sub-Machine Gun), rifle, or other large gun. That is, anything which is not a pistol or an accessory.<br />
The secondary weapon is assigned key &#8216;2&#8242;. A secondary weapon is a pistol. You are supplied with one automatically at the beginning of the round, but with a clip and only 2 extra clips for ammo.<br />
Key &#8216;3&#8242; is used for your knife. You cannot get rid of the knife &#8211; you are supplied with one automatically.<br />
Key &#8216;4&#8242; is used for all grenades, which you can purchase.<br />
Key &#8216;5&#8242; is used for the bomb. Note that this is only available to the Terrorist team &#8211; the Terrorist who picks up the bomb.</p>
<p><span style="text-decoration: underline;">Key B</span></p>
<p>This is the BUY key. By pressing it, you will be taken to a graphical menu. From this graphical menu, you can purchase every weapon in the game. However, pressing &#8216;B&#8217; and following it by a sequence of numbers to select your choices is far quicker. You will become more accustomed to using the numbers the more you use the game.</p>
<p><span style="text-decoration: underline;">Key R</span></p>
<p>The reload key. Use this tactically! You don&#8217;t want to reload when an enemy is coming round the corner <img title="Wink" src="http://tazforum.thetazzone.com/images/smilies/icon_wink.gif" alt="I'm gagging for a shag" /></p>
<p><span style="text-decoration: underline;">Key E</span></p>
<p>This is the USE key. This key is used to open doors, instruct hostages to follow you, defuse a bomb (this only applies to the Counter-Terrorist team), and other things that may need to be &#8216;USEd&#8217;.</p>
<p><span style="text-decoration: underline;">Keys Z, X and C</span></p>
<p>These three keys are used to chat to your teammates. This is to say things like &#8216;Go, go, go!&#8217;, &#8216;Storm the front&#8217;, &#8216;Affirmative&#8217; and many other useful commands. Play around with them &#8211; that is the best way to learn what they do.</p>
<p><span style="text-decoration: underline;">Key G</span></p>
<p>This key is used to drop your current weapon. Please note that only primary and secondary weapons, and the bomb (Terrorists only) can be dropped. You cannot drop your knife, nor grenades. All your weapons will automatically be dropped if you die or disconnect from the server.</p>
<p>You can pick up another gun by walking over or near it. So, if you want to switch from an Uzi to an AK47, all you have to do is look away, press G, and then run up to the AK47.</p>
<p><span style="text-decoration: underline;">Keys , and .</span></p>
<p>The , key will buy a clip of primary ammo, and the . key will buy a clip of secondary ammo. This may not be too clear to begin with, but try them out &#8211; you will soon see what I mean.</p>
<p><span style="text-decoration: underline;">Key Q</span></p>
<p>This is the quick switch key. This will switch from your current weapon to the last one you used if you press it, and back again if you press it again. When every round starts and I buy a primary weapon, I always select my secondary one immediately after. This allows me to switch between my primary and secondary weapons very rapidly.</p>
<p>This key can also be used to help you snipe, because it allows you to &#8217;skip&#8217; the reload (on the awp, this is faster), and it also allows you to look around to check that nobody is sneaking up behind you. A valuable skill <img title="Smile" src="http://tazforum.thetazzone.com/images/smilies/icon_smile.gif" alt=":)" /></p>
<p><span style="text-decoration: underline;">Keys Y and U</span></p>
<p>Press the Y key to talk to everyone. Press it, then type in your message (which will be displayed at the bottom-left corner of the screen) and hit Enter to send it. Hit Escape if you wish to cancel it.</p>
<p>The U key does the same, but you will only say the message to your teammates. The opposite team will not be able to see your message.</p>
<p><span style="text-decoration: underline;">Key F</span></p>
<p>This is your Flashlight button. Press it once to turn your flashlight/torch on, press it again to turn it off. Could it be easier?</p>
<p><span style="text-decoration: underline;">Key T</span></p>
<p>Use this key to spray an image. You can set which image to spray by going to &#8216;Options -&gt; Multiplayer tab&#8217; and changing your spray. The standard image types are all allowed, so you should be able to choose your favourite image. Beware of the larger images, as they may look distorted when you resize them! 256&#215;256 pixels is a good spray size.</p>
<p>Oh, and if you&#8217;re interested in creating a transparent effect (and you know your way around a powerful imaging tool like Photoshop), then you can make an even cooler spray by following either of these tutorials: <a class="postlink" href="http://homepage.ntlworld.com/craigweb2k/Spray_Tut/">click here</a> or <a class="postlink" href="http://sprays.hlgaming.com/tutorials-transparency.php">here</a>.<br />
For more information about sprays, see <a class="postlink" href="http://www.cstrike-planet.com/tutorial/2/3">this tutorial</a>.</p>
<p><span style="text-decoration: underline;">Key M</span></p>
<p>Use this key to change teams, or to become a spectator (if it is allowed). Try it out &#8211; you will soon become familiar with it.</p>
<p><span style="text-decoration: underline;">Ctrl key</span></p>
<p>Use this key to crouch &#8211; this will make your firing more accurate, can protect you if you&#8217;re hiding behind a box (note that wooden boxes can be shot through), and makes you more difficult to hit. Try crouching every time you see an enemy and firing at them &#8211; you should notice a difference.</p>
<p><span style="text-decoration: underline;">Spacebar key</span></p>
<p>Jump. Jump more. Jump a bit more. Jump.</p>
<p>Oh, and to jump higher, use this in conjunction with Ctrl and the key for the direction of movement. Another valuable skill!</p>
<p><span style="text-decoration: underline;">F5 Key</span></p>
<p>By default, this key is the screenshot key. All screenshots will be saved to your C:\Program Files\Valve\Steam\SteamApps\~username\counter-strike source\cstrike\screenshots folder.</p>
<p>Truth be told, I always change the screenshot key to &#8216;V&#8217;. It makes taking screenshots much easier on the hand.</p>
<p><span style="text-decoration: underline;">Key ~ or `</span></p>
<p>This is the key to bring up the console, which we enabled earlier. The console can be used to alter settings, remotely administer the server, and do a myriad of other things. Press the ~ or ` key (this depends on your keyboard) once to bring up the console, and press it again to minimise it.</p>
<p><span style="text-decoration: underline;">W, A, S, D Keys &amp; Mouse</span></p>
<p>These are the standard movement keys found in almost every FPS. And most other games <img title="Wink" src="http://tazforum.thetazzone.com/images/smilies/icon_wink.gif" alt="I'm gagging for a shag" /></p>
<p>W = Forwards<br />
A = Left<br />
S = Backwards<br />
D = Right</p>
<p>Move mouse = Look around<br />
Left mouse button = Fire<br />
Right mouse button = Secondary action. E.g. Adding a silencer, looking down the scope, etc.</p>
<p>Thanks for reading this tutorial. I might make a tactics one later on&#8230; Time will tell <img title="Wink" src="http://tazforum.thetazzone.com/images/smilies/icon_wink.gif" alt="I'm gagging for a shag" /></p>
<p>[edit] You can also use an application called <a class="postlink" href="http://sprayr.scumhunter.net/index.html">SprayR</a> to convert standard images into CS:Source sprays. However, it isn&#8217;t quite perfect yet.. So we will have to wait and see if future releases fix the problem <img title="Smile" src="http://tazforum.thetazzone.com/images/smilies/icon_smile.gif" alt=":)" /></p>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

]]></content:encoded>
			<wfw:commentRss>http://www.thetazzone.com/getting-started-with-counter-strikesource/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brief BF2 tactics tutorial</title>
		<link>http://www.thetazzone.com/brief-bf2-tactics-tutorial/</link>
		<comments>http://www.thetazzone.com/brief-bf2-tactics-tutorial/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 02:18:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general tutorials]]></category>

		<guid isPermaLink="false">http://www.thetazzone.com/?p=838</guid>
		<description><![CDATA[ORIGINALLY POSTED BY ELSPARROW FOR THETAZZONE/TAZFORUM HERE
Do not use, republish, in whole or in part, without the consent of the Author. TheTAZZone policy is that Authors retain the rights to the work they submit and/or post…we do not sell, publish, transmit, or have the right to give permission for such…TheTAZZone merely retains the right to [...]]]></description>
			<content:encoded><![CDATA[<p>ORIGINALLY POSTED BY ELSPARROW FOR THETAZZONE/TAZFORUM <a href="http://tazforum.thetazzone.com/viewtopic.php?f=31&amp;t=1782">HERE</a></p>
<p>Do not use, republish, in whole or in part, without the consent of the Author. TheTAZZone policy is that Authors retain the rights to the work they submit and/or post…we do not sell, publish, transmit, or have the right to give permission for such…TheTAZZone merely retains the right to use, retain, and publish submitted work within it’s Network</p>
<p>Well BF2 is probably one of the most popular MMOFPS games in its genre, and truth be told one of the most buggered up (thanks EA!!).</p>
<p>But of course we all want to get the win and points to advance through rank and unlock weapons and to look cool <img title="Cool" src="http://tazforum.thetazzone.com/images/smilies/icon_cool.gif" alt="8)" /></p>
<p>The aim of this brief tutorial is to provide some basic tactics to keep your K/D ratio down and your points up:</p>
<p><span style="font-weight: bold;">Squads</span></p>
<p>The main sort of squad I operate under is a 2 man squad. This part covers any size. Squads work best when you play with people you know as they will more likely work with you and listen to the leader.</p>
<p>Now at least 1 person in the squad should be a medic. Reason? Well the medic can revive the other members and heal them as well as heal themselves. Generally Squad Leader should not be medic as this allows your medic to spawn on you and is slightly better tactics wise. The recommended gun for any medic is the L85A1. Its scope is good, and both on single shot and automatic it packs good punch. Only use automatic in bursts at medium range and flat out at point blank. Single shot on scope works best on long range.</p>
<p>The Squad Leader can choose any kit he wishes. I generally go as a Spec Ops and once you unlock the Scar-L then you will be pretty well kitted out as I feel it packs a tad more punch than the G36C and the M4.</p>
<p>Of course the best squads carry a mix of personelle in it.  Of course 2 or 3 men limits your combinations.</p>
<p>However with a full 6 man squad I would probably go with the following line out:</p>
<p>-2 Spec Ops (for blowing shit up such as tanks, artillery)<br />
-Assault (the underslung grenade launcher can be used to good effect for removing a sniper or group of soldiers)<br />
-Support (can provide suppressing fire especially with a PKM, and can top up other player&#8217;s ammo)<br />
-2 Medics (to heal and revive comrades. Using 2 medics means if one dies the other can get them back in the action and also helps keep K/D ratios down on the medic side)</p>
<p>The main trick with squads is to use a good leader who can get the UAV on crucial areas needed to pick out enemies and has respect from the squad members. Further more use cover for the whole squad. Don&#8217;t all leg it through the open. If you go 50/50 then 1 half provides covering fire till the 2nd lot reach their objective and can provide cover for you. Walls and corners make effective cover to hide a squad behind while you leader scouts at the area.</p>
<p><span style="font-weight: bold;">Offensive or Defensive?</span></p>
<p>With the aggression of the squad you need to determine which works best for your squad. I personally am of the view Offensive is better. An aggressive 2 man squad can easily storm and capture a CP in my experience. I believe that people struggle to cope with a group that is pushing forwards and activly hunting them down as it forces them to go defensive and can cause confidence to drop.</p>
<p>However if you are defending a CP offense works just as well here as capturing. Waiting for the enemy to come to you gives them more time to plan their attack. If you start going after them, they have less time to plan what to do and they become easier to pick off.</p>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

]]></content:encoded>
			<wfw:commentRss>http://www.thetazzone.com/brief-bf2-tactics-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Business 102</title>
		<link>http://www.thetazzone.com/business-102/</link>
		<comments>http://www.thetazzone.com/business-102/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 02:16:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general tutorials]]></category>

		<guid isPermaLink="false">http://www.thetazzone.com/?p=836</guid>
		<description><![CDATA[ORIGINALLY POSTED BY &#124;3LACK&#124;CE FOR THETAZZONE/TAZFORUM HERE
Do not use, republish, in whole or in part, without the consent of the Author. TheTAZZone policy is that Authors retain the rights to the work they submit and/or post…we do not sell, publish, transmit, or have the right to give permission for such…TheTAZZone merely retains the right to [...]]]></description>
			<content:encoded><![CDATA[<p>ORIGINALLY POSTED BY |3LACK|CE FOR THETAZZONE/TAZFORUM <a href="http://tazforum.thetazzone.com/viewtopic.php?f=31&amp;t=1451">HERE</a></p>
<p>Do not use, republish, in whole or in part, without the consent of the Author. TheTAZZone policy is that Authors retain the rights to the work they submit and/or post…we do not sell, publish, transmit, or have the right to give permission for such…TheTAZZone merely retains the right to use, retain, and publish submitted work within it’s Network</p>
<p>Years ago I posted up a wonderful tutorial somewhere about starting one&#8217;s own business. This is intended to be a continuation of that long-lost tutorial. Perhaps one of our wonderful administrators or I will someday move the first one here&#8230;</p>
<p><span style="font-weight: bold;">So you want to run your own business&#8230;</span></p>
<p>After the permits are procured, and you&#8217;re up and running yourself you should check into advertising. Newspapers are a decent start at advertising, but don&#8217;t expect a really big response. I suggest using a more visible medium where people actually hear or see your ad content. Radio is wonderful, but much more expensive than newspaper ads. I paid 3650 for 1 month of advertising, 2 commercials a day in both the morning and noon &#8216;drives&#8217; (when the most listeners are in their cars going to work or at lunch). The expense came from buying the ad time during peak listening hours, on the number 1 arbitron-rated station in the area. Below are the results of those ads:</p>
<p>Week 1 &#8211; 1 paying customer, 4 estimates<br />
Week 2 &#8211; 4 paying customers, 12 estimates<br />
Week 3 (current week, monday &#8211; today(wednesday) &#8211; 20 paying customers, 7-10 estimates per day and I&#8217;ve hired another employee.</p>
<p>Not a bad start for a business not even listed in the yellow pages, right? Now some nasty little peculiars:</p>
<p>1. Make sure you pick a good marketing rep at the radio station. A bad rep will take your money and you won&#8217;t see any returns on it in the form of customers. She&#8217;ll write you bad commercials or won&#8217;t schedule the ads to air at the right times. I lucked into a good one. Now that I know better I&#8217;d do it this way: Talk to the Station Manager and Programming Director. Find out which salesperson has the best results. Odds are good that the person whom the other businesses in your area go to advertise is the right one for you. I&#8217;ve heard comments from friends saying &#8220;every time I get in my car I hear your commercial&#8221; and &#8220;I just heard your commercial on the radio at work!&#8221;. Keep your ears open for these &#8211; they&#8217;re billboards saying your rep is doing a good job for you.</p>
<p>2. Review your content! Make bloody well sure your ads say everything you want them to, if possible in a humorous manner without insulting the intelligence of the listener. Stupid commercials make you no money, funny ones get you remembered&#8230; Here&#8217;s an example of my morning spot &#8211; for the housecleaning business:</p>
<p>Poker game noises in background. &#8220;the boys&#8221; talking about how they&#8217;re having fun while the wife&#8217;s out of town and how he has 2 weeks without her. Phone rings. Hubby answers. Cool as a cucumber he talks to her and discovers she&#8217;s on her way home. He hangs up the phone. Mass panic ensues. &#8220;Call the Ladies of Clean!&#8221; to superman type music with our blurb about how we&#8217;ll make it look wonderful and fetch groceries too. Wife gets home and is somewhat awed because her house looks better than it did when she left&#8230; Repeat spot talking about our services and phone number.</p>
<p>It&#8217;s a nice 1 minute spot, kinda funny because of &#8216;boys poker night&#8217; and mass-panic with the boys hauling tail outta there. Every time this commercial airs my phone rings, even when it hits at 6:45 am, which leads us to the next major point &#8211; which was also emphasized in tutorial 1.</p>
<p><span style="font-weight: bold;"><span style="text-decoration: underline;">ALWAYS answer your business phone.</span></span></p>
<p>Just like you, people HATE talking to answering machines. This is a very large advantage to a home-based business owner because he&#8217;s always there around the phone. I don&#8217;t care if the bloody thing rings at 3am, I answer it as if it&#8217;s my normal working hours. Paying customers usually call you within 30 minutes of opening or closing times, or right after your commercials air. When I move my business from home to an official office (very soon now since it&#8217;s growing so quickly) I&#8217;ll pay the extra cumshaw for an answering service just so my customers don&#8217;t have to talk to a machine.</p>
<p><span style="font-weight: bold;">Employees and how to handle them</span></p>
<p>1. Take care of your employees. They&#8217;re all you have and your livelyhood rests in their skills. Make bloody well sure you pet their egos occasionally with the &#8216;good job&#8217; or &#8216;I like how you did this&#8217; &#8211; and make bloody well sure you pay them as close to what they&#8217;re worth to you as you&#8217;re able to. My top girl makes more than I do per hour at this point since I&#8217;m only paying myself minimum wage to save &#8216;business money&#8217;. She gets the long-distance call outs because we pay her milage too and know she needs the money. Since hiring her I&#8217;ve taught her not only how to clean a house efficiently and make her customers happy, I&#8217;ve taught her how to do job estimates and our pricing, I&#8217;ve taught her what the advertising costs, and basically the whole business. Next week (time permitting) she learns payroll and the interview process for hiring new girls. My reasoning behind this is that my ace will eventually run the business for me &#8211; she&#8217;s got that kind of smarts and savvy, and it works me out of the loop to pay more attention to important things like advertising and customer follow ups (see later in this tut).</p>
<p>2. The hiring process -<br />
I absolutely, positively refuse to hire &#8216;just anyone off the street&#8217; to do our job. Anyone can clean a house, it&#8217;s true, but not everyone can be trusted to enter someone&#8217;s home without stealing everything inside, and not everyone has the skill to make a customer happy. I look for the following in a potential employee &#8211; both officially and unoffically:</p>
<p>- She MUST be trustworthy. I have the girls all bonded to $10,000 theft/dishonesty so if the issue ever arises I can repay a customer and prosecute/terminate the girl in question, but I really don&#8217;t want my bond rates to go up so I take care beforehand by using background checks, random visits to job sites, and customer follow-ups. When I &#8217;seal the deal&#8217; at a job estimate I also leave them my business card with my cell number on it so if any issue arises it can be addressed IMMEDIATELY.</p>
<p>- She must have a friendly personality and be willing to do anything for our customers. Like honesty, this is an absolute must have. If my customers aren&#8217;t happy I get no repeat business, nor referrals from my customers. &#8220;And they tell two friends, and so on, and so on, etc.&#8221; Is absolute truth. An irate customer will tell seven. You figure out the numbers &#8211; I&#8217;ll hire customer-oriented girls and make bloody well sure they know what I expect from them (which, by the way, is to do anything the customer wants short of lewdness, and we won&#8217;t fetch alcohol &#8211; so sorry, no poker night beer-runs). If my customer wants her oven cleaned, the girls do it (for a $50 extra charge of course) &#8211; baseboards, windows, laundry, dishes, the works. We do it all and the girls are willing and eager to do it too. They know to do this because I make it worthwhile for them to do it &#8211; they know their incentives for going the extra mile, and they know that extra mile means more business for us too which means the whole ball of wax shows up in their paychecks.</p>
<p>- I&#8217;ve had exactly one employee who tried to screw me over &#8211; here&#8217;s how she did it and how I handled it for future employees:</p>
<p>Ex-employee (we&#8217;ll call her &#8220;genious&#8221; from here) decided she&#8217;d undercut our business prices to some of our customers and steal them away from us &#8211; then quit us and went into business for herself cleaning houses. After I find out about it it&#8217;s too late to do anything &#8211; but I&#8217;ve regained those customers because she stopped doing her customer service anyway and I stole &#8216;em back by her same method.</p>
<p>To prevent this in the rest of my crew (now 3 girls, my wife, and myself) I had Mrs|ce draft up a &#8216;conflict of interest&#8217; agreement with our employees, where they all sign and agree to not work in the housecleaning industry for a period of 1 year after they leave our employ. This gives me grounds to sue the crap out of the next one that tries it, and the girls all know it, and it&#8217;s in their &#8216;new hire&#8217; packet with one signed by everyone including myself who was already employed.</p>
<p>Keep your eyes and ears open. Talk to your employees often, not just as &#8216;boss to employee&#8217; but as friend to friend. My girls are my friends, some trusted more than others, but all my friends. I treat them accordingly.</p>
<p><span style="font-weight: bold;"> A tiny bit on unemployment tax</span><br />
After your business is paying out over $1500 in payroll each quarter you must begin to pay unemployment tax. Contact your local workforce commission for details. This is uber-important because if you ever fire an employee and they file unemployment on you if you haven&#8217;t paid taxes yet and should have, you&#8217;re had. Note this also &#8211; if you start your business with 1 employee and don&#8217;t pay that employee enough to meet the $1500 payroll but 2 quarters into the game you&#8217;re running 5 employees a week and ARE hitting that $1500 mark, you must pay unemployment tax for the ENTIRE YEAR TO DATE. If you anticipate growing your business over that mark, pay the tax before you have to and save the BIG CHUNK shock when you do have to&#8230;</p>
<p><span style="font-weight: bold;">The Infernal Revinue Stealers and Employees</span></p>
<p>NOTE: The great state of Texas, where I do business, has no state income tax so this will NOT be addressed in this tutorial. If you want to do business somewhere other than Texas I strongly suggest you do your homework on State Income Tax withholding, and comply accordingly. If you&#8217;re really feeling nice you can post a tut all about it here <img title="Wink" src="http://tazforum.thetazzone.com/images/smilies/icon_wink.gif" alt="I'm gagging for a shag" /></p>
<p>Having a small business with actual employees is vastly different from the one-man operation I had with my old computer business &#8211; here&#8217;s the financial differences:</p>
<p>1. IRS (hereafter referred to as &#8216;those bastards&#8217;) &#8211; requires that you deduct Federal Income Tax withholdings and Social Security (aka FICA) from your employee&#8217;s paychecks (and yours if you treat yourself as an employee to avoid self-employment tax like I do) &#8211; and pay them each pay period through a program called EFTPS (aka: the bastards I pay). In addition <span style="font-weight: bold;">The Business Must MATCH</span> any FICA deductions from an employee paycheck. This means that if you hold 10 bucks out of your employee&#8217;s check for FICA, you pay those bastards 20. Got it? good. Let&#8217;s give a better example:</p>
<p>Joe&#8217;s Monkey Business has 3 employees &#8211; making $5 per hour, all of them get 40 hours per week, and payroll runs weekly:</p>
<p>Fred is married with 2 dependents<br />
Joe is single with no dependents<br />
Trudy is married but wants withholdings at single no dependents rate</p>
<p>All on the up and up, and legal. Here&#8217;s what payroll will look like -</p>
<p>Fred &#8211; 40 hours@$5.00 = $200 gross pay.  FIT withheld is $0, FICA $12.40<br />
Net pay $187.60.</p>
<p>Joe &#8211; 40hours@$5.00 = $200 gross pay. FIT withheld is $16, FICA $12.40<br />
Net pay $171.60</p>
<p>Trudy &#8211; 40hours@$5.00 = $200 gross pay. FIT is $16, FICA $12.40<br />
Net pay $171.60</p>
<p>SO to those bastards I pay -<br />
$106.40  broken down as:<br />
$24.80 for Fred&#8217;s FICA, and $40.80 each for Joe and Trudy.</p>
<p>Calculating FICA is the easy part &#8211; currently it&#8217;s 6.2% of gross pay, with the business matching. FIT has to be looked up on a handy table in the same publication that tells you how much FICA to withhold &#8211; titled<br />
<span style="text-decoration: underline;">Publication 15 (Circular E), Employer&#8217;s Tax Guide (Including 2006 Wage Withholding and Advance Earned Income Credit Payment Tables)</span></p>
<p>This book is updated YEARLY every January, so make friends with those bastards and get that publication every year. Don&#8217;t forget or you&#8217;re in a world of trouble.</p>
<p>How often do you pay those bastards? Ideally every payroll, but they don&#8217;t get cranky until you put it off for 1 month &#8211; so at 1 month make bloody well sure they&#8217;re paid, because at 1 month and 1 day if the check isn&#8217;t in their hands, your business is closed, no exceptions.</p>
<p>Before we go further I should back up a bit and tell you about a permit not mentioned in my previous tutorial &#8211; it&#8217;s called an &#8220;Employee Identification Number&#8221; and you get it from those bastards. In a small business that has no employees your social security number doubles as your EIN. If you have even one employee, you must have this number. You&#8217;ve also got to have it for EFTPS and it takes 3 weeks after being assigned a permanent one to sign up for EFTPS, so make bloody well sure you procure it at least 3 weeks before your first paychecks get cut. You can order the form to do it from those bastards, or if you&#8217;re fortunate and have a those bastards office in your hometown like I do, you can pay them a visit and get told to fill it out and call them &#8211; or you can do it online which is easiest &#8211; it takes about a minute.</p>
<p>Also I strongly suggest contacting your local &#8216;workforce commission&#8217; in regards to unemployment taxes</p>
<p><span style="font-weight: bold;">A final, vastly important point before I close this up &#8211; Recordkeeping</span></p>
<p>I saved the absolutey no-holds-barred number one most important point above all else for last.  I cannot stress this enough.</p>
<p><span style="font-weight: bold;"><span style="text-decoration: underline;">KEEP RECORDS OF EVERYTHING!!!!!!!!!!!</span></span></p>
<p>Got that?</p>
<p>IRS (those bastards) NEVER do anything unless it&#8217;s in writing. Make damn sure you comply or THEY WILL OWN YOU!</p>
<p>Let me repeat this:</p>
<p>Don&#8217;t lie to those bastards. Don&#8217;t hide anything from them. Keep records of everything. Every nickel in, every nickel out. Tell them. Treat those bastards like your best friend and make damn sure they&#8217;re happy. These people can not only sieze your burgeoning business, they can also seize everything you own and leave you living in the streets or worse.</p>
<p>Now &#8211; that being said &#8211; what do you do with those nasty lil records?</p>
<p>I&#8217;m not sure of any law that requires me to do so, but I keep records for at least 10 years. My reasoning is that the IRS only audits back 7 years so if I keep &#8216;em 10 I&#8217;m safe and covered. I keep both hardcopy and electronic copies of all of my records &#8211; the hardcopies go into a handy storeroom I&#8217;ve rented offsite, the electronic ones go into my fireproof safe in my home. If those bastards want to know about the business lunch I took 10 years ago (and they might) I can tell them. Included with each (I suggest those rubbermaid totes, it&#8217;s what I use) box of file folders and records is a journal for that period of activity. I keep this journal on a daily basis &#8211; and it lists everything I do with the business in a quick format &#8211; 8am-10am answered business phones, did recordkeeping. 11am-noon did business lunch with Joe Monkey, a potential client, and Fred Monkey, his boss who is also a potential commercial client. 1pm-5pm did payroll, employee spot-checks and customer follow ups..<br />
You get the picture.</p>
<p>When I fill a tote I close the journal, put it inside, and start a new one.<br />
NOTE this journal is NOT for appointment setting &#8211; I&#8217;ve a different book for that one plus a nice lil software package that can handle it too. I like being redundant with my customer info &#8211; in addition each employee carries a day planner with her appointments in it for each day, plus any notes the business has on her customers for that day &#8211; so she knows that Trudy Tightwad is picky about her knick-knack shelves and Joey Oilman likes his bed made so tightly a quarter jumps to the moon&#8230; All of this is kept both in hardcopy and in my computer so it&#8217;s never forgotten. My customer&#8217;s happiness is paramont. Shucks, I even send &#8216;em birthday and Christmas cards, as well as a &#8216;we haven&#8217;t heard from you in awhile&#8217; letter if it&#8217;s been over a month since their last visit &#8211; all from the info I keep. I NEVER reveal my customer&#8217;s information to ANYONE &#8211; I hate being spammed/telemarketed, and I know my customers do too, plus someday it&#8217;s this same information that&#8217;ll be worth the megabucks when I sell the business.</p>
<p><span style="font-weight: bold;"><span style="text-decoration: underline;">A couple of final notes regarding domestic and commercial cleaning</span></span></p>
<p>1. The whole reason we went into this field is because we needed a cleaning person and every agency we called wanted an arm and leg for nearly nothing &#8211; basic cleaning only, no dishes, no ovens, no laundry, no windows. I got sick of hearing &#8216;NO&#8217; and even sicker when I heard their prices. &#8220;Ladies of Clean&#8221; was born from the cleaning girl we did eventually hire who was willing to do anything we needed, cheaper, my wife, and myself. Our motto is &#8216;Whatever it takes&#8217; &#8211; we do everything our competitors don&#8217;t, and we do it all cheaper. We don&#8217;t tell prices over the phone ever because we want the personal visit to their home and to show them the price comparison sheet (yes, we did a bit of pretending and called our competitors, who do give prices over the phone) showing where we beat the hell out of them <img title="Wink" src="http://tazforum.thetazzone.com/images/smilies/icon_wink.gif" alt="I'm gagging for a shag" /> To date I&#8217;ve had very few who didn&#8217;t like us not giving prices over the phone (probably our competitors who want our pricelist) and very few who &#8216;had to think about it&#8217; when it came time to seal the deal &#8211; our price is *that* good, and I&#8217;ll show you how we do it in the next step.</p>
<p>2. We base our price on the job, not the customer. It&#8217;s a simple process really &#8211; we find out exactly what the customer wants. We figure up how much time it will take. We figure overhead which is broken down *by the day* and is in the head of the person who&#8217;s doing the estimate, and we mark all that up by 10% &#8211; that&#8217;s it. We make 10% over overhead on each job and we do twice what our competitors do, and we&#8217;re making a killing at it.</p>
<p>3. We diversified -<br />
Once again and I can&#8217;t stress this enough &#8211; we do what our competitors won&#8217;t, for a lower price. In a 4 hour cleaning (which is average for a 3br house) we will do 3 loads of laundry, 1 load of dishes (or 2 if there&#8217;s 2 loads worth), windows, baseboards, ceiling fans, the works. We&#8217;ll take more time and go fetch your groceries at the closest market (that costs extra), or clean your oven (that costs extra too, and it&#8217;s easy money since the chemical does 99% of the work and the girl can clean house in between working on the oven).</p>
<p>Next month we&#8217;re adding in a &#8216;hubby for hire&#8217; service for those handyman jobs that need doing &#8211; at a fat $30 per hour since there&#8217;s no competitors in the area. My eagle&#8217;s hubby is dying to get involved at it since I offered him $15 per hour to do it and he&#8217;s making less than 10 at his current job. It&#8217;ll be part time until business in that aspect picks up, and he knows it, and is willing to be ready when we need him (thankfully his job lets him take off whenever he needs to for any reason and doesn&#8217;t mind&#8230;) If jobs are too big for him to handle I&#8217;ll subcontract this to whatever area professional can get the job done &#8211; plumbing? I know a plumber who&#8217;ll do it for $10/hour. Carpentry? same thing, just $15. Get the picture? Even when subcontracted I&#8217;m making money, which is the point. They do the work, I sit under the shade-tree drinking iced tea and schmoozing with the customer while they sweat and bust arse. Hell, we&#8217;ll even roof your house, but remember it&#8217;s $30 an hour per person&#8230; a crew of 6 means a fat $180 an hour for 12 hours&#8230;and roofs come from the roofing company at $75 a square with the average house having 4-6 squares of roof (12 hour job) &#8211; this means for a $450 job I&#8217;m getting $2160 doing nothing but placing a phone call and making my customer happy <img title="Wink" src="http://tazforum.thetazzone.com/images/smilies/icon_wink.gif" alt="I'm gagging for a shag" /> My subcontractors are all aware how much I&#8217;m making and are happy with it because they&#8217;re already making their nut with their usual fees.<br />
Yard work you say? Not a problem says I &#8211; I go down to the local temp employment agency, pay them $10 an hour (from which they give $6 an hour to an unskilled laborer) and I make $30 an hour sittin in the shade&#8230;</p>
<p><span style="font-weight: bold;">In Conclusion</span></p>
<p>Business is all a game. You win, you lose, you break even. It&#8217;s all in how you handle yourself in the &#8216;losing&#8217; and &#8216;breaking even&#8217; points that make the difference. Don&#8217;t limit yourself by your own personal knowledge when deciding which business to start up &#8211; you can learn, which is the biggest aspect of being a businessman. My IT skills help me setting and keeping records and getting things done quickly and efficently. I know ZERO about cleaning a house, putting on a roof, doing plumbing, and nearly zero about doing home repairs or yard work. I don&#8217;t need to &#8211; that&#8217;s why I have employees and I make money on their labors, enough to pay myself, my rent, my bills, my advertising, the works.</p>
<p>Questions? Comments? Feel free to add &#8211; I don&#8217;t profess to know everything about small businesses, but I&#8217;ll give responses my best effort.[/b]</p>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

]]></content:encoded>
			<wfw:commentRss>http://www.thetazzone.com/business-102/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
