<?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>Technology, Computer, Network and Games Cheat &#187; SOFTWARE</title>
	<atom:link href="http://www.gamescheat.ca/tag/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gamescheat.ca</link>
	<description>Day to day technical how to - by Andrew Lin</description>
	<lastBuildDate>Thu, 26 May 2011 18:48:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Blat a Windows command line utility to send email with attachment.</title>
		<link>http://www.gamescheat.ca/2009/08/blat-a-windows-command-line-utility-to-send-email-with-attachment/</link>
		<comments>http://www.gamescheat.ca/2009/08/blat-a-windows-command-line-utility-to-send-email-with-attachment/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 16:07:47 +0000</pubDate>
		<dc:creator>Andrew Lin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[SOFTWARE]]></category>

		<guid isPermaLink="false">http://www.gamescheat.ca/?p=433</guid>
		<description><![CDATA[Blat is a handy command line utility that sends email with attachment using SMTP. It can also be used to post to usenet using NNTP. It is not an SMTP server, you will need an SMTP server for Blat to send email. Blat can be downloaded from blat.net, it is very wasy to use. You [...]]]></description>
			<content:encoded><![CDATA[<p>Blat is a handy command line utility that sends email with attachment using SMTP.  It can also be used to post to usenet using NNTP.  It is not an SMTP server, you will need an SMTP server for Blat to send email.</p>
<p>Blat can be downloaded from blat.net, it is very wasy to use.  You don&#8217;t even have to install it, although the install option does exist.</p>
<p>Here are the steps I tool to get Blat working on my Windows 2003 server.</p>
<p>Download Blat from blat.net and extract the files to any folder.  In my case I put it in c:\tools\blat262. There are two subdirectories docs and full.  Full is where the executable and dll are.</p>
<p>Below is the syntax to email a file from the command line.<br />
<strong>c:\tools\blat262\full\blat c:\file\attchment.txt -to recipient@technology.com -f sender@email.com -s &#8220;How to send email using blat&#8221; -server smtp.server.com</strong></p>
<p>Save the above command in a batch file and you can schedule it to run whenever. The content of the file attachment.txt is embedded in the body of the email, not an attchment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gamescheat.ca/2009/08/blat-a-windows-command-line-utility-to-send-email-with-attachment/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Robocopy a great replacement for copy and xcopy.</title>
		<link>http://www.gamescheat.ca/2009/04/robocopy-a-great-replacement-for-copy-and-xcopy/</link>
		<comments>http://www.gamescheat.ca/2009/04/robocopy-a-great-replacement-for-copy-and-xcopy/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 20:01:31 +0000</pubDate>
		<dc:creator>Andrew Lin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Microsoft Windows Server]]></category>
		<category><![CDATA[Robocopy]]></category>
		<category><![CDATA[SOFTWARE]]></category>

		<guid isPermaLink="false">http://www.gamescheat.ca/?p=223</guid>
		<description><![CDATA[Robocopy a saviour tool for the Server Administrators. This is a great replacement for the old DOS copy and xcopy command which have many limitations. That&#8217;s not to say that these commands should be retired, I still used them regularly. But when I need to copy a large directory with all the attributes intact, I [...]]]></description>
			<content:encoded><![CDATA[<p>Robocopy a saviour tool for the Server Administrators.  This is a great replacement for the old DOS copy and xcopy command which have many limitations.  That&#8217;s not to say that these commands should be retired, I still used them regularly.  But when I need to copy a large directory with all the attributes intact, I use robocopy which can tolerate interruption to the network services.</p>
<p>For those who are command line challanged, there is a GUI (graphical) version of Robocopy.  Please see my article for the GUI version of <a href="http://www.gamescheat.ca/2009/09/robocopy-gui-makes-copying-files-across-the-network-easy-with-the-click-of-the-mouse/">Robocopy</a> here, http://www.gamescheat.ca/2009/09/robocopy-gui-makes-copying-files-across-the-network-easy-with-the-click-of-the-mouse/</p>
<p>C:\>robocopy help</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;&#8212;&#8212;&#8212;-<br />
   ROBOCOPY     ::     Robust File Copy for Windows     ::     Version XP010<br />
&#8212;&#8212;&#8212;&#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>  Started : Thu Apr 30 16:00:09 2009</p>
<p>   Source : C:\help\<br />
     Dest -</p>
<p>    Files : *.*</p>
<p>  Options : *.* /COPY:DAT /R:1000000 /W:30</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;&#8212;&#8212;&#8212;</p>
<p>ERROR : No Destination Directory Specified.</p>
<p>       Simple Usage :: ROBOCOPY source destination /MIR</p>
<p>             source :: Source Directory (drive:\path or \\server\share\path).<br />
        destination :: Destination Dir  (drive:\path or \\server\share\path).<br />
               /MIR :: Mirror a complete directory tree.</p>
<p>    For more usage information run ROBOCOPY /? or read Robocopy.Doc.</p>
<p>NOTE: Read &#8220;True Replication&#8221; in Robocopy.Doc prior to first use of /MIR !<br />
****  /MIR can DELETE files as well as copy them !</p>
<p>C:\>help robocopy<br />
This command is not supported by the help utility.  Try &#8220;x /?&#8221;.</p>
<p>C:\>robocopy /?</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;&#8212;&#8212;&#8212;-<br />
   ROBOCOPY     ::     Robust File Copy for Windows     ::     Version XP010<br />
&#8212;&#8212;&#8212;&#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>  Started : Thu Apr 30 16:00:22 2009</p>
<p>              Usage :: ROBOCOPY source destination [file [file]&#8230;] [options]</p>
<p>             source :: Source Directory (drive:\path or \\server\share\path).<br />
        destination :: Destination Dir  (drive:\path or \\server\share\path).<br />
               file :: File(s) to copy  (names/wildcards: default is &#8220;*.*&#8221;).</p>
<p>::<br />
:: Copy options :<br />
::<br />
                 /S :: copy Subdirectories, but not empty ones.<br />
                 /E :: copy subdirectories, including Empty ones.<br />
             /LEV:n :: only copy the top n LEVels of the source directory tree.</p>
<p>                 /Z :: copy files in restartable mode.<br />
                 /B :: copy files in Backup mode.<br />
                /ZB :: use restartable mode; if access denied use Backup mode.</p>
<p>  /COPY:copyflag[s] :: what to COPY (default is /COPY:DAT).<br />
                       (copyflags : D=Data, A=Attributes, T=Timestamps).<br />
                       (S=Security=NTFS ACLs, O=Owner info, U=aUditing info).</p>
<p>               /SEC :: copy files with SECurity (equivalent to /COPY:DATS).<br />
           /COPYALL :: COPY ALL file info (equivalent to /COPY:DATSOU).<br />
            /NOCOPY :: COPY NO file info (useful with /PURGE).</p>
<p>             /PURGE :: delete dest files/dirs that no longer exist in source.<br />
               /MIR :: MIRror a directory tree (equivalent to /E plus /PURGE).</p>
<p>               /MOV :: MOVe files (delete from source after copying).<br />
              /MOVE :: MOVE files AND dirs (delete from source after copying).</p>
<p>       /A+:[RASHNT] :: add the given Attributes to copied files.<br />
       /A-:[RASHNT] :: remove the given Attributes from copied files.</p>
<p>            /CREATE :: CREATE directory tree and zero-length files only.<br />
               /FAT :: create destination files using 8.3 FAT file names only.<br />
               /FFT :: assume FAT File Times (2-second granularity).<br />
               /256 :: turn off very long path (> 256 characters) support.</p>
<p>             /MON:n :: MONitor source; run again when more than n changes seen.<br />
             /MOT:m :: MOnitor source; run again in m minutes Time, if changed.</p>
<p>      /RH:hhmm-hhmm :: Run Hours &#8211; times when new copies may be started.<br />
                /PF :: check run hours on a Per File (not per pass) basis.</p>
<p>             /IPG:n :: Inter-Packet Gap (ms), to free bandwidth on slow lines.</p>
<p>::<br />
:: File Selection Options :<br />
::<br />
                 /A :: copy only files with the Archive attribute set.<br />
                 /M :: copy only files with the Archive attribute and reset it.<br />
    /IA:[RASHCNETO] :: Include only files with any of the given Attributes set.<br />
    /XA:[RASHCNETO] :: eXclude files with any of the given Attributes set.</p>
<p> /XF file [file]&#8230; :: eXclude Files matching given names/paths/wildcards.<br />
 /XD dirs [dirs]&#8230; :: eXclude Directories matching given names/paths.</p>
<p>                /XC :: eXclude Changed files.<br />
                /XN :: eXclude Newer files.<br />
                /XO :: eXclude Older files.<br />
                /XX :: eXclude eXtra files and directories.<br />
                /XL :: eXclude Lonely files and directories.<br />
                /IS :: Include Same files.<br />
                /IT :: Include Tweaked files.</p>
<p>             /MAX:n :: MAXimum file size &#8211; exclude files bigger than n bytes.<br />
             /MIN:n :: MINimum file size &#8211; exclude files smaller than n bytes.</p>
<p>          /MAXAGE:n :: MAXimum file AGE &#8211; exclude files older than n days/date.<br />
          /MINAGE:n :: MINimum file AGE &#8211; exclude files newer than n days/date.<br />
          /MAXLAD:n :: MAXimum Last Access Date &#8211; exclude files unused since n.<br />
          /MINLAD:n :: MINimum Last Access Date &#8211; exclude files used since n.<br />
                       (If n < 1900 then n = n days, else n = YYYYMMDD date).</p>
<p>                /XJ :: eXclude Junction points. (normally included by default).</p>
<p>::<br />
:: Retry Options :<br />
::<br />
               /R:n :: number of Retries on failed copies: default 1 million.<br />
               /W:n :: Wait time between retries: default is 30 seconds.</p>
<p>               /REG :: Save /R:n and /W:n in the Registry as default settings.</p>
<p>               /TBD :: wait for sharenames To Be Defined (retry error 67).</p>
<p>::<br />
:: Logging Options :<br />
::<br />
                 /L :: List only - don't copy, timestamp or delete any files.<br />
                 /X :: report all eXtra files, not just those selected.<br />
                 /V :: produce Verbose output, showing skipped files.<br />
                /TS :: include source file Time Stamps in the output.<br />
                /FP :: include Full Pathname of files in the output.</p>
<p>                /NS :: No Size - don't log file sizes.<br />
                /NC :: No Class - don't log file classes.<br />
               /NFL :: No File List - don't log file names.<br />
               /NDL :: No Directory List - don't log directory names.</p>
<p>                /NP :: No Progress - don't display % copied.<br />
               /ETA :: show Estimated Time of Arrival of copied files.</p>
<p>          /LOG:file :: output status to LOG file (overwrite existing log).<br />
         /LOG+:file :: output status to LOG file (append to existing log).</p>
<p>               /TEE :: output to console window, as well as the log file.</p>
<p>               /NJH :: No Job Header.<br />
               /NJS :: No Job Summary.</p>
<p>::<br />
:: Job Options :<br />
::<br />
       /JOB:jobname :: take parameters from the named JOB file.<br />
      /SAVE:jobname :: SAVE parameters to the named job file<br />
              /QUIT :: QUIT after processing command line (to view parameters).</p>
<p>              /NOSD :: NO Source Directory is specified.<br />
              /NODD :: NO Destination Directory is specified.<br />
                /IF :: Include the following Files.</p>
<p>Below is an excerpt from Wikipedia:</p>
<p>Features<br />
Robocopy is notable for capabilities above and beyond the built-in Windows copy and xcopy commands, including the following:</p>
<p>Ability to tolerate network outages and resume copying where it previously left off (incomplete files are noted with a date stamp corresponding to 1980-01-01 and contain a recovery record so Robocopy knows from where to continue).<br />
Ability to correctly copy attributes, owner information, alternate data streams, auditing information, and timestamps by default, without the need for numerous often forgotten command line switches.<br />
Ability to correctly copy NTFS ACLs, (when /COPYALL provided), and to assert the Windows NT "backup right" (/B) so an administrator may copy an entire directory, including files denied readability to the administrator.<br />
Persistence by default, with a programmable number of automatic retries if a file cannot be opened.<br />
A "mirror" mode, which keeps trees in sync by optionally deleting files out of the destination that are no longer present in the source.<br />
Ability to copy large numbers of files that would otherwise crash the built-in XCOPY utility.<br />
A progress indicator on the command line that updates continuously.<br />
Notably, Robocopy cannot copy open files that are in use by other users or applications. The so-called Backup mode is an administrative privilege that allows Robocopy to override permissions settings (specifically, NTFS ACLs) for the purpose of making backups. The Windows Volume Shadow Copy service is the only Windows subsystem that can copy open files while they are in use. Robocopy does not implement accessing the Volume Shadow Copy service in any way, inhibiting its usefulness as a backup utility for volumes that may be in use. However, one can use separate utilities such as VSHADOW or DISKSHADOW (included with Windows Server 2008) to create a shadow copy of a given volume with which to backup using Robocopy.</p>
<p>On the other hand, by design, the original Robocopy version is not able to replicate security attributes of files which have had their security permissions changed after an initial mirroring. [1] This behavior was fixed on Robocopy versions included in Windows 2008 and Windows Vista. The downside of this approach is that it means Robocopy does not behave consistently between different platforms. [2]</p>
<p>[edit] GUI front-end<br />
Although Robocopy itself is a command-line tool, Microsoft Technet has also provided a <a href="http://www.gamescheat.ca/?p=451">GUI</a> front-end, the GUI requires the .NET Framework 2.0. It has been developed by Derk Benisch, a systems engineer with the MSN Search group at Microsoft.[3] Robocopy GUI also includes version XP026 of Robocopy (Vista version). When downloaded from the TechNet link below, the version reported is &#8220;Microsoft Robocopy GUI 3.1.2.&#8221; When this version of RoboCopy is run, it then reports on its header:</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gamescheat.ca/2009/04/robocopy-a-great-replacement-for-copy-and-xcopy/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to include a HTML file in a PHP-Nuke module.</title>
		<link>http://www.gamescheat.ca/2008/02/how-to-include-a-html-file-in-a-php-nuke-module/</link>
		<comments>http://www.gamescheat.ca/2008/02/how-to-include-a-html-file-in-a-php-nuke-module/#comments</comments>
		<pubDate>Sat, 16 Feb 2008 22:04:42 +0000</pubDate>
		<dc:creator>Andrew Lin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[PHP-Nuke]]></category>
		<category><![CDATA[SOFTWARE]]></category>

		<guid isPermaLink="false">http://www.gamescheat.ca/2008/02/16/how-to-include-a-html-file-in-a-php-nuke-module/</guid>
		<description><![CDATA[From what we have said about the structure of a PHP-Nuke module (see Section 21.1), it is easy to include a HTML file in a module &#8211; all we have to do is use the PHP include command, to include it between the calls to OpenTable() and CloseTable() functions: Create a folder under the modules [...]]]></description>
			<content:encoded><![CDATA[<p>From what we have said about the structure of a PHP-Nuke module (see Section 21.1), it is easy to include a HTML file in a module &#8211; all we have to do is use the PHP include command, to include it between the calls to OpenTable() and CloseTable() functions:</p>
<p>Create a folder under the modules directory. Call it whatever you like, but take care to replace blanks with underscores in the name.</p>
<p>Using a decent text editor (see Chapter 11), create a text file called index.php in that newly created directory.</p>
<p>Copy the following code in index.php:</p>
<p>&lt;?php<br />
/********************************/<br />
/* PHP-NUKE: Web Portal System */<br />
/* =================  */<br />
/*  */<br />
/* PHP-Nuke-HOWTO module for &lt;application&gt;PHP-Nuke&lt;/application&gt; */<br />
/*  */<br />
/* Copyright (c) 2003 index.php  */<br />
/* by Chris   */<br />
/* www. karakas-online. */<br />
/* */<br />
/* See licence.html for the Licence of the other files */<br />
/* distributed together with this index.php file.  */<br />
/*  */<br />
/* This program is free software. You can redistribute it and/or modify */<br />
/* it under the terms of the General Public License as published by */<br />
/* the Free Software Foundation; either version 2 of the License.Â  */<br />
/***********************************/<br />
if (!eregi(&#8220;modules.php&#8221;, $PHP_SELF)) {<br />
Â  die (&#8220;You can&#8217;t access this file directly&#8230;&#8221;);<br />
}<br />
$index = 0;Â Â  // 0 : do not show right blocks &#8211; 1:show right blocks<br />
require_once(&#8220;mainfile.php&#8221;);<br />
$module_name = basename(dirname(__FILE__));<br />
include(&#8220;header.php&#8221;);<br />
OpenTable();<br />
include(&#8220;path/to/the/html/file&#8221;); // &lt;&#8211; CHANGE THIS!<br />
CloseTable();<br />
include(&#8220;footer.php&#8221;);<br />
?&gt;</p>
<p>Change the licence to reflect your decisions. Of course, I urge you to use the GNU General Public License whenever possible, to help the cause of free software &#8211; PHP-Nuke is itself set under the GPL, after all, so why would you want a different licence for your module?.</p>
<p>Then just enter the right path to the HTML file you want to include, replacing the &#8220;path/to/the/html/file&#8221; string. This can be either a full filesystem path, or a relative one &#8211; relative to the PHP-Nuke root directory, which is always the same directory where config.php is located. But it may also very well be a URL to a HTML file of another site. Examples:</p>
<p>include(&#8220;/usr/local/httpd/htdocs/myfile.html&#8221;); // absolute filesystem path<br />
include(&#8220;modules/PHP-Nuke_HOWTO/cookies.html&#8221;); // relative filesstem path<br />
include(&#8220;http://www.wiivil.com/ filexx.html&#8221;); // full URL</p>
<p>Finally, activate the module from the modules administration (see Section 9.3).</p>
<p>Â Javascript in modules<br />
Â  There is nothing that prevents you from including a file that contains Javascript code in a module. As long as the Javascript functions defined in the included file are not also present in the includes/javascript.php file (see Section 21.9.1), and the HTML page created with the Javascript does not break the table layout of your theme, there should be no problem. In this way you could create a PHP-Nuke Guestbook module, for example, if you already had the Javascript code for a guestbook (see Javascript in themes).<br />
Â </p>
<p>If you want to include two files in the module, so that they appear side-by-side, rather than one after the other, you can use the usual HTML table trick to show the files in two separate cells of the same table row (see Using &#8220;include&#8221; for HTML pages):</p>
<p>OpenTable();<br />
echo &#8220;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&#8221;;<br />
include (&#8220;page.html&#8221;);<br />
echo &#8220;&lt;/td&gt;&lt;td&gt;&#8221;;<br />
include (&#8220;page2.html&#8221;);<br />
echo &#8220;&lt;/td&gt;&lt;/tr&gt;&lt;/table&#8221;;<br />
CloseTable();</p>
<p>An alternative way to include a HTML file in the module, is to terminate PHP interpretation of the file with a closing ?&gt;, include the HTML code verbatim and then reopen the PHP context with a new &lt;?php line:</p>
<p>&lt;?php<br />
if (!eregi(&#8220;modules.php&#8221;, $PHP_SELF)) {<br />
die (&#8220;You can&#8217;t access this file directly&#8230;&#8221;);<br />
}<br />
$index = 0;Â Â  // 0 : do not show right blocks &#8211; 1:show right blocks<br />
require_once(&#8220;mainfile.php&#8221;);<br />
$module_name = basename(dirname(__FILE__));<br />
include(&#8220;header.php&#8221;);<br />
OpenTable();<br />
?&gt;<br />
PUT YOUR HTML CODE HERE, WHATEVER COMES BETWEEN THE &lt;html&gt; AND &lt;/html&gt;<br />
TAGS OF YOUR HTML FILE<br />
&lt;?php<br />
CloseTable();<br />
include(&#8220;footer.php&#8221;);<br />
?&gt;</p>
<p>Note that we have inserted a closing ?&gt; after the call to OpenTable() and an opening &lt;?php before the call to CloseTable(). Whatever comes in between, should be plain HTML code, not PHP. This method is suitable for small HTML texts, for larger texts the include method is recommended.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gamescheat.ca/2008/02/how-to-include-a-html-file-in-a-php-nuke-module/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

