<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.1" -->
<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/"
	>

<channel>
	<title>Gyrolabs</title>
	<link>http://www.gyrolabs.com</link>
	<description>Random tools to make your life easier</description>
	<pubDate>Fri, 20 Jul 2007 14:59:44 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1</generator>
	<language>en</language>
			<item>
		<title>Saving Silverlight Ink</title>
		<link>http://www.gyrolabs.com/2007/07/19/saving-silverlight-ink/</link>
		<comments>http://www.gyrolabs.com/2007/07/19/saving-silverlight-ink/#comments</comments>
		<pubDate>Thu, 19 Jul 2007 20:44:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Articles]]></category>

		<category><![CDATA[C#/.NET]]></category>

		<category><![CDATA[Quick Tips]]></category>

		<guid isPermaLink="false">http://www.gyrolabs.com/2007/07/19/saving-silverlight-ink/</guid>
		<description><![CDATA[Recently I was doing a project that required a signature applet.  Since silverlight has ink support it was the logical choice.  However, after many hours of searching around, I couldn&#8217;t seem to figure out how to save the ink without programming in C#.  So here&#8217;s a solution that can turn the ink [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I was doing a project that required a signature applet.  Since silverlight has ink support it was the logical choice.  However, after many hours of searching around, I couldn&#8217;t seem to figure out how to save the ink without programming in C#.  So here&#8217;s a solution that can turn the ink from an InkPresenter into XAML and back into ink again.</p>
<p><code>getStrokesAsString = function(inkpresenter) {<br />
var strokes = inkpresenter.strokes;<br />
var buffer = "&lt;inkpresenter .Strokes&gt;";<br />
</code><code><br />
for (x = 0; x &lt; strokes.Count; x++) {<br />
buffer += "&lt;Stroke&gt;" +<br />
"&lt;stroke .DrawingAttributes&gt;" +<br />
"&lt;drawingattributes Color='#FF000000' Height='1.75' Width='1.75'/&gt;" +<br />
"&lt;/stroke&gt;" +<br />
"&lt;stroke .StylusPoints&gt;";<br />
var curstroke = strokes.getItem(x);<br />
if (curstroke) {<br />
var sps = curstroke.StylusPoints;<br />
for (y = 0; y &lt; sps.Count; y++) {<br />
buffer += "&lt;StylusPoint X='" + sps.getItem(y).X + "' Y='" + sps.getItem(y).Y + "' /&gt;";<br />
}<br />
}<br />
buffer += "&lt;/stroke&gt;";<br />
buffer += "";<br />
}<br />
buffer += "&lt;/inkpresenter&gt;";<br />
return buffer;<br />
}<br />
setStrokesFromString = function(inkpresenter, silverlightobj, strokestring) {<br />
inkpresenter.strokes.Clear();<br />
var allstrokes = "allstrokes";<br />
var allstrokes = silverlightobj.content.createFromXAML(strokestring);<br />
inkpresenter.strokes = allstrokes;<br />
}</code></p>
<p><em><span style="font-size: 8pt">Sorry it&#8217;t not formatted nicely &#8212; wordpress stripped all that out.</span></em></p>
<p>Use the <code>getStrokesAsString</code> method to get a XAML string representing all the strokes; just pass it the inkpresenter element.</p>
<p>Use the <code>setStrokesFromString</code> method to transfer a XAML string representing the strokes into actual strokes on the canvas.  Pass it the inkpresenter element, the silverlight object (usually <code>window.silverLight</code>), and the XAML stroke string.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrolabs.com/2007/07/19/saving-silverlight-ink/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Summer Plans</title>
		<link>http://www.gyrolabs.com/2007/04/15/summer-plans/</link>
		<comments>http://www.gyrolabs.com/2007/04/15/summer-plans/#comments</comments>
		<pubDate>Sun, 15 Apr 2007 16:31:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Articles]]></category>

		<guid isPermaLink="false">http://www.gyrolabs.com/2007/04/15/summer-plans/</guid>
		<description><![CDATA[I know summer doesn&#8217;t start until the end of June, but I&#8217;m starting earlier.  I&#8217;ll be spending May working at Microsoft, so updates will be limited or nonexistent.
Once I get back from the internship, I&#8217;ll be redesigning this site to be more friendly to tracking downloads and keeping them separate from blog posts.  [...]]]></description>
			<content:encoded><![CDATA[<p>I know summer doesn&#8217;t start until the end of June, but I&#8217;m starting earlier.  I&#8217;ll be spending May working at Microsoft, so updates will be limited or nonexistent.</p>
<p>Once I get back from the internship, I&#8217;ll be redesigning this site to be more friendly to tracking downloads and keeping them separate from blog posts.  If I end up writing a custom program for this, I&#8217;ll make it available for download.</p>
<p>In addition to the new site, I&#8217;ll be writing a system (in collaboration with <a href="http://blueshiftlabs.net/">Blueshift Labs</a>) called CompactIS which is too complicated to explain on here.  The spec on the protocol will be made available as soon as possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrolabs.com/2007/04/15/summer-plans/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Verizon LG Phone Hack</title>
		<link>http://www.gyrolabs.com/2007/03/04/verizon-lg-phone-hack/</link>
		<comments>http://www.gyrolabs.com/2007/03/04/verizon-lg-phone-hack/#comments</comments>
		<pubDate>Sun, 04 Mar 2007 20:12:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Articles]]></category>

		<category><![CDATA[Quick Tips]]></category>

		<guid isPermaLink="false">http://www.gyrolabs.com/2007/03/04/verizon-lg-phone-hack/</guid>
		<description><![CDATA[This has been around for awhile and a lot of people know about it, but heres a little trick to confuse your friends.  This ONLY works on VERIZON LG PHONES.

Go into the phone&#8217;s menu
Type 0 (zero) seven times
Hit #
Go to &#8216;Motor Test&#8217;
Turn it on

Then the phone will vibrate until you go back in and [...]]]></description>
			<content:encoded><![CDATA[<p>This has been around for awhile and a lot of people know about it, but heres a little trick to confuse your friends.  This ONLY works on VERIZON LG PHONES.</p>
<ol>
<li>Go into the phone&#8217;s menu</li>
<li>Type 0 (zero) seven times</li>
<li>Hit #</li>
<li>Go to &#8216;Motor Test&#8217;</li>
<li>Turn it on</li>
</ol>
<p>Then the phone will vibrate until you go back in and turn it off.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrolabs.com/2007/03/04/verizon-lg-phone-hack/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Downloads Archive</title>
		<link>http://www.gyrolabs.com/2007/02/25/downloads-archive/</link>
		<comments>http://www.gyrolabs.com/2007/02/25/downloads-archive/#comments</comments>
		<pubDate>Sun, 25 Feb 2007 03:14:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[New Releases]]></category>

		<guid isPermaLink="false">http://www.gyrolabs.com/2007/02/25/downloads-archive/</guid>
		<description><![CDATA[I&#8217;ve finally created a page that has a list of all downloads available on the site.  The downloads are sorted in order by date added, with the most recent first.
Click here to go to the downloads archive
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve finally created a page that has a list of all downloads available on the site.  The downloads are sorted in order by date added, with the most recent first.</p>
<h3><a href="/downloads.php">Click here to go to the downloads archive</a></h3>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrolabs.com/2007/02/25/downloads-archive/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Facebook Apps</title>
		<link>http://www.gyrolabs.com/2007/02/24/facebook-apps/</link>
		<comments>http://www.gyrolabs.com/2007/02/24/facebook-apps/#comments</comments>
		<pubDate>Sun, 25 Feb 2007 02:00:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.gyrolabs.com/2007/02/24/facebook-apps/</guid>
		<description><![CDATA[I&#8217;m thinking about writing a desktop Facebook application.  If anyone has ideas let me know.  Should I find a good idea, I&#8217;ll also write a custom C# client class and make that available for download.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m thinking about writing a desktop Facebook application.  If anyone has ideas let me know.  Should I find a good idea, I&#8217;ll also write a custom C# client class and make that available for download.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrolabs.com/2007/02/24/facebook-apps/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fake Blue Screen of Death</title>
		<link>http://www.gyrolabs.com/2007/01/10/fake-blue-screen-of-death/</link>
		<comments>http://www.gyrolabs.com/2007/01/10/fake-blue-screen-of-death/#comments</comments>
		<pubDate>Wed, 10 Jan 2007 04:28:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[New Releases]]></category>

		<category><![CDATA[C#/.NET]]></category>

		<guid isPermaLink="false">http://www.gyrolabs.com/2007/01/10/fake-blue-screen-of-death/</guid>
		<description><![CDATA[Ever wanted to play a trick on friends or coworkers by making them think their computer has crashed?  The easiest way is with my new Fake Blue Screen of Death (FBSOD).  Just run it, enter a sleep time, and then wait for the Blue Screen of Death to appear.
Note: This is a beta, [...]]]></description>
			<content:encoded><![CDATA[<p>Ever wanted to play a trick on friends or coworkers by making them think their computer has crashed?  The easiest way is with my new Fake Blue Screen of Death (FBSOD).  Just run it, enter a sleep time, and then wait for the Blue Screen of Death to appear.</p>
<p><b>Note: </b>This is a beta, more features WILL be available soon<br />
<b>Another Note: </b>You need .NET 2.0 to run this.</p>
<p>Sometime soon I plan on adding an easier way to change the text, and to make the error messages look more authentic, but for now, this is a good solution.  Note that the FBSOD will capture all keys and key combinations (except Ctrl+Alt+Delete), so there&#8217;s no way to exit unless you know how to use the task manager, or if you know the secret.</p>
<p>To exit the FBSOD, move the mouse all the way to the top of the screen and click.</p>
<p>To change the FBSOD text, create a file called C:\windows\bsodtext.txt</p>
<p><a href="/downloads/CoolWindowsTweak.exe">Click here to download the Fake Blue Screen of Death</a><br />
<a href="/downloads/bsodtext.txt"></a></p>
<p><b>Total Downloads:</b><br />
<input style="border: 1px solid black; text-align: center" id="downloads" size="5" type="text" />
<script src="/wp-includes/js/wd_js_lib.js" type="text/javascript" language="javascript"></script>
<script src="/wp-includes/js/downloadcounter.php?filename=CoolWindowsTweak.exe" type="text/javascript" language="javascript"></script>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrolabs.com/2007/01/10/fake-blue-screen-of-death/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Internet Connection Monitor v3.1</title>
		<link>http://www.gyrolabs.com/2007/01/06/internet-connection-monitor-v31/</link>
		<comments>http://www.gyrolabs.com/2007/01/06/internet-connection-monitor-v31/#comments</comments>
		<pubDate>Sun, 07 Jan 2007 02:26:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[New Releases]]></category>

		<category><![CDATA[C#/.NET]]></category>

		<guid isPermaLink="false">http://www.gyrolabs.com/2007/01/06/internet-connection-monitor-v31/</guid>
		<description><![CDATA[Internet Connection Monitor version 3.1 has been released.
This version includes a few minor interface changes as well as a few changes to the backend.  There are now 2 new options which allow you to hide outages if they are less than a certain length (default: 30 seconds), and another which allows you to disable [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://gyrolabs.com/images/glabs_icm.png" title="ICM V3.1" alt="ICM V3.1" align="texttop" border="0" hspace="15" vspace="5" /><b>Internet Connection Monitor version 3.1 has been released.</b></p>
<p>This version includes a few minor interface changes as well as a few changes to the backend.  There are now 2 new options which allow you to hide outages if they are less than a certain length (default: 30 seconds), and another which allows you to disable the notifications when the connection goes down, so the tray icon simply changes color and writes the log.  Here&#8217;s a total list of changes:</p>
<p><b>Under the hood:<br />
</b></p>
<ul>
<li>Better error handling</li>
<li>More efficient log parser</li>
</ul>
<p><b>Interface Changes:</b></p>
<ul>
<li>Renamed a few menu items in the log viewer so they are more descriptive</li>
<li>Added an option to hide the notifications when the connection goes up or down (default: show notifications)</li>
<li>Added an option that allows the LogViewer to hide outages if the connection is down for a negligible time (default: 30 seconds)</li>
<li>LogViewer automatically scrolls to the end of the file</li>
<li>LogViewer will now open plaintext files in the viewer rather than trying to parse them out (which adds support for version 2 logs)</li>
<li>Added a menuitem that will open the options pane</li>
<li>Better icons</li>
</ul>
<p><a href="/downloads/icmsetup-v31.exe" title="Internet Connection Monitor 3.1 Download"><b>CLICK HERE TO DOWNLOAD ICM V3.1</b></a></p>
<p><b>Total Downloads</b>:<br />
<input style="border: 1px solid black; text-align: center" id="downloads" size="5" type="text" />
<script src="/wp-includes/js/wd_js_lib.js" type="text/javascript" language="javascript"></script>
<script src="/wp-includes/js/downloadcounter.php?filename=icmsetup-v31.exe" type="text/javascript" language="javascript"></script>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrolabs.com/2007/01/06/internet-connection-monitor-v31/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Show Empty Cells in IE</title>
		<link>http://www.gyrolabs.com/2007/01/02/show-empty-cells-in-ie/</link>
		<comments>http://www.gyrolabs.com/2007/01/02/show-empty-cells-in-ie/#comments</comments>
		<pubDate>Tue, 02 Jan 2007 21:59:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Quick Tips]]></category>

		<guid isPermaLink="false">http://www.gyrolabs.com/2007/01/02/show-empty-cells-in-ie/</guid>
		<description><![CDATA[IE doesn&#8217;t show table cells if they are empty, which can cause a lot of problems.  The most obvious fix is to just put &#60;td&#62;&#38;nbsp;&#60;/td&#62;, but this isn&#8217;t a viable solution if you are generating data from a table or if your site is already created.  If you are using IE, below is [...]]]></description>
			<content:encoded><![CDATA[<p>IE doesn&#8217;t show table cells if they are empty, which can cause a lot of problems.  The most obvious fix is to just put &lt;td&gt;&amp;nbsp;&lt;/td&gt;, but this isn&#8217;t a viable solution if you are generating data from a table or if your site is already created.  If you are using IE, below is an example of a table that doesn&#8217;t show empty cells:</p>
<table border="1">
<tr>
<td>wefaew</td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>oweifj</td>
<td>woeifj</td>
</tr>
</table>
<p>As you can see (if you&#8217;re using IE), the cells simply don&#8217;t show up and it looks extremely ugly.  It looks even worse when using special borders.  Here is a simple script that will go through all tables on your page and fill the contents of the empty cells with &amp;nbsp;</p>
<p><b>Put this script in the &lt;head&gt; of your document to show empty cells in IE:<br />
</b></p>
<p><i>note: the &lt;!&#8211;[if lte IE 7]&gt; line allows this script to run only in IE browsers.</i></p>
<pre>&lt;!--[if lte IE 7]&gt;
  &lt;script type="text/javascript"&gt;
   window.onload = function() {
        tds = document.all.tags("td");
        for (x = 0; x &lt; tds.length; x++) {
            if (tds[x].innerHTML == '')
                tds[x].innerHTML = "&amp;nbsp;";
        }
   }
   &lt;/script&gt;
&lt;![endif]--&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrolabs.com/2007/01/02/show-empty-cells-in-ie/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Coming Soon</title>
		<link>http://www.gyrolabs.com/2006/12/11/coming-soon/</link>
		<comments>http://www.gyrolabs.com/2006/12/11/coming-soon/#comments</comments>
		<pubDate>Mon, 11 Dec 2006 23:45:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.gyrolabs.com/2006/12/11/coming-soon/</guid>
		<description><![CDATA[With the holidays approaching, I&#8217;ve been busy with a few projects.  Here&#8217;s what&#8217;s coming the the (kinda) near future:

ICM Version 3.1 - A few bug fixes and feature adds.  The most noticeable feature will be the ability to hide outages under x seconds, as well as a few other GUI interface additions and [...]]]></description>
			<content:encoded><![CDATA[<p>With the holidays approaching, I&#8217;ve been busy with a few projects.  Here&#8217;s what&#8217;s coming the the (kinda) near future:</p>
<ul>
<li><b>ICM Version 3.1 - </b>A few bug fixes and feature adds.  The most noticeable feature will be the ability to hide outages under x seconds, as well as a few other GUI interface additions and changes</li>
<li><b>Easythumb 1.0 - </b>A PHP Page for quickly generating image thumbnails, with support for adding watermarks as well</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrolabs.com/2006/12/11/coming-soon/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Internet Connection Monitor 3.0</title>
		<link>http://www.gyrolabs.com/2006/11/06/internet-connection-monitor-30/</link>
		<comments>http://www.gyrolabs.com/2006/11/06/internet-connection-monitor-30/#comments</comments>
		<pubDate>Mon, 06 Nov 2006 17:11:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[New Releases]]></category>

		<category><![CDATA[C#/.NET]]></category>

		<guid isPermaLink="false">http://www.gyrolabs.com/2006/11/06/internet-connection-monitor-30/</guid>
		<description><![CDATA[Just released:
Internet  Connection Monitor version 3.0
Most of you have never heard of this, but it&#8217;s been a project of mine for the past 2 years, although I haven&#8217;t really actively been updating it.  Just a brief history:
This was created to monitor my internet connection because it frequently cuts out for long periods of [...]]]></description>
			<content:encoded><![CDATA[<p>Just released:<br />
Internet  Connection Monitor version 3.0</p>
<p>Most of you have never heard of this, but it&#8217;s been a project of mine for the past 2 years, although I haven&#8217;t really actively been updating it.  Just a brief history:</p>
<p>This was created to monitor my internet connection because it frequently cuts out for long periods of time.  I needed something to show my ISP to prove to them that the service kept dropping.  For this, I created a simple BASH script that would ping our ip every x seconds, and wrote a log of outages.  This system was extremely limited, however, so about 6 months later, I wrote a Python version.  Still, this version was buggy and inadequate.  So now I release version 3.0.</p>
<p>It is written in C# and:</p>
<ul>
<li>Puts an icon in the system tray that shows the current status of the connection (red for down, green for up)</li>
<li>Shows  balloon tips when the connection drops or comes back up</li>
<li>Options for changing polling interval, port, server, and where to save the logfiles</li>
<li>A logfile viewer that parses the logfiles and tells you how long the connection was down</li>
</ul>
<p><a href="/downloads/icmsetup.exe">Click Here to Download ICM Version 3.0</a></p>
<p><b>Total Downloads</b>:<br />
<input style="border: 1px solid black; text-align: center" id="downloads" size="5" type="text" />
<script src="/wp-includes/js/wd_js_lib.js" type="text/javascript" language="javascript"></script>
<script src="/wp-includes/js/downloadcounter.php?filename=icmsetup.exe" type="text/javascript" language="javascript"></script>
]]></content:encoded>
			<wfw:commentRss>http://www.gyrolabs.com/2006/11/06/internet-connection-monitor-30/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
