<?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"
	>

<channel>
	<title>Graphic Engineer</title>
	<atom:link href="http://graphicengineer.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://graphicengineer.com/blog</link>
	<description></description>
	<pubDate>Tue, 15 Jul 2008 00:35:22 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>More Florida Schools Directory/Search Services Just Launched!</title>
		<link>http://graphicengineer.com/blog/2008/07/05/florida-schools-directory-search-services/</link>
		<comments>http://graphicengineer.com/blog/2008/07/05/florida-schools-directory-search-services/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 11:36:40 +0000</pubDate>
		<dc:creator>Basil</dc:creator>
		
		<category><![CDATA[New Released Site]]></category>

		<category><![CDATA[Bonita Schools]]></category>

		<category><![CDATA[Cape Coral Schools]]></category>

		<category><![CDATA[Estero Schools]]></category>

		<category><![CDATA[Florida Schools]]></category>

		<category><![CDATA[Immokalee Schools]]></category>

		<category><![CDATA[ModernScribe]]></category>

		<category><![CDATA[Orlando Schools]]></category>

		<category><![CDATA[Port Charlotte Schools]]></category>

		<category><![CDATA[Tampa Schools]]></category>

		<guid isPermaLink="false">http://graphicengineer.com/blog/?p=18</guid>
		<description><![CDATA[CapeCoralSchools.com, PortCharlotteSchools.com, EsteroSchools.com, BonitaSchools.com and ImmokaleeSchools.com are five more Florida schools directory/search services conveniently launched by the modernscribe.
In a previous article, OrlandoSchools.com and TampaSchools.com were launched for school searching folks who now have the luxury to shop for the school of their choice narrowed down to performance and location,
Did I mention these are completely free [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://CapeCoralSchools.com">CapeCoralSchools.com</a>, <a href="http://PortCharlotteSchools.com">PortCharlotteSchools.com</a>, <a href="http://EsteroSchools.com">EsteroSchools.com</a>, <a href="http://BonitaSchools.com">BonitaSchools.com</a> and <a href="http://ImmokaleeSchools.com">ImmokaleeSchools.com</a> are five more Florida schools directory/search services conveniently launched by the modernscribe.</p>
<p>In a <a href="http://graphicengineer.com/blog/2008/06/13/orlandoschoolscom-tampaschoolscom/">previous article</a>, <a href="http://OrlandoSchools.com">OrlandoSchools.com</a> and <a href="http://TampaSchools.com">TampaSchools.com</a> were launched for school searching folks who now have the luxury to shop for the school of their choice narrowed down to performance and location,</p>
<p>Did I mention these are completely free services? If you haven&#8217;t already, check them out!   The modernscribe behind these fine resources thrives for quality of information and a concise usability that rivals many of today&#8217;s websites.</p>
<p>Thanks again Bill for providing such thorough, useful and excellent resources free to the general public!</p>
]]></content:encoded>
			<wfw:commentRss>http://graphicengineer.com/blog/2008/07/05/florida-schools-directory-search-services/feed/</wfw:commentRss>
		</item>
		<item>
		<title>vi Search and Replace</title>
		<link>http://graphicengineer.com/blog/2008/06/20/vi-search-and-replace/</link>
		<comments>http://graphicengineer.com/blog/2008/06/20/vi-search-and-replace/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 16:38:32 +0000</pubDate>
		<dc:creator>Basil</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[replace]]></category>

		<category><![CDATA[search]]></category>

		<category><![CDATA[search and replace]]></category>

		<category><![CDATA[vi]]></category>

		<guid isPermaLink="false">http://graphicengineer.com/blog/?p=11</guid>
		<description><![CDATA[It&#8217;s sad to say I don&#8217;t use the vi search &#038; replace enough to have it ingrained where it should be, so here&#8217;s to open documentation:
Adding the &#8220;how to&#8221; search for those who might need it:
Note: Search wraps around at end of file
To search STR forward:    /STR
To search STR backwards:   [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s sad to say I don&#8217;t use the vi search &#038; replace enough to have it ingrained where it should be, so here&#8217;s to open documentation:</p>
<p>Adding the &#8220;how to&#8221; <strong>search </strong>for those who might need it:</p>
<p>Note: Search wraps around at end of file</p>
<p>To search STR forward:    /STR<br />
To search STR backwards:    ?STR</p>
<p>To repeat the search:    n<br />
To repeat search in opposite direction:    N  ([SHIFT]-n)</p>
<p><strong>Replace</strong><br />
Replace: Same as with sed, Replace OLD with NEW:</p>
<p>First occurrence on current line:    :s/OLD/NEW<br />
Globally (all) on current line:    :s/OLD/NEW/g<br />
Between two line numbers #,#:    :#,#s/OLD/NEW/g<br />
Every occurrence in file:    :%s/OLD/NEW/g</p>
]]></content:encoded>
			<wfw:commentRss>http://graphicengineer.com/blog/2008/06/20/vi-search-and-replace/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Remove Files By Inode Number (Linux/UNIX/Mac OS X)</title>
		<link>http://graphicengineer.com/blog/2008/06/16/remove-files-by-inode-number/</link>
		<comments>http://graphicengineer.com/blog/2008/06/16/remove-files-by-inode-number/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 23:11:20 +0000</pubDate>
		<dc:creator>Basil</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Delete file]]></category>

		<category><![CDATA[Inode]]></category>

		<category><![CDATA[Mac OS X]]></category>

		<category><![CDATA[Remove by Inode Number]]></category>

		<category><![CDATA[Remove file]]></category>

		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://graphicengineer.com/blog/?p=10</guid>
		<description><![CDATA[Recently I needed to delete some pesky files that at some point managed to get created. The problem with these &#8216;pesky&#8217; files is that they don&#8217;t have file-friendly names. One of the files was named &#8220;!&#8221; (no quotes), and another was &#8220;-20080605.log&#8221;
I know I could remove them by using the rm command prefixing the unacceptable [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I needed to delete some pesky files that at some point managed to get created. The problem with these &#8216;pesky&#8217; files is that they don&#8217;t have file-friendly names. One of the files was named &#8220;!&#8221; (no quotes), and another was &#8220;-20080605.log&#8221;</p>
<p>I know I could remove them by using the rm command prefixing the unacceptable characters with &#8220;\&#8221; but I also recall a method to remove files by their inode number.</p>
<div class="code">$ rm \!; rm -20080606.log;</div>
<p>For a refresher, a quick google gave me this <a href="http://www.cyberciti.biz/tips/delete-remove-files-with-inode-number.html">resourceful site</a>.</p>
<p>In summary:</p>
<p><strong>1.</strong> Get the inode number of the file you want&#8230;</p>
<div class="code">$ ls -li</div>
<p>Output:</p>
<div class="code">2396291 -rw-rw-r&#8211;  1 user user       35 2008-06-05 09:37 -20080605.log</div>
<p>The inode number is <strong>2396291</strong>.</p>
<p><strong>2.</strong> Delete the file using the inode number found from step 1.</p>
<div class="code">$ find . -inum 2396291 -exec rm -i {} \;</div>
]]></content:encoded>
			<wfw:commentRss>http://graphicengineer.com/blog/2008/06/16/remove-files-by-inode-number/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Free 30 day trial period at CovenantMedia.com</title>
		<link>http://graphicengineer.com/blog/2008/06/15/free-30-day-trial-period-at-covenantmediacom/</link>
		<comments>http://graphicengineer.com/blog/2008/06/15/free-30-day-trial-period-at-covenantmediacom/#comments</comments>
		<pubDate>Sun, 15 Jun 2008 08:04:55 +0000</pubDate>
		<dc:creator>Basil</dc:creator>
		
		<category><![CDATA[Ministries]]></category>

		<category><![CDATA[New Released Site]]></category>

		<category><![CDATA[Church]]></category>

		<category><![CDATA[CovenantMedia.com]]></category>

		<guid isPermaLink="false">http://graphicengineer.com/blog/?p=8</guid>
		<description><![CDATA[For the churches and ministries out there, ConvenantMedia.com has announced it has officially opened its virtual doors!
Need a website you can actually use and looks great? What about a site you can manage from the web, add pages, emails, services and more with ease and no programming what so ever? ConvenantMedia.com has taken the emerging [...]]]></description>
			<content:encoded><![CDATA[<p>For the churches and ministries out there, <a href="http://www.covenantmedia.com/features.aspx?ref_id=graphicengineer.com">ConvenantMedia.com</a> has announced it has officially opened its virtual doors!</p>
<p>Need a website you can actually use and looks great? What about a site you can manage from the web, add pages, emails, services and more with ease and no programming what so ever? <a href="http://www.covenantmedia.com/features.aspx?ref_id=graphicengineer.com">ConvenantMedia.com</a> has taken the emerging server technologies and combined its experience with church community websites to bring you a complete web package that anyone can use.  For a limited time, <a href="http://www.covenantmedia.com/features.aspx?ref_id=graphicengineer.com">CovenantMeda.com</a> is also offering zero setup fees when you sign up.</p>
]]></content:encoded>
			<wfw:commentRss>http://graphicengineer.com/blog/2008/06/15/free-30-day-trial-period-at-covenantmediacom/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Alternatives to multiple IP/Network cameras</title>
		<link>http://graphicengineer.com/blog/2008/06/15/alternatives-to-multiple-ipnetwork-cameras/</link>
		<comments>http://graphicengineer.com/blog/2008/06/15/alternatives-to-multiple-ipnetwork-cameras/#comments</comments>
		<pubDate>Sun, 15 Jun 2008 07:50:33 +0000</pubDate>
		<dc:creator>Basil</dc:creator>
		
		<category><![CDATA[Cameras]]></category>

		<category><![CDATA[Remote Video Monitoring]]></category>

		<category><![CDATA[CCTV Remote Access]]></category>

		<category><![CDATA[Internet CCTV]]></category>

		<category><![CDATA[IP Cameras]]></category>

		<guid isPermaLink="false">http://graphicengineer.com/blog/?p=7</guid>
		<description><![CDATA[IP Cameras have been around awhile now and like all technologies, prices have come down, quality and selection has gone up. But additionally, alternative solutions have also risen.
A client had requested a multiple camera installation for their business facility.
Requirements:

Remote access for ALL cameras
Programmable video capture
Optional motion detection during selected intervals, schedules
Keep solution within budget

The first [...]]]></description>
			<content:encoded><![CDATA[<p>IP Cameras have been around awhile now and like all technologies, prices have come down, quality and selection has gone up. But additionally, alternative solutions have also risen.</p>
<p>A client had requested a multiple camera installation for their business facility.</p>
<p><strong>Requirements:</strong></p>
<ul>
<li>Remote access for ALL cameras</li>
<li>Programmable video capture</li>
<li>Optional motion detection during selected intervals, schedules</li>
<li>Keep solution within budget</li>
</ul>
<p>The first solution proposed was to implement the individual IP networks as stand-alone devices, the only single-point of failure to the remote access would be the facility&#8217;s internet connection. </p>
<p>Few problems with this solution, although software exists to consolidate the video streams, the cameras them selves individually had a higher budget than the client had anticipated.</p>
<p><strong>Alternative solution</strong>, implement CCTV cameras with a central DVR/Remote access management. The cose dramatically reduced and the quality of the image actually increased because the CCTV cameras were simply better specs than a camera that would have to maintain it&#8217;s own web server. </p>
<p><strong>Comment</strong>: when the need arises for multiple camera support with remote access, I strongly suggest the alternative solution with DVR and single-sign-on remote access to the video streams.  Other advantages include one point of configuration.  Major disadvantage of course, we&#8217;ve added another single-point of failure now, the DVR/Remote Access unit itself.</p>
]]></content:encoded>
			<wfw:commentRss>http://graphicengineer.com/blog/2008/06/15/alternatives-to-multiple-ipnetwork-cameras/feed/</wfw:commentRss>
		</item>
		<item>
		<title>OrlandoSchools.com &#038; TampaSchools.com</title>
		<link>http://graphicengineer.com/blog/2008/06/13/orlandoschoolscom-tampaschoolscom/</link>
		<comments>http://graphicengineer.com/blog/2008/06/13/orlandoschoolscom-tampaschoolscom/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 22:56:52 +0000</pubDate>
		<dc:creator>Basil</dc:creator>
		
		<category><![CDATA[New Released Site]]></category>

		<category><![CDATA[Florida Schools]]></category>

		<category><![CDATA[Orlando]]></category>

		<category><![CDATA[Orlando Culinary Schools]]></category>

		<category><![CDATA[Orlando Schools]]></category>

		<category><![CDATA[Schools]]></category>

		<category><![CDATA[Tampa]]></category>

		<category><![CDATA[Tampa Schools]]></category>

		<guid isPermaLink="false">http://graphicengineer.com/blog/2008/06/13/orlandoschoolscom-tampaschoolscom/</guid>
		<description><![CDATA[Excellent school directory for the Orlando and Tampa Florida areas.  I personally know the modernscribe who created these two excellent resources and these are some of his best sites so far.  Both very intuitive to use and full of valid, useful information for public, private and specialty schools alike.
You can literally shop for [...]]]></description>
			<content:encoded><![CDATA[<p>Excellent school directory for the Orlando and Tampa Florida areas.  I personally know the modernscribe who created these two excellent resources and these are some of his best sites so far.  Both very intuitive to use and full of valid, useful information for public, private and specialty schools alike.</p>
<p>You can literally shop for the school of your choice narrowed down to performance and location, I&#8217;ve already recommended these resources for daily use in libraries so I thought I&#8217;d share here as well.</p>
<p>Great job Bill!</p>
<p><a href="http://www.OrlandoSchools.com">OrlandoSchools.com</a></p>
<p><a href="http://www.TampaSchools.com">TampaSchools.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://graphicengineer.com/blog/2008/06/13/orlandoschoolscom-tampaschoolscom/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PeachTree 2008 Hangs on Vista</title>
		<link>http://graphicengineer.com/blog/2007/12/19/peachtree-2008-hangs-on-vista/</link>
		<comments>http://graphicengineer.com/blog/2007/12/19/peachtree-2008-hangs-on-vista/#comments</comments>
		<pubDate>Wed, 19 Dec 2007 22:28:45 +0000</pubDate>
		<dc:creator>Basil</dc:creator>
		
		<category><![CDATA[Host File]]></category>

		<category><![CDATA[PeachTree]]></category>

		<category><![CDATA[Vista]]></category>

		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://graphicengineer.com/wordpress/2007/12/19/peachtree-2008-hangs-on-vista/</guid>
		<description><![CDATA[The Situation: Apparently Sage&#8217;s PeachTree Premium 2008 has some repeatable bugs on Vista (tack it on the todo list for Vista..). In this case, PeachTree was using Vista&#8217;s IPv6 addresses to reference a data file that would be setup on its own computer.
The Symptoms: PeachTree hangs or appears unresponsive for a VERY long time.
The Solution: [...]]]></description>
			<content:encoded><![CDATA[<p>The <strong>Situation</strong>: Apparently Sage&#8217;s PeachTree Premium 2008 has some repeatable bugs on Vista (tack it on the todo list for Vista..). In this case, PeachTree was using Vista&#8217;s IPv6 addresses to reference a data file that would be setup on its own computer.</p>
<p>The <strong>Symptoms</strong>: PeachTree hangs or appears unresponsive for a VERY long time.</p>
<p>The <strong>Solution</strong>:  The local windows system32/etc/host file needs editing to point to its own IPv4 address.</p>
<p>The <strong>Steps</strong>:</p>
<p>1. Get the IPv4 from the <em>ipconfig</em> command in Window&#8217;s command prompt.</p>
<p>2. Get the PC&#8217;s hostname from the Computer &gt; Properties &gt; &#8220;Computer name&#8221; field.</p>
<p>3. Edit your Vista machine&#8217;s host file, typically found: C:/Windows/System32/drivers/etc/host</p>
<p>4. Add the IPv4 address plus 5 spaces then the PC hostname from step 2. Save.*</p>
<p>* If you have problems saving your host file, it&#8217;s probably a permission issue. Just Visit your &#8220;Start Menu &gt; All Programs &gt;  Accessories &gt; ..&#8221;, right-click on &#8220;Notepad&#8221; and choose &#8220;Run as Administrator&#8221;   Now proceed in the above manner by opening your host file. Saving should now work for you.</p>
]]></content:encoded>
			<wfw:commentRss>http://graphicengineer.com/blog/2007/12/19/peachtree-2008-hangs-on-vista/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Restoring a MySQL Replication with corrupted binlogs!</title>
		<link>http://graphicengineer.com/blog/2005/12/30/restoring-a-mysql-replication-with-corrupted-binlogs/</link>
		<comments>http://graphicengineer.com/blog/2005/12/30/restoring-a-mysql-replication-with-corrupted-binlogs/#comments</comments>
		<pubDate>Fri, 30 Dec 2005 15:29:48 +0000</pubDate>
		<dc:creator>Basil</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[Corrupted Binlog]]></category>

		<category><![CDATA[MySQL Corrupted Binlog]]></category>

		<category><![CDATA[MySQL Replication]]></category>

		<category><![CDATA[Restoring a MySQL Slave]]></category>

		<guid isPermaLink="false">http://graphicengineer.com/blog/?p=6</guid>
		<description><![CDATA[Major assumption: you have a safe, but halted replication you want to restore from.
Situation &#8212; Your replication server is down or simply the MySQL slave has stopped, possible because the hard drive filled up and your binlogs got corrupted beyond repair? Some might have the luxury to start a new snapshot from the main DB [...]]]></description>
			<content:encoded><![CDATA[<p><strong style="font-weight: bold;">Major assumption</strong>: you have a safe, but halted replication you want to restore from.</p>
<p><strong style="font-weight: bold;">Situation</strong> &#8212; Your replication server is down or simply the MySQL slave has stopped, possible because the hard drive filled up and your binlogs got corrupted beyond repair? Some might have the luxury to start a new snapshot from the main DB server, lets call it the Master DB server. But what if you can&#8217;t afford to do a read-lock on the server? (Which would be most of the times for production servers with decent traffic).  Well &#8212; since you planned ahead - you should have multiple replication servers running &#8212; it helps to reduce your read load with the round-robin method anyways.</p>
<p>Here&#8217;s some things I did to get our primary MySQL replication slave up to date using the planned, redundant replication server, secondary Slave. </p>
<p>So, on a regular day, Master DB replicates its binlog to Primary slave and Master DB replicates to secondatry slave.  The problem occurs when either the primary or secondary slave stops. Let&#8217;s assume it&#8217;s the primarty server that stopped,  Now we have Master DB no longer replicating to the primary slave.  We now have the primary slave out of sync with the Master and the secondary Slave.  Your application that checks for lag should have done two things:</p>
<p>* Alert you that the primary slave has stopped or at the very least, is really lagging behind.</p>
<p>* Switch its reading to the secondary slave server.</p>
<p>A <strong style="font-weight: bold;">Solution</strong></p>
<ol>
<li>Have your application temporarily use your Master DB for reads unless you have another slave you can use besides the secondary slave. We need that to restore our primary slave in a moment.</li>
<li>Stop any latency checks and db monitoring you have for the secondary server to avoid the false alarms.</li>
<li>Stop the secondary slave&#8217;s slave threads with:
<div class="code">mysql&gt; slave stop. </div>
</li>
<li>Copy the MySQL data director of the secondary slave. (The whole thing)<br />
tar cf snapshot.tar /path/to/your/mysql/datadir</li>
<li>You can optionally compress the tar with a zip (recommended  especially if the tar file itself is just too big to transfer over your network).</li>
<li>As soon as you have the data directory copied, go ahead and start the secondary slave back up. Let it continue to catch up to the Master DB and you can even turn on the latency and db monitoring scripts for the secondary slave.</li>
<li>SSH into your primary slave server, we need to remove the old data. If you have the storage space for the old data AND the replacement data (uncompressed) then you can rename your old data. But why? It&#8217;s corrupt ;).  I tend to remove the primary slave server&#8217;s MySQL data.<br />
cd /path/to/your/mysql/datadir; rm -f * </li>
<li>Transport the snapshot from your secondary slave server to your primary slave server. (/tmp location should be fine, and any transport method such as rsync, ftp, etc. will work)</li>
<li>Decompress the snapshot on the primary server. If you get a hard disk out of space error &#8212; did you delete the old datadir? You might need to if you haven&#8217;t. </li>
<li>Let&#8217;s clean up some files in the recently decompressed datadir. Here&#8217;s the list of files that are safe to be removed:<br />
rm -f ib*; // Eh - we don&#8217;t use this DB setup anyways &#8212; and our system will create new ones later if needed. (In our particular server we didn&#8217;t use these, if you suspect you do use this engine type, don&#8217;t delete your files.)<br />
rm -f [secondary-slave-name]-bin.0000*; // Not needed, we&#8217;ll have the primary slave server create its own bin logs shortly.<br />
rm -f [secondary-slave-name]-.err; // Remove the error file, it&#8217;s specific to the other server.<br />
rm -f [secondary-slave-name]-.pid; // Remove the process id file, again, specific to the other server.<br />
rm -f [secondary-slave-name]-slow.log; // Safe to remove if you see it, it&#8217;s the log of slow queries from the secondary slave.</p>
<p>It is <strong>important</strong> to keep the <strong>master.info</strong>, <strong>relay-log.info</strong>, <strong>[secondary-slave-name]-relay-bin.index</strong>, and the <strong>[secondary-slave-name]-relay-bin.000*</strong>.</li>
<li>Now here&#8217;s the important part &#8212; we&#8217;ll need to carefully do some edits here:
<p>* master.info: make sure all the data is correct - shouldn&#8217;t really require much change unless you have different slaves connected with different login.<br />
* relay-log.info<br />
&#8211; Change the relay log name from [secondary-slave-name]-relay-bin.0000* to [primary-slave-name]-relay-bin.0000*<br />
* rename [secondary-slave-name]-relay-bin.index to [primary-slave-name]-relay-bin.index<br />
* rename [secondary-slave-name]-relay-bin.000* to [primary-slave-name]-relay-bin.000*</p>
<p>* [primary-slave-name]-relay-bin.index<br />
&#8211; Fix the one-line file pointer to use the new named, [primary-slave-name]-relay-bin.&#8212;</li>
<li>If you turned off the MySQL daemon on the primary slave server, (you should have at least), then make sure you start up the daemon with the slave-stop option. (can do this in /etc/my.cnf if you like and comment out later.)<br />
 </li>
<li>Now check the &gt;slave status \G on the primary slave server to make sure all files are pointing to the primary slave server values and the right MySQL Master DB values.</li>
<li>&gt; start slave; show slave status \G // Again make sure the slave thread AND process are BOTH saying YES</li>
<li>Feel free to check slave status as often as you like to watch the slave catchup to the master. You can also create a simple shell file like I have to do latency checking, source shown below.</li>
</ol>
<div class="code">
<code><br />
//-- BEGIN //<br />
watch --interval=1 'echo "--LocalHost--"; mysql --uUSER -pPASSWORD an -e "SELECT COUNT(id) FROM POPULAR_TABLE"; echo "--Master--"; mysql -uUSER -pPASSWORD an -hSERVER_A -e "SELECT COUNT(id) FROM POPULAR_TABLE"; echo "--LocalHost--"; mysql -uUSER -pPASSWORD an -e "SELECT * FROM REPLICATIONWATCHTABLE"; echo "--Master--"; mysql -uUSER -pPASSWORD an -hSERVER_A -e "SELECT * FROM REPLICATIONWATCHTABLE"'<br />
//-- END //<br />
</code>
</div>
<p><strong>Replacement notes for the above shell script:</strong><br />
REPLICATIONWATCHTABLE is a table designed only to contain a current timestamp. You&#8217;ll see that the SERVER_A should be up to date (perhaps every 2 minutes you can update it) while the slave processes the bin log, you&#8217;ll see how far behind it really is by the timestamping! <img src='http://graphicengineer.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Nifty eh?</p>
<p>Ok &#8212; you should now have all servers functioning fully again to their original slave status - the bottleneck here in the process is the transfer of the database data from the secondary slave to the primary slave.</p>
]]></content:encoded>
			<wfw:commentRss>http://graphicengineer.com/blog/2005/12/30/restoring-a-mysql-replication-with-corrupted-binlogs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>.htaccess to authenticate only outside of the office&#8230;</title>
		<link>http://graphicengineer.com/blog/2005/12/02/htaccess-to-authenticate-only-outside-of-the-office/</link>
		<comments>http://graphicengineer.com/blog/2005/12/02/htaccess-to-authenticate-only-outside-of-the-office/#comments</comments>
		<pubDate>Fri, 02 Dec 2005 19:52:26 +0000</pubDate>
		<dc:creator>Basil</dc:creator>
		
		<category><![CDATA[.htaccess]]></category>

		<category><![CDATA[Apache]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[.htacces password file]]></category>

		<category><![CDATA[.htaccess authentication]]></category>

		<category><![CDATA[conditional login]]></category>

		<category><![CDATA[VPN alternative]]></category>

		<guid isPermaLink="false">http://graphicengineer.com/blog/?p=5</guid>
		<description><![CDATA[An old tip I had from my goodies bag, saw it the other day so I thought I&#8217;d add it here for someone who wants it.
If you&#8217;re setting up a server and you want to be able to visit the www served pages without the pestering .htaccess dialogues while at work but still want the [...]]]></description>
			<content:encoded><![CDATA[<p>An old tip I had from my goodies bag, saw it the other day so I thought I&#8217;d add it here for someone who wants it.</p>
<p>If you&#8217;re setting up a server and you want to be able to visit the www served pages without the pestering .htaccess dialogues while at work but still want the minimum security outside the office here&#8217;s what I&#8217;ve come up with that works just fine! (The method can be a bare minimum strategy when your development/internal server is made public because your IT hasn&#8217;t implemented a VPN yet&#8230;)</p>
<p>.htaccess content:</p>
<div class="code">
<code>order deny,allow</p>
<p># Lets deny everyone -- its a clean slate!<br />
deny from all</p>
<p># Now lets make a list of only those we wish to allow access to<br />
# The main office's IP<br />
allow from XXX.XXX.XXX.XXX<br />
# (Remote employees might want to use development servers too!)<br />
allow from YYY.YYY.YYY.YYY<br />
# Don't forget to replace the XXXs and YYYs with your applicable IP addresses.</p>
<p># Ok -- now that we've placed one criteria - let's see if we can allow access for those not quialified above.<br />
authtype Basic<br />
authuserfile /path/to/htpasswd-file<br />
require valid-user</p>
<p># Here's the important kicker -- this will make sure at least one of the above is required. You could super-restrict with "satisify all" but that's no fun!<br />
satisfy any<br />
</code>
</div>
]]></content:encoded>
			<wfw:commentRss>http://graphicengineer.com/blog/2005/12/02/htaccess-to-authenticate-only-outside-of-the-office/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
