<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7407698</id><updated>2011-08-22T09:05:32.095-07:00</updated><title type='text'>Computer Tricks</title><subtitle type='html'>This is the place to save all the "computer tricks" that I happen to stumble at, and that I think useful enough to share with the community</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://computertricks.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://computertricks.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>mlopes</name><uri>http://www.blogger.com/profile/09742734048543481939</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://www.cultalg.pt/icons/mc_portugal.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7407698.post-108979625845275868</id><published>2004-07-14T02:10:00.000-07:00</published><updated>2004-07-14T02:12:05.310-07:00</updated><title type='text'>Verifying input to be passed to a SQL statement in VBScript</title><content type='html'>This is a very common mistake made when passing user supplied data to a SQL statement in VBScript:&lt;br /&gt;&lt;br /&gt;strUserData=request.form("Name")&lt;br /&gt;strSQLData="select Name from UserNames where Name='" &amp; strUserData &amp; '"&lt;br /&gt;&lt;br /&gt;If the string in Name contains a single quotation mark it will break the string and possibly returning a sql error or worse be used by someone with bad intentions to corrupt you database or steal information.&lt;br /&gt;&lt;br /&gt;One way around this is to make a function that replaces each single quote for double quotes, so that David's would be rendered as David''s, the final string would look like:&lt;br /&gt;&lt;br /&gt;Select Name from UserNames where Name='David''s'&lt;br /&gt;&lt;br /&gt;The Function would be:&lt;br /&gt;&lt;br /&gt;Function Quotes(strInput)&lt;br /&gt;strInput=replace(strInput,"'","''")&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;This function can then be included in any page that uses SQL Statements:&lt;br /&gt;&lt;br /&gt;strUserData=Quotes(request.form("Name"))&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7407698-108979625845275868?l=computertricks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computertricks.blogspot.com/feeds/108979625845275868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7407698&amp;postID=108979625845275868' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default/108979625845275868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default/108979625845275868'/><link rel='alternate' type='text/html' href='http://computertricks.blogspot.com/2004/07/verifying-input-to-be-passed-to-sql.html' title='Verifying input to be passed to a SQL statement in VBScript'/><author><name>mlopes</name><uri>http://www.blogger.com/profile/09742734048543481939</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://www.cultalg.pt/icons/mc_portugal.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7407698.post-1089646749460010</id><published>2004-07-12T08:22:00.000-07:00</published><updated>2004-07-12T08:40:23.816-07:00</updated><title type='text'>Practical differences in code, from HTML to XHTML</title><content type='html'>The following list summarizes the major code differences between HTML and XHTML:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Including the processing instruction line (the XML prolog) is recommended, but not required:&lt;/li&gt;&lt;span class="code"&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="iso-8859-1"?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;li&gt;Doctype declaration is required:&lt;/li&gt;&lt;span class="code"&gt;&lt;br /&gt;&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;li&gt;Namespace designation is required:&lt;/li&gt;&lt;span class="code"&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;li&gt;Html, head, body, and title elements are required:&lt;/li&gt;&lt;span class="code"&gt;&lt;br /&gt;&amp;lt;html&gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;head&amp;gt;&lt;br /&gt;        &amp;lt;title&amp;gt;Page Title&amp;lt;/title&amp;gt;&lt;br /&gt;    &amp;lt;/head&amp;gt;&lt;br /&gt;    &amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt/html&amp;gt&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;li&gt;Tags and attributes must be lowercase:&lt;/li&gt;&lt;span class="code"&gt;&lt;br /&gt;&amp;lt;p class="bodytxt"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;li&gt;Attribute values must be quoted:&lt;/li&gt;&lt;span class="code"&gt;&lt;br /&gt;font-size="large"&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;li&gt;Non-empty tags must be terminated with a closing tag:&lt;/li&gt;&lt;span class="code"&gt;&lt;br /&gt;&amp;lt;p&amp;gt;text&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;li&gt;Empty tags (e.g., hr, br, img) must incorporate a slash:&lt;/li&gt;&lt;span class="code"&gt;&lt;br /&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;li&gt;Elements can't overlap—they must nest properly:&lt;/li&gt;&lt;span class="code"&gt;&lt;br /&gt;&amp;lt;em&amp;gt;&amp;lt;strong&amp;gt;text&amp;lt;/strong&amp;gt;&amp;lt;/em&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;This isn't a complete list of code differences between HTML and XHTML, but it includes most of the common issues.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7407698-1089646749460010?l=computertricks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computertricks.blogspot.com/feeds/1089646749460010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7407698&amp;postID=1089646749460010' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default/1089646749460010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default/1089646749460010'/><link rel='alternate' type='text/html' href='http://computertricks.blogspot.com/2004/07/practical-differences-in-code-from.html' title='Practical differences in code, from HTML to XHTML'/><author><name>mlopes</name><uri>http://www.blogger.com/profile/09742734048543481939</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://www.cultalg.pt/icons/mc_portugal.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7407698.post-108919193859813794</id><published>2004-07-07T02:18:00.000-07:00</published><updated>2004-07-07T02:24:04.446-07:00</updated><title type='text'>Set up an HTML mailto form without a script</title><content type='html'>There's a way to set up a Web form so that it doesn't require a back-end script. By using some simple HTML "mailto" code, you can set up the form so that the results are automatically e-mailed to an address you specify.&lt;br /&gt;&lt;br /&gt;The code looks like this:&lt;br /&gt;&lt;br /&gt;&lt;span class="code"&gt;&amp;lt;form action=&amp;quot;mailto:admin@example.com&amp;quot; enctype=&amp;quot;text/plain&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class="code"&gt;&amp;lt;p&amp;gt;Name: &amp;lt;input name=&amp;quot;Name&amp;quot; type=&amp;quot;text&amp;quot; id=&amp;quot;Name&amp;quot; size=&amp;quot;40&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class="code"&gt;&amp;lt;p&amp;gt;E-mail address: &amp;lt;input name=&amp;quot;E-mail&amp;quot; type=&amp;quot;text&amp;quot; id=&amp;quot;E-mail&amp;quot; size=&amp;quot;40&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class="code"&gt;&amp;lt;p&amp;gt;Comment:&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class="code"&gt;&amp;lt;p&amp;gt;&amp;lt;textarea name=&amp;quot;Comment&amp;quot; cols=&amp;quot;55&amp;quot; rows=&amp;quot;5&amp;quot;&lt;br&gt;  id=&amp;quot;Comment&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class="code"&gt;&amp;lt;p&amp;gt;&amp;lt;input type=&amp;quot;submit&amp;quot; name=&amp;quot;Submit&amp;quot; value=&amp;quot;Submit&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class="code"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can copy and paste the HTML code from above into a standard HTML page. To get this form working right away, just change the e-mail address in "mailto:admin@example.com" to the appropriate address for your organization. You can also tweak other settings such as the size of the fields.&lt;br /&gt;&lt;br /&gt;One drawback to using this method is that when users hit the Submit button, they will receive from their Web browser a message that requires approval for the e-mail being sent. Some users may get confused or intimidated by that, so you may want to put a short blurb on the Web page that tells users to expect the message from the browser and to approve it when it pops up. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7407698-108919193859813794?l=computertricks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computertricks.blogspot.com/feeds/108919193859813794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7407698&amp;postID=108919193859813794' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default/108919193859813794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default/108919193859813794'/><link rel='alternate' type='text/html' href='http://computertricks.blogspot.com/2004/07/set-up-html-mailto-form-without-script.html' title='Set up an HTML mailto form without a script'/><author><name>mlopes</name><uri>http://www.blogger.com/profile/09742734048543481939</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://www.cultalg.pt/icons/mc_portugal.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7407698.post-108902576136902606</id><published>2004-07-05T04:07:00.000-07:00</published><updated>2004-07-05T04:09:21.370-07:00</updated><title type='text'>Manually resetting AUTOCHK.EXE for a drive</title><content type='html'>A crash can sometimes cause the dirty bit to be set when there was no data pending to be written, provoking a disk check the next time the system is rebooted. This in turn can cause a disk check to run persistently at each reboot, even when the dirty bit has not been set. If a disk check is running at each reboot regardless of whether or not the system was shut down cleanly, then the problem is no longer the dirty bit per se, but rather the way AUTOCHK.EXE has been configured to run at startup.&lt;br /&gt;&lt;br /&gt;There are a few ways to manually override this. The first is to run CHKDSK /F on the drive in question; if it runs successfully, the AUTOCHK.EXE command is cleared and the system will no longer be checked at each reboot. Another way to do it is to edit the Registry directly and remove the AUTOCHK command. To do this, navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager in the Registry and look for a REG_MULTI_SZ value with the name BootExecute. Set the value of BootExecute to a null value. This will prevent AUTOCHK from running on next reboot.&lt;br /&gt;&lt;br /&gt;On the whole, it's safest to first attempt to use CHKDSK /F on the drive that is being repeatedly checked at startup. Editing BootExecute should only be done if CHKDSK doesn't seem to be working. Running CHKDSK also has the added bonus of manually clearing the dirty bit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7407698-108902576136902606?l=computertricks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computertricks.blogspot.com/feeds/108902576136902606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7407698&amp;postID=108902576136902606' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default/108902576136902606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default/108902576136902606'/><link rel='alternate' type='text/html' href='http://computertricks.blogspot.com/2004/07/manually-resetting-autochkexe-for.html' title='Manually resetting AUTOCHK.EXE for a drive'/><author><name>mlopes</name><uri>http://www.blogger.com/profile/09742734048543481939</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://www.cultalg.pt/icons/mc_portugal.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7407698.post-108877851834399625</id><published>2004-07-02T07:26:00.000-07:00</published><updated>2004-07-02T07:28:38.343-07:00</updated><title type='text'>Share an Internet Connection With Multiple Computers</title><content type='html'>Linux offers the ability to act as both firewall and router for &lt;br /&gt;multiple computers. You can easily set this up using iptables.&lt;br /&gt;&lt;br /&gt;Execute the following commands on your Linux box. This example assumes &lt;br /&gt;that eth0 is the network interface connected to the cable or DSL modem.&lt;br /&gt;&lt;br /&gt;# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE&lt;br /&gt;# modprobe ip_conntrack_ftp&lt;br /&gt;# echo 1 &gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;# iptables -P INPUT DROP&lt;br /&gt;&lt;br /&gt;Of course, this is greatly simplified; it's just the basics to get you &lt;br /&gt;up and running quickly.&lt;br /&gt;&lt;br /&gt;Keep in mind that it doesn't matter what systems you're running on your &lt;br /&gt;network, be it Windows, Macs, or other Linux systems. All you need to &lt;br /&gt;do is tell those clients to use this Linux machine as the gateway.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7407698-108877851834399625?l=computertricks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computertricks.blogspot.com/feeds/108877851834399625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7407698&amp;postID=108877851834399625' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default/108877851834399625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default/108877851834399625'/><link rel='alternate' type='text/html' href='http://computertricks.blogspot.com/2004/07/share-internet-connection-with.html' title='Share an Internet Connection With Multiple Computers'/><author><name>mlopes</name><uri>http://www.blogger.com/profile/09742734048543481939</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://www.cultalg.pt/icons/mc_portugal.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7407698.post-108876922697002326</id><published>2004-07-02T04:53:00.000-07:00</published><updated>2004-07-02T04:53:46.970-07:00</updated><title type='text'>Playing Nice: Reviews of CrossOver Office, WineX 4</title><content type='html'>Operating Systems&lt;br /&gt;Posted by timothy on Thursday July 01, @03:41PM&lt;br /&gt;from the methadone-clinic dept.&lt;br /&gt;JimLynch writes 'One of the more common questions experienced Linux users get asked by those considering migrating from Windows to Linux is, 'Will my Windows applications run under Linux?' Thanks to the folks at CodeWeavers, &lt;a href="http://www.extremetech.com/article2/0,1558,1619014,00.asp"&gt;the answer to that is yes&lt;/a&gt;--for some applications, anyway.' And Dan Dole writes 'Linuxlookup.com staff member Rich &lt;a href="http://www.linuxlookup.com/modules.php?op=modload&amp;name=Reviews&amp;file=index&amp;req=showcontent&amp;id=60"&gt;reviews Cedega (WineX 4.0)&lt;/a&gt;, give it a 20/20 score &amp; Editors Choice Award. 'The release of Transgaming's newest version of WineX, renamed Cedega, was met with considerable enthusiasm and interest in the Linux community last week. So much so that their server was inaccessible the day of release. Cedega is claimed to be much improved, offering the ability to play recent games released for Windows 'seamlessly and transparently' under Linux. They provided me with a copy, and I was curious to see if it lived up to the hype.'&lt;br /&gt;&lt;a href="http://slashdot.org/article.pl?sid=04/07/01/1640217&amp;mode=thread&amp;tid=106&amp;tid=185&amp;tid=190&amp;tid=201"&gt;Link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7407698-108876922697002326?l=computertricks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computertricks.blogspot.com/feeds/108876922697002326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7407698&amp;postID=108876922697002326' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default/108876922697002326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default/108876922697002326'/><link rel='alternate' type='text/html' href='http://computertricks.blogspot.com/2004/07/playing-nice-reviews-of-crossover.html' title='Playing Nice: Reviews of CrossOver Office, WineX 4'/><author><name>mlopes</name><uri>http://www.blogger.com/profile/09742734048543481939</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://www.cultalg.pt/icons/mc_portugal.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7407698.post-108869862163899254</id><published>2004-07-01T09:10:00.000-07:00</published><updated>2004-07-01T09:17:01.636-07:00</updated><title type='text'>Building a Windows boot disk with BartPE</title><content type='html'>&lt;a href="http://www.nu2.nu/pebuilder/"&gt;PEBuilder Home Page&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Other Tools&lt;/strong&gt;&lt;br /&gt;- &lt;a href="http://psoft.net/shiv/WinBox/ipchange.exe"&gt;IPChange.exe&lt;/a&gt;: This is an IP tool that can reset an IP address without a reboot.&lt;br /&gt;- Factory.exe: This is a Sysprep component that installs drivers after boot. Extract from the Windows Server 2003 install media (\support\tools\deploy.cab) or download the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&amp;displaylang=en"&gt;Windows Server 2003 Resource Kit&lt;/a&gt; and extract factory.exe from rktools.msi\Cabs.winrk.cab\deploy.cab.&lt;br /&gt;- Netcfg.exe: This is the network configuration tool, and you can get it from the Windows Preinstallation Environment (Windows PE) 1.2, Windows XP SP1 OEM Preinstallation Kit (OPK), or from ERD Commander 2002.&lt;br /&gt;&lt;br /&gt;If you don't have access to these files, you can download &lt;a href="http://www.jsiinc.com/subj/tip4700/rh4705.htm"&gt;snetcfg_wxp.exe&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://www.geocities.com/bcording/pebuilder.html"&gt;Plug-ins for Bart's PE Builder&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://www.jibble.org/bootablejavacd/"&gt;Bootable Java CD&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://home.wanadoo.nl/arjan.van.beijnum/pebuilder.htm"&gt;PE-Builder Plugins&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Commercial version of BartPE: &lt;a href="http://www.avast.com/i_idt_154.html"&gt;avast! BART CD&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://techrepublic.com.com/5102-6268-5216373.html"&gt;Article&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7407698-108869862163899254?l=computertricks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computertricks.blogspot.com/feeds/108869862163899254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7407698&amp;postID=108869862163899254' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default/108869862163899254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default/108869862163899254'/><link rel='alternate' type='text/html' href='http://computertricks.blogspot.com/2004/07/building-windows-boot-disk-with-bartpe.html' title='Building a Windows boot disk with BartPE'/><author><name>mlopes</name><uri>http://www.blogger.com/profile/09742734048543481939</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://www.cultalg.pt/icons/mc_portugal.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7407698.post-108807466423377770</id><published>2004-06-24T03:57:00.000-07:00</published><updated>2004-06-24T03:58:23.960-07:00</updated><title type='text'>Keep dyndns.org entries updated</title><content type='html'> &lt;br /&gt;DynDNS.org offers a free dynamic DNS service, and a number of clients &lt;br /&gt;exist for Windows, Linux, and Mac OS X. One of the more stable Linux &lt;br /&gt;clients is ez-ipupdate, a great tool that takes the IP address of your &lt;br /&gt;system and sends the data to DynDNS.org to update the DNS record for &lt;br /&gt;your particular host name (as chosen when you sign up). &lt;br /&gt; &lt;br /&gt;Unfortunately, ez-ipupdate falls short when you're executing it from a &lt;br /&gt;host that doesn't have the IP address you wish to set. For example, &lt;br /&gt;let's say you have a LAN behind an external firewall appliance and want &lt;br /&gt;to set your DynDNS.org host name to the IP address held by the &lt;br /&gt;firewall. &lt;br /&gt; &lt;br /&gt;Because most firewalls use network address translation (NAT), you can &lt;br /&gt;work around this if you have a Web site where you can put a simple PHP &lt;br /&gt;script. Place the following PHP script on a remote server, outside of &lt;br /&gt;the LAN; we'll call it getaddress.php. &lt;br /&gt; &lt;br /&gt;&lt;?php print($_SERVER['REMOTE_ADDR'] . "\n"); ?&gt; &lt;br /&gt; &lt;br /&gt;On your internal Linux machine, create a script that you'll run hourly &lt;br /&gt;via cron. This script should contain the following: &lt;br /&gt; &lt;br /&gt;#!/bin/sh &lt;br /&gt; &lt;br /&gt;config="/etc/ez-ipupdate.conf" &lt;br /&gt;current_ip='curl -sf http://externalhost/getaddress.php' &lt;br /&gt;if [ "x$?" != "x0" ]; then &lt;br /&gt;  exit $? &lt;br /&gt;fi &lt;br /&gt; &lt;br /&gt;old_ip='grep address $config|sed s/address\=//g' &lt;br /&gt; &lt;br /&gt;if [ "$current_ip" != "$old_ip" ]; then &lt;br /&gt;  perl -pi -e "s/$old_ip/$current_ip/g" $config &lt;br /&gt;  /etc/ez-ipupdate &lt;br /&gt;fi &lt;br /&gt; &lt;br /&gt;This script executes /etc/ez-ipupdate, which is the configuration file &lt;br /&gt;and the runtime script for ez-ipupdate if the IP address returned by &lt;br /&gt;the PHP script differs from the address currently in the &lt;br /&gt;/etc/ez-ipupdate config file. Running this every hour will update your &lt;br /&gt;DynDNS.org entry if your dynamic IP address changes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7407698-108807466423377770?l=computertricks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computertricks.blogspot.com/feeds/108807466423377770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7407698&amp;postID=108807466423377770' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default/108807466423377770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default/108807466423377770'/><link rel='alternate' type='text/html' href='http://computertricks.blogspot.com/2004/06/keep-dyndnsorg-entries-updated.html' title='Keep dyndns.org entries updated'/><author><name>mlopes</name><uri>http://www.blogger.com/profile/09742734048543481939</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://www.cultalg.pt/icons/mc_portugal.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7407698.post-108798737683018897</id><published>2004-06-23T03:40:00.000-07:00</published><updated>2004-06-23T03:42:56.830-07:00</updated><title type='text'>Windows Program Startup Locations </title><content type='html'>1. The Run subkey—By far the most common registry location for autorun programs is the Run entry, which you'll find at HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run and HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. The Run entry in the HKEY_LOCAL_MACHINE root runs immediately before the Run entry in the HKEY_CURRENT_USER root, and both subkeys precede the processing of the Startup folder.&lt;br /&gt;&lt;br /&gt;2. The RunOnce subkey—Setup programs typically use the RunOnce subkey to run programs automatically. You'll find this subkey at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce and at HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce. The RunOnce entry in the HKEY_LOCAL_MACHINE root runs associated programs immediately after logon and before the other registry Run entries start their programs. The RunOnce subkey in the HKEY_CURRENT_USER root runs after the OS processes the other registry Run subkeys and the contents of the Startup folder. If you run XP, you can also check the RunOnceEx subkey at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx.&lt;br /&gt;&lt;br /&gt;3. The RunOnce\Setup subkey—The RunOnce\Setup subkey's default value specifies programs to run after the user logs on. The RunOnce\Setup subkey is in the HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE root keys. You'll find it at HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup and at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Setup.&lt;br /&gt;&lt;br /&gt;4. The RunServices subkey—The RunServices subkey loads immediately after the RunServicesOnce subkey and runs before the user logs on. You'll find the RunServices subkey at HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices and at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices.&lt;br /&gt;&lt;br /&gt;5. The RunServicesOnce subkey—The RunServicesOnce subkey is designed to start service programs before the user logs on and before the other registry autostart subkeys start their programs. You'll find the RunServicesOnce subkey at HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce and at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce.&lt;br /&gt;&lt;br /&gt;6. The Explorer\Run entry—Unlike the load and Userinit entries, the Explorer\Run entry works in both the HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE root keys. You can find the Explorer\Run subkey at HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run and at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run.&lt;br /&gt;&lt;br /&gt;7. The Userinit entry—The Userinit entry, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit, can also initiate programs when the system boots. You'll usually see an entry for userinit.exe, but this subkey can accept multiple comma-separated values (CSVs), so other programs can tack themselves onto the end of the entry.&lt;br /&gt;&lt;br /&gt;8. The load entry—Several registry subkeys also can start programs automatically. One esoteric location is the load entry at HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows\load.&lt;br /&gt;&lt;br /&gt;9. The All Users Startup folder—The next most common place to find autostart programs is the All Users Startup folder. Whereas the user Startup folder runs programs for only the user who's logged on, the All Users Startup folder autostarts programs no matter who logs on to the system. You can find this folder at Documents and Settings, All Users, Start Menu, Programs, Startup. If you've migrated from NT, you'll find the folder at WinNT, Profiles, user, Start Menu, Programs, Startup.&lt;br /&gt;&lt;br /&gt;10. The user Startup folder—The user's Startup folder is the most common location for programs that Windows automatically loads at boot time. You can find the user Startup folder at Documents and Settings, user, Start Menu, Programs, Startup. If you've migrated from NT, you'll find the Startup folder at WinNT, Profiles, user, Start Menu, Programs, Startup.&lt;br /&gt;&lt;br /&gt;11. The load and run lines in win.ini, a holdover from the Windows 3.1 days, still work, and many programs lurk there. I run Sysedit to check for real-mode drivers in config.sys and autoexec.bat files at the same time.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7407698-108798737683018897?l=computertricks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computertricks.blogspot.com/feeds/108798737683018897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7407698&amp;postID=108798737683018897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default/108798737683018897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7407698/posts/default/108798737683018897'/><link rel='alternate' type='text/html' href='http://computertricks.blogspot.com/2004/06/windows-program-startup-locations.html' title='Windows Program Startup Locations '/><author><name>mlopes</name><uri>http://www.blogger.com/profile/09742734048543481939</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://www.cultalg.pt/icons/mc_portugal.jpg'/></author><thr:total>0</thr:total></entry></feed>
