<?xml version="1.0" encoding="UTF-8"?>
<rss 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/" version="2.0">

<channel>
	<title>Ray Jezek's Blog</title>
	
	<link>http://ray.jez.net</link>
	<description>AllThingsR</description>
	<lastBuildDate>Sun, 10 Jan 2010 01:51:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.jez.net/RayJezeksBlog" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="rayjezeksblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Setting up T-Mobile MMS for LG KS360</title>
		<link>http://ray.jez.net/setting-up-t-mobile-mms-for-lg-ks360/</link>
		<comments>http://ray.jez.net/setting-up-t-mobile-mms-for-lg-ks360/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 01:51:33 +0000</pubDate>
		<dc:creator>ray</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[ks360]]></category>
		<category><![CDATA[mobile phone]]></category>
		<category><![CDATA[mss]]></category>
		<category><![CDATA[t-mobile]]></category>

		<guid isPermaLink="false">http://ray.jez.net/?p=756</guid>
		<description><![CDATA[My wife has an unlocked LG KS360 and we haven&#8217;t been able to send or receive MMS messages for the longest time.  I looked all over the internet to find settings and none of them worked.  Of course the most obvious solution was the one that worked.
I just called T-Mobile and told them [...]]]></description>
			<content:encoded><![CDATA[<p>My wife has an unlocked LG KS360 and we haven&#8217;t been able to send or receive MMS messages for the longest time.  I looked all over the internet to find settings and none of them worked.  Of course the most obvious solution was the one that worked.</p>
<p>I just called T-Mobile and told them it didn&#8217;t work.  They don&#8217;t have the KS360 in their support database because it&#8217;s a European phone, so I just had them send me the setting for the KS500.</p>
<p>The settings arrived to the phone and I just had to hit activate!  Working like a charm.  A rare case where the internet loses.</p>
<div class="feedflare">
<a href="http://feeds.jez.net/~ff/RayJezeksBlog?a=ZkkzzSd0FDo:rA5tfx25TiU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/RayJezeksBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.jez.net/~ff/RayJezeksBlog?a=ZkkzzSd0FDo:rA5tfx25TiU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/RayJezeksBlog?i=ZkkzzSd0FDo:rA5tfx25TiU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.jez.net/~ff/RayJezeksBlog?a=ZkkzzSd0FDo:rA5tfx25TiU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/RayJezeksBlog?d=dnMXMwOfBR0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/RayJezeksBlog/~4/ZkkzzSd0FDo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ray.jez.net/setting-up-t-mobile-mms-for-lg-ks360/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tethering my BlackBerry Tour in Windows 7</title>
		<link>http://ray.jez.net/tethering-my-blackberry-tour-in-windows-7/</link>
		<comments>http://ray.jez.net/tethering-my-blackberry-tour-in-windows-7/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 16:09:19 +0000</pubDate>
		<dc:creator>ray</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[modem]]></category>
		<category><![CDATA[Sprint]]></category>
		<category><![CDATA[tether]]></category>
		<category><![CDATA[windows 7]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://ray.jez.net/?p=746</guid>
		<description><![CDATA[I just installed the RTM version of Windows 7 on my laptop and so I had to re-setup bluetooth tethering for my BlackBerry.  To my surprise things didn’t go as smoothly as they did when I posted my experience with tethering my 8330.  Establishing a bluetooth connection was still a straightforward process, however getting the [...]]]></description>
			<content:encoded><![CDATA[<p>I just installed the RTM version of Windows 7 on my laptop and so I had to re-setup bluetooth tethering for my BlackBerry.  To my surprise things didn’t go as smoothly as they did when I posted <a href="http://ray.jez.net/how-to-tether-a-blackberry-8330-via-bluetooth/">my experience with tethering my 8330</a>.  Establishing a bluetooth connection was still a straightforward process, however getting the phone to establish a stable connection and provide reliable we browsing was a different matter.</p>
<p>I was able to eventually get tethering working again but I had to try several different things, which in the end, some way or another, gave me success.  While the basic instructions in <a href="http://ray.jez.net/how-to-tether-a-blackberry-8330-via-bluetooth/">my previous post</a> are still accurate, the following additional tips may be the very thing needed to solve any snafus you may encounter.</p>
<p>1)  <strong>Make sure you have the latest version of the BlackBerry USB and Modem drivers</strong>.  You can find the <a href="https://www.blackberry.com/Downloads/entry.do?code=A8BAA56554F96369AB93E4F3BB068C22" target="_blank">latest version of the drivers on BlackBerry’s website</a>.  Just select “BlackBerry USB and Modem Drivers” from the dropdown and follow the instructions.  Also be sure to reboot after you install the drivers.</p>
<p>2)  <strong>Install SmartView</strong>.  Even though Sprint’s SmartView does not support the Tour (at least not yet), installing the application will install some of the communication components that may be needed in order to get your connection working.  If you are using a BlackBerry that is supported by SmartView it’s also a good way to just make sure that even wired tethering works.  You can download the SmartView application <a href="http://www6.sprint.com/downloads/sprint_smartview/executables/SSV_Windows2.25.0046.exe" target="_blank">here</a>.</p>
<p>3) <strong>Reboot your blackberry</strong>.  This one may seem surprising but this was actually the problem I had getting up and running the second time I tried tethering this phone.  I had all the drivers and software installed but still was getting communication errors once I tried to dial out.  So as a last ditch effort I did the ole alt, shift, del reboot on the BlackBerry and walla, everything worked perfectly!</p>
<p>There may be more tricks to getting past some of the hurdles that you may run into, but these 3 are the ones that have given me some success in the past.</p>
<div class="feedflare">
<a href="http://feeds.jez.net/~ff/RayJezeksBlog?a=JJpniBxZhr4:eqm4n4rxeaw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/RayJezeksBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.jez.net/~ff/RayJezeksBlog?a=JJpniBxZhr4:eqm4n4rxeaw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/RayJezeksBlog?i=JJpniBxZhr4:eqm4n4rxeaw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.jez.net/~ff/RayJezeksBlog?a=JJpniBxZhr4:eqm4n4rxeaw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/RayJezeksBlog?d=dnMXMwOfBR0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/RayJezeksBlog/~4/JJpniBxZhr4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ray.jez.net/tethering-my-blackberry-tour-in-windows-7/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DeScramble – Game Logic</title>
		<link>http://ray.jez.net/descramble-game-logic/</link>
		<comments>http://ray.jez.net/descramble-game-logic/#comments</comments>
		<pubDate>Fri, 08 May 2009 13:23:57 +0000</pubDate>
		<dc:creator>ray</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[DeScramble]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[cheat]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Scramble]]></category>

		<guid isPermaLink="false">http://ray.jez.net/?p=727</guid>
		<description><![CDATA[This is the 4th installment about my Scramble solver, DeScramble.  You can check out the first 3 parts here, here, and here.  In this post I am going to write a little about the game logic and how the program is setup to play the game.
The rules of the game are pretty simple; find words [...]]]></description>
			<content:encoded><![CDATA[<p>This is the 4th installment about my <a href="http://apps.facebook.com/scramblegame/" target="_blank">Scramble</a> solver, <a href="http://ray.jez.net/tag/descramble/">DeScramble</a>.  You can check out the first 3 parts <a href="http://ray.jez.net/descramble-an-introduction/">here</a>, <a href="http://ray.jez.net/descramble-ui-overview/">here</a>, and <a href="http://ray.jez.net/descramble-video-demo/">here</a>.  In this post I am going to write a little about the game logic and how the program is setup to play the game.</p>
<p>The <a href="http://apps.facebook.com/scramblegame/how_to_play.php" target="_blank">rules of the game</a> are pretty simple; find words on the game board using a chain of adjacent letters and use each letter only once per word.  The brunt of the logic, which isn’t much, is knowing which letters are adjacent to which.  Since the game board is a square and the adjacent letters are above and below one another, we have to create a map in the code to tell us which letters are next to which.</p>
<table style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" cellspacing="0" cellpadding="2" width="600">
<tbody>
<tr>
<td style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" rowspan="7" width="300" valign="top"><a href="http://ray.jez.net/wp-content/uploads/2009/05/board.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="board" src="http://ray.jez.net/wp-content/uploads/2009/05/board-thumb.png" border="0" alt="board" width="240" height="240" /></a></td>
<td style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" width="300" valign="top">
<p align="left"><span style="text-decoration: underline;"><span style="font-size: medium;"><strong>Valid Moves</strong></span></span></p>
</td>
</tr>
<tr>
<td style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" width="300" valign="top"><strong>0 =&gt; 1, 5, 6</strong></td>
</tr>
<tr>
<td style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" width="300" valign="top"><strong>1 =&gt; 0, 2, 5, 6, 7</strong></td>
</tr>
<tr>
<td style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" width="300" valign="top"><strong>….</strong></td>
</tr>
<tr>
<td style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" width="300" valign="top"><strong>12 =&gt; 6, 7, 8, 11, 13, 16, 17, 18</strong></td>
</tr>
<tr>
<td style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" width="300" valign="top"><strong>….</strong></td>
</tr>
<tr>
<td style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" width="300" height="100" valign="top"><strong>24 =&gt; 18, 19, 23</strong></td>
</tr>
</tbody>
</table>
<p>We could of course create a static map of which squares are adjacent to which, but this doesn’t allow us the flexibility to solve for different sized boards (Scramble has both 4&#215;4 and 5&#215;5 games).  So how do we go about creating this map in a flexible way?  Before I show the code to setup the valid character chains I think it will be helpful to go over a few of the basic constructs of the solver.</p>
<p>A game board is made up a many board letters:</p>
<div class="csharpcode">
<pre><span class="utype">Collection</span>&lt;<span class="utype">BoardLetter</span>&gt; gameBoard = <span class="utype">new</span> <span class="utype">Collection</span>&lt;<span class="utype">BoardLetter</span>&gt;();</pre>
<pre class="alt"><span class="kwrd">internal</span> <span class="kwrd">class</span> <span class="utype">BoardLetter</span></pre>
<pre>{</pre>
<pre class="alt">  <span class="kwrd">public</span> <span class="kwrd">char</span> Letter;</pre>
<pre>  <span class="kwrd">public</span> <span class="kwrd">sbyte</span> Position;</pre>
<pre class="alt"></pre>
<pre>  <span class="kwrd">public</span> BoardLetter(<span class="kwrd">char</span> letter, <span class="kwrd">sbyte</span> position)</pre>
<pre class="alt">  {</pre>
<pre>    Letter = letter;</pre>
<pre class="alt">    Position = position;</pre>
<pre>  }</pre>
<pre class="alt">}</pre>
<pre></pre>
</div>
<p>The dictionary of words is partitioned by first letter so searching goes a little faster:</p>
<div class="csharpcode">
<pre class="alt"><span class="utype">Dictionary</span>&lt;<span class="kwrd">char</span>, <span class="utype">List</span>&lt;<span class="kwrd">string</span>&gt;&gt; dictionary = <span class="kwrd">new</span> <span class="utype">Dictionary</span>&lt;<span class="kwrd">char</span>, <span class="utype">List</span>&lt;<span class="kwrd">string</span>&gt;&gt;();</pre>
</div>
<p>&nbsp;<br />
The valid character chains are keyed off position and contain a list of BoardLetters adjacent:</p>
<div class="csharpcode">
<pre class="alt"><span class="utype">Dictionary</span>&lt;<span class="kwrd">sbyte</span>, <span class="utype">Collection</span>&lt;<span class="utype">BoardLetter</span>&gt;&gt; validCharacterChains =
  <span class="kwrd">new</span> <span class="utype">Dictionary</span>&lt;<span class="kwrd">sbyte</span>, <span class="utype">Collection</span>&lt;<span class="utype">BoardLetter</span>&gt;&gt;();</pre>
</div>
<p>&nbsp;<br />
Creating the character chains is pretty straight forward.  The general formula for finding adjacent positions would be position ± 1 and position ± row ± 1.  This formula works for all positions except those on the edge of the game board (top/bottom row and right/left column).  Since we know the game boards are always square finding the edge positions to handle the exceptions is simplified.  The finished method:</p>
<div class="csharpcode">
<pre class="alt"><span class="kwrd">private</span> <span class="kwrd">void</span> LoadCharChains()</pre>
<pre>{</pre>
<pre class="alt">  validCharacterChains.Clear();</pre>
<pre>  <span class="kwrd">for</span> (<span class="kwrd">sbyte</span> i = 0; i &lt; puzzleLength; i++)</pre>
<pre class="alt">  {</pre>
<pre>    validCharacterChains.Add(i, <span class="kwrd">new</span> <span class="utype">Collection</span>&lt;<span class="utype">BoardLetter</span>&gt;());</pre>
<pre class="alt">    <span class="kwrd">double</span> col = (i + 1) % square;</pre>
<pre>    <span class="kwrd">if</span> (col != 1) <span class="rem">// not left col so there is a char to the left</span></pre>
<pre class="alt">    {</pre>
<pre>      validCharacterChains[i].Add(gameBoard[i - 1]);</pre>
<pre class="alt">    }</pre>
<pre>    <span class="kwrd">if</span> (col != 0) <span class="rem">// not right col so there is a char to the right</span></pre>
<pre class="alt">    {</pre>
<pre>      validCharacterChains[i].Add(gameBoard[i + 1]);</pre>
<pre class="alt">    }</pre>
<pre>    <span class="kwrd">if</span> (i &gt;= square) <span class="rem">// not first row so there is a char above</span></pre>
<pre class="alt">    {</pre>
<pre>      validCharacterChains[i].Add(gameBoard[i - square]);</pre>
<pre class="alt">      <span class="kwrd">if</span> (col != 1) <span class="rem">// not first row not left col so there is a char above left</span></pre>
<pre>      {</pre>
<pre class="alt">        validCharacterChains[i].Add(gameBoard[i - square - 1]);</pre>
<pre>      }</pre>
<pre class="alt">      <span class="kwrd">if</span> (col != 0) <span class="rem">// not first row not right col so there is a char above right</span></pre>
<pre>      {</pre>
<pre class="alt">        validCharacterChains[i].Add(gameBoard[i - square + 1]);</pre>
<pre>      }</pre>
<pre class="alt">    }</pre>
<pre>    <span class="kwrd">if</span> (i &lt; (puzzleLength - square)) <span class="rem">// not last row so there is a char below</span></pre>
<pre class="alt">    {</pre>
<pre>      validCharacterChains[i].Add(gameBoard[i + square]);</pre>
<pre class="alt">      <span class="kwrd">if</span> (col != 1) <span class="rem">// not last row not left col so there is a char below left</span></pre>
<pre>      {</pre>
<pre class="alt">        validCharacterChains[i].Add(gameBoard[i + square - 1]);</pre>
<pre>      }</pre>
<pre class="alt">      <span class="kwrd">if</span> (col != 0) <span class="rem">// not last row not right col so there is a char below right</span></pre>
<pre>      {</pre>
<pre class="alt">        validCharacterChains[i].Add(gameBoard[i + square + 1]);</pre>
<pre>      }</pre>
<pre class="alt">    }</pre>
<pre>  }</pre>
<pre class="alt">}</pre>
</div>
<p>&nbsp;<br />
Now that we have the valid moves mapped out we can just loop though the dictionary of words to see if they can be found on the game board.  We use recursion for this keeping track of where we have traversed on the board so we don’t use the same position twice.  Not the cleanest code but it works:</p>
<div class="csharpcode">
<pre class="alt"><span class="kwrd">private</span> <span class="kwrd">void</span> SolvePuzzle()</pre>
<pre>{</pre>
<pre class="alt">  <span class="kwrd">foreach</span> <span class="utype">BoardLetter</span> boardLetter <span class="kwrd">in</span> gameBoard)</pre>
<pre>  {</pre>
<pre class="alt">    <span class="kwrd">foreach</span> (<span class="kwrd">string</span> possibleAnswer <span class="kwrd">in</span> dictionary[boardLetter.Letter])</pre>
<pre>    {</pre>
<pre class="alt">      <span class="kwrd">if</span> (!answers.Contains(possibleAnswer))</pre>
<pre>      {</pre>
<pre class="alt">        foundAnswer = <span class="kwrd">false</span>;</pre>
<pre>        <span class="utype">List</span>&lt;<span class="kwrd">sbyte</span>&gt; testedPositions = <span class="kwrd">new</span> <span class="utype">List</span>&lt;<span class="kwrd">sbyte</span>&gt;();</pre>
<pre class="alt">        testedPositions.Add(boardLetter.Position);</pre>
<pre>        <span class="kwrd">string</span> startWord = boardLetter.Letter.ToString();</pre>
<pre class="alt">        <span class="kwrd">if</span> (startWord.Equals(<span class="str">"q"</span>))</pre>
<pre>        {</pre>
<pre class="alt">          startWord = <span class="str">"qu"</span>;</pre>
<pre>        }</pre>
<pre class="alt">        CheckBoardForAnswer(boardLetter, startWord, possibleAnswer, testedPositions);</pre>
<pre>      }</pre>
<pre class="alt">    }</pre>
<pre>  }</pre>
<pre class="alt">}</pre>
<pre></pre>
<pre class="alt"><span class="kwrd">private</span> <span class="kwrd">void</span> CheckBoardForAnswer(<span class="utype">BoardLetter</span> boardLetter, <span class="kwrd">string</span> workingWord, <span class="kwrd">string</span> possibleAnswer,</pre>
<pre>        <span class="utype">List</span>&lt;<span class="kwrd">sbyte</span>&gt; testedPositions)</pre>
<pre class="alt">{</pre>
<pre>  <span class="kwrd">for</span> (<span class="kwrd">sbyte</span> i = 0; i &lt; validCharacterChains[boardLetter.Position].Count; i++)</pre>
<pre class="alt">  {</pre>
<pre>    <span class="kwrd">if</span> (!foundAnswer)</pre>
<pre class="alt">    {</pre>
<pre>      <span class="utype">BoardLetter</span> workingLetter = validCharacterChains[boardLetter.Position][i];</pre>
<pre class="alt">      <span class="kwrd">if</span> (!testedPositions.Contains(workingLetter.Position))</pre>
<pre>      {</pre>
<pre class="alt">        <span class="kwrd">string</span> testWord = <span class="utype">String</span>.Concat(workingWord, workingLetter.Letter);</pre>
<pre>        <span class="rem">// if we've added a q then go ahead and add a u</span></pre>
<pre class="alt">        <span class="kwrd">if</span> (testWord.EndsWith(<span class="str">"q"</span>))</pre>
<pre>        {</pre>
<pre class="alt">          testWord += <span class="str">"u"</span>;</pre>
<pre>        }</pre>
<pre class="alt">        <span class="kwrd">if</span> (testWord.Equals(possibleAnswer))</pre>
<pre>        {</pre>
<pre class="alt">          answers.Add(possibleAnswer);</pre>
<pre>          foundAnswer = <span class="kwrd">true</span>;</pre>
<pre class="alt">        }</pre>
<pre>        <span class="kwrd">else</span> <span class="kwrd">if</span> (possibleAnswer.StartsWith(testWord))</pre>
<pre class="alt">        {</pre>
<pre>          testedPositions.Add(workingLetter.Position);</pre>
<pre class="alt">          CheckBoardForAnswer(workingLetter, testWord, possibleAnswer, testedPositions);</pre>
<pre>          testedPositions.Remove(workingLetter.Position);</pre>
<pre class="alt">        }</pre>
<pre>      }</pre>
<pre class="alt">    }</pre>
<pre>  }</pre>
<pre class="alt">}</pre>
</div>
<p>&nbsp;<br />
In my next (and most likely last) post I will go over how the screen processing works.</p>
<div class="feedflare">
<a href="http://feeds.jez.net/~ff/RayJezeksBlog?a=kkbjcCRkv2g:H9Rp61p0rM0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/RayJezeksBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.jez.net/~ff/RayJezeksBlog?a=kkbjcCRkv2g:H9Rp61p0rM0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/RayJezeksBlog?i=kkbjcCRkv2g:H9Rp61p0rM0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.jez.net/~ff/RayJezeksBlog?a=kkbjcCRkv2g:H9Rp61p0rM0:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/RayJezeksBlog?d=dnMXMwOfBR0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/RayJezeksBlog/~4/kkbjcCRkv2g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ray.jez.net/descramble-game-logic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>History of Personal Computing</title>
		<link>http://ray.jez.net/history-of-personal-computing/</link>
		<comments>http://ray.jez.net/history-of-personal-computing/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 12:53:08 +0000</pubDate>
		<dc:creator>ray</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[channel9]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Nerds]]></category>
		<category><![CDATA[personal computer]]></category>

		<guid isPermaLink="false">http://ray.jez.net/?p=722</guid>
		<description><![CDATA[I have really been enjoying the Channel9 series about the history of Microsoft.  So far they have released years 1975-1981.  It’s always interesting to think about the chain of events that took place to bring us to where we are today and to be inspired by the stories of the pioneers who laid the foundation [...]]]></description>
			<content:encoded><![CDATA[<p>I have really been enjoying the <a href="http://channel9.msdn.com/shows/History/The-History-of-Microsoft-1981/" target="_blank">Channel9 series about the history of Microsoft</a>.  So far they have released years 1975-1981.  It’s always interesting to think about the chain of events that took place to bring us to where we are today and to be inspired by the stories of the pioneers who laid the foundation we stand on.</p>
<p>After watching the series I started digging around for some other videos that had a similar theme about the history of personal computers and found this great documentary called <a href="http://video.google.com/videosearch?q=triumph+of+the+nerds+DVDRip" target="_blank">Triumph of the Nerds</a> that aired on PBS in 1996 (hard to believe that is 13 years ago!).  Even though I knew a large portion of the history covered in the piece, it was a lot of fun to listen to the interviews of the guys who lived it and to think about what new frontiers are still ahead for us to conquer!</p>
<p>So if you’re in the mood for a little nostalgia, I highly recommend checking out both of these!</p>
<div class="feedflare">
<a href="http://feeds.jez.net/~ff/RayJezeksBlog?a=mrv8AHwsy2g:R6sfkyevmXo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/RayJezeksBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.jez.net/~ff/RayJezeksBlog?a=mrv8AHwsy2g:R6sfkyevmXo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/RayJezeksBlog?i=mrv8AHwsy2g:R6sfkyevmXo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.jez.net/~ff/RayJezeksBlog?a=mrv8AHwsy2g:R6sfkyevmXo:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/RayJezeksBlog?d=dnMXMwOfBR0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/RayJezeksBlog/~4/mrv8AHwsy2g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ray.jez.net/history-of-personal-computing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 – First Impressions</title>
		<link>http://ray.jez.net/windows-7-first-impressions/</link>
		<comments>http://ray.jez.net/windows-7-first-impressions/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 03:04:45 +0000</pubDate>
		<dc:creator>ray</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[windows 7]]></category>

		<guid isPermaLink="false">http://ray.jez.net/?p=708</guid>
		<description><![CDATA[I decided to install Windows 7 on my laptop today.  The primary reason for installing beta software on this computer?   Speed.  Bottom line is Vista ran like a dog on my laptop (Lenovo x61) and it was worth it for me to start over in the hopes that Win7 really is as fast as people [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ray.jez.net/wp-content/uploads/2009/01/win7fish.png"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 5px 5px; display: inline; border-top: 0px; border-right: 0px" title="win7fish" src="http://ray.jez.net/wp-content/uploads/2009/01/win7fish-thumb.png" border="0" alt="win7fish" width="244" height="186" align="right" /></a>I decided to install <a href="http://www.microsoft.com/windows/windows-7/beta-download.aspx" target="_blank">Windows 7</a> on my laptop today.  The primary reason for installing beta software on this computer?   Speed.  Bottom line is Vista ran like a dog on my laptop (Lenovo x61) and it was worth it for me to start over in the hopes that Win7 really is <a href="http://www.pcworld.com/article/156647/windows_7_less_of_a_resourcehog_than_vista.html" target="_blank">as fast as people are saying</a>.  It also helped that <a href="http://ryanrinaldi.com/" target="_blank">Ryan</a> decided to take the Win7 plunge a few days ago and since nothing caught on fire for him I decided it might be safe to give it a go.</p>
<p>So far So Good.</p>
<p>The install was very smooth, took about an hour+, and ran into no problems whatsoever.  Everything but the biometrics scanner came up working on first boot which was pretty impressive considering this was a clean install. </p>
<p>From a speed perspective Win7 is a huge upgrade.  But then again so is a fresh install of XP, so we will see if I still feel the same way about performance in a month or so.  The start menu is snappy, window cycling is very fast, and coming out of hibernation is about 200% faster than Vista.  With a 5400 RPM drive, disk churn is a killer, and Win7 seems to keep the crunching to a minimum resulting in the OS staying on its toes.</p>
<p>IE8 also seems to be tweaked for performance.  I stopped using IE7 about 6 months ago because I hated waiting a minute and a half for the browser to start up.  Then the painfully slow rendering engine put me over the top and I switched to Firefox.  It was like going from dial-up to broadband when I made the switch.  IE8 seems to be about as fast as Firefox so I think I will hold off on putting FF back on this machine for a few weeks and see how it goes.</p>
<p>Other things I’ve noticed so far (1/2 day of usage):</p>
<ul>
<li>Daemon tools doesn’t work – I don’t have a CD drive on this laptop so having a good tool to mount disc images is a must.  While I prefer Daemon tools, <a href="http://www.poweriso.com/" target="_blank">PowerISO</a> seems to work in 7 just fine.</li>
<li>You cannot use the WIN-E shortcut twice in a row.  It seems Win7 will only open up 1 explorer instance at a time.  In order for WIN-E to work a second time the existing explorer window cannot be in the Libraries location.  Even if you navigate away but go back to Libraries folder it wont open another instance.  Very odd.</li>
<li>UAC is noticeably less obtrusive.  Simply click on “show all processes” in task manager and you’ll quickly realize that you no longer have to “allow” yourself to do the things you’re trying to do (crazy right?).</li>
<li>My laptop actually runs cooler.  Because less churn is less burn. <img src='http://ray.jez.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Windows media player doesn’t seem to dock in the taskbar anymore.  You can still access the play and pause buttons by mousing over the icon and waiting a second but this seems a lot less convenient to me.</li>
<li>Network connections are easier to manage.  Instead of having to click on the network icon in the tray, open a window, and pick the network you want to connect to, you can simply access the list and connect/disconnect right from the system tray.  Very nice.</li>
</ul>
<p> </p>
<p> I will continue to post additional things as I come across them.  Tomorrow I will get all the dev tools installed and see how everything works with using 7 as a dev platform.</p>
<div class="feedflare">
<a href="http://feeds.jez.net/~f/RayJezeksBlog?a=NEhbJGCK"><img src="http://feeds.feedburner.com/~f/RayJezeksBlog?d=41" border="0"></img></a> <a href="http://feeds.jez.net/~f/RayJezeksBlog?a=gpCp7L95"><img src="http://feeds.feedburner.com/~f/RayJezeksBlog?i=gpCp7L95" border="0"></img></a> <a href="http://feeds.jez.net/~f/RayJezeksBlog?a=HjFhFt0n"><img src="http://feeds.feedburner.com/~f/RayJezeksBlog?d=43" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/RayJezeksBlog/~4/Tyejm_vtbHQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ray.jez.net/windows-7-first-impressions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Tether a Blackberry 8330 via Bluetooth</title>
		<link>http://ray.jez.net/how-to-tether-a-blackberry-8330-via-bluetooth/</link>
		<comments>http://ray.jez.net/how-to-tether-a-blackberry-8330-via-bluetooth/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 00:46:27 +0000</pubDate>
		<dc:creator>ray</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[modem]]></category>
		<category><![CDATA[Sprint]]></category>
		<category><![CDATA[tether]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://ray.jez.net/?p=667</guid>
		<description><![CDATA[Walkthrough on how I managed to tether my Blackberry 8330 to my laptop via Bluetooth so I could wirelessly access the internet (via the Sprint network).]]></description>
			<content:encoded><![CDATA[<p>I recently switched from T-Mobile to Sprint for my cell phone carrier.  I tried many times to tether my Blackberry on T-Mobile and never was able to do it (not like it would have been all that great @ Edge speeds anyway).  Since the data connection on Sprint is a lot faster than it was on T-Mobile I figured I would try again to tether my device to my laptop so I could access the Internet while riding the train.  The setup was amazingly simple and works great.  No cords required, just turn on the laptop, keep the phone in my pocket and surf!  Here is the step-by-step on how I got it working:</p>
<p>1.  Once you have the phone paired with your computer, view it’s properties to make sure you have the dial-up networking service enabled.  You can go ahead and disable the 2 Blackberry services if you want.  Leaving them enabled may cause you to get annoying prompts about installing drivers for them.</p>
<p><a href="http://ray.jez.net/wp-content/uploads/2008/12/btdevs.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="btdevs" src="http://ray.jez.net/wp-content/uploads/2008/12/btdevs-thumb.png" border="0" alt="btdevs" width="303" height="365" /></a> <a href="http://ray.jez.net/wp-content/uploads/2008/12/props.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="props" src="http://ray.jez.net/wp-content/uploads/2008/12/props-thumb.png" border="0" alt="props" width="344" height="202" /></a></p>
<p>2.  Now that we have confirmed the service is available we need to make a new connection to dial out using the phone.  You can setup a new connection from the Network and Sharing Center in the Control Panel.</p>
<p><a href="http://ray.jez.net/wp-content/uploads/2008/12/cpnetwork.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="cpnetwork" src="http://ray.jez.net/wp-content/uploads/2008/12/cpnetwork-thumb.png" border="0" alt="cpnetwork" width="656" height="376" /></a></p>
<p>3.  Choose dial-up connection as the type.</p>
<p><a href="http://ray.jez.net/wp-content/uploads/2008/12/newconn.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="newconn" src="http://ray.jez.net/wp-content/uploads/2008/12/newconn-thumb.png" border="0" alt="newconn" width="632" height="469" /></a></p>
<p>4.  Choose Standard Modem over Bluetooth link.</p>
<p><a href="http://ray.jez.net/wp-content/uploads/2008/12/connviabt.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="connviabt" src="http://ray.jez.net/wp-content/uploads/2008/12/connviabt-thumb.png" border="0" alt="connviabt" width="632" height="469" /></a></p>
<p>5.  For the dialing properties all you need to enter is the phone number, #777.  No username or password is needed when connecting to the Sprint network.</p>
<p><a href="http://ray.jez.net/wp-content/uploads/2008/12/dialprops.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="dialprops" src="http://ray.jez.net/wp-content/uploads/2008/12/dialprops-thumb.png" border="0" alt="dialprops" width="632" height="469" /></a></p>
<p>6.  After setting up the dialing properties the computer will connect to the Internet and you can start browsing!</p>
<p><a href="http://ray.jez.net/wp-content/uploads/2008/12/tethercomplete.png"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="tethercomplete" src="http://ray.jez.net/wp-content/uploads/2008/12/tethercomplete-thumb.png" border="0" alt="tethercomplete" width="632" height="469" /></a></p>
<p>The setup works great although it is slower than when tethering with a USB cable, and the battery on my laptop seems to drain a lot faster when using the bluetooth connection.  Still, the convienience of not having to use a USB cable is a huge plus.</p>
<div class="feedflare">
<a href="http://feeds.jez.net/~f/RayJezeksBlog?a=MR0pK07y"><img src="http://feeds.feedburner.com/~f/RayJezeksBlog?d=41" border="0"></img></a> <a href="http://feeds.jez.net/~f/RayJezeksBlog?a=kzDE0T5q"><img src="http://feeds.feedburner.com/~f/RayJezeksBlog?i=kzDE0T5q" border="0"></img></a> <a href="http://feeds.jez.net/~f/RayJezeksBlog?a=lLeFAQOX"><img src="http://feeds.feedburner.com/~f/RayJezeksBlog?d=43" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/RayJezeksBlog/~4/sR9eAI3LBLQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ray.jez.net/how-to-tether-a-blackberry-8330-via-bluetooth/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Parallel Computing Videos</title>
		<link>http://ray.jez.net/parallel-computing-videos/</link>
		<comments>http://ray.jez.net/parallel-computing-videos/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 03:30:43 +0000</pubDate>
		<dc:creator>ray</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[parallel programming]]></category>
		<category><![CDATA[parallelism]]></category>
		<category><![CDATA[PDC 2008]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://ray.jez.net/?p=645</guid>
		<description><![CDATA[In my PDC Day 3 post I mentioned how impressed I was with the Parallel Computing session.  Ryan, Richard, and I are still talking about some of the stuff we saw and learned in that session.  Daniel was kind enough to mention in the comments that the video from his PDC talk is now online.  [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://ray.jez.net/pdc-2008-day-3/" target="_blank">PDC Day 3</a> post I mentioned how impressed I was with the Parallel Computing session.  <a href="http://ryanrinaldi.com/" target="_blank">Ryan</a>, <a href="http://blogs.geekdojo.net/richard/" target="_blank">Richard</a>, and I are still talking about some of the stuff we saw and learned in that session.  <a href="http://www.danielmoth.com/Blog/" target="_blank">Daniel</a> was kind enough to mention in the comments that the <a href="http://channel9.msdn.com/pdc2008/TL26/" target="_blank">video from his PDC</a> talk is now online.  If you weren’t able to attend PDC or you didn’t make it to the session this is a must see video!</p>
<p>I also noticed on Daniel’s blog that he posted links to a <a href="http://www.danielmoth.com/Blog/2008/11/fishbowl-video-interview-on-parallelism.html" target="_blank">video of an interview he did about parallelism at Tech Ed EMEA</a> .  This interview is a nice compliment to the PDC session as it reiterates some of the important points of parallel computing such as what parallelism is (<a href="http://www.danielmoth.com/Blog/2008/11/threadingconcurrency-vs-parallelism.html" target="_blank">as opposed to just multi-threading</a>) and why it’s so critical to understand how to leverage the power of multiple cores today given the prospect that 32+ core machines will be standard in the not too distant future.</p>
<p>It’s inevitable that parallelism will become a critical aspect of software development in the future and it’s nice to see Microsoft doing some great work in this area bringing such a vital (and complex) technology to the mainstream.</p>
<div class="feedflare">
<a href="http://feeds.jez.net/~f/RayJezeksBlog?a=vIAOtOBK"><img src="http://feeds.feedburner.com/~f/RayJezeksBlog?d=41" border="0"></img></a> <a href="http://feeds.jez.net/~f/RayJezeksBlog?a=ipRChOgG"><img src="http://feeds.feedburner.com/~f/RayJezeksBlog?i=ipRChOgG" border="0"></img></a> <a href="http://feeds.jez.net/~f/RayJezeksBlog?a=QicHrsgL"><img src="http://feeds.feedburner.com/~f/RayJezeksBlog?d=43" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/RayJezeksBlog/~4/8ZaugrItRpQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ray.jez.net/parallel-computing-videos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DeScramble – Video Demo</title>
		<link>http://ray.jez.net/descramble-video-demo/</link>
		<comments>http://ray.jez.net/descramble-video-demo/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 07:06:58 +0000</pubDate>
		<dc:creator>ray</dc:creator>
				<category><![CDATA[DeScramble]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[cheat]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Scramble]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://ray.jez.net/?p=632</guid>
		<description><![CDATA[In my previous DeScramble post I did an overview of the program’s UI.  Now it’s time to see a video of the program in action!
However, I want to make a few things clear before you watch the video below.

I have never used this program in any Scramble Live game with the exception of Cheater’s Ball. [...]]]></description>
			<content:encoded><![CDATA[<p>In my previous <a href="http://ray.jez.net/category/descramble/" target="_self">DeScramble</a> post I did an <a href="http://ray.jez.net/descramble-ui-overview/" target="_self">overview of the program’s UI</a>.  Now it’s time to see a video of the program in action!</p>
<p>However, I want to make a few things clear before you watch the video below.</p>
<ul>
<li>I have never used this program in any Scramble Live game with the exception of Cheater’s Ball. All the regulars in Cheater’s Ball know I have this program and have seen it in action.</li>
<li>I have never used this program in any Scramble match.  Just look at my record and that becomes obvious.  Plus, all the people I play matches with know I have the program so it wouldn’t really fool anyone.  Besides, actually playing the game with people is more fun.</li>
<li>I wrote the program because it was an interesting challenge to me – My goal was <b>not</b> to make people think I am a better Scramble player than I am.</li>
<li>After writing this program and watching it run against some of the better players in the game I have a whole new respect for how good those people really are.  The speed at which they are able to find words on the board and enter them in is amazing!</li>
</ul>
<p>So with that said, here is a short demo of DeScramble in action: </p>
<p><iframe src="http://silverlight.services.live.com/invoke/79072/DeScrambleDemo/iframe.html" scrolling="no" frameborder="0" style="width:620px; height:500px"></iframe></p>
<div class="feedflare">
<a href="http://feeds.jez.net/~f/RayJezeksBlog?a=cP7Bu7m7"><img src="http://feeds.feedburner.com/~f/RayJezeksBlog?d=41" border="0"></img></a> <a href="http://feeds.jez.net/~f/RayJezeksBlog?a=28LK1PVW"><img src="http://feeds.feedburner.com/~f/RayJezeksBlog?i=28LK1PVW" border="0"></img></a> <a href="http://feeds.jez.net/~f/RayJezeksBlog?a=nN2F3MGm"><img src="http://feeds.feedburner.com/~f/RayJezeksBlog?d=43" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/RayJezeksBlog/~4/yJXjqJ-NQBI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ray.jez.net/descramble-video-demo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Anders C# 4.0 Followup</title>
		<link>http://ray.jez.net/anders-c-sharp-4-followup/</link>
		<comments>http://ray.jez.net/anders-c-sharp-4-followup/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 18:45:00 +0000</pubDate>
		<dc:creator>ray</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Anders]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[C# 4.0]]></category>
		<category><![CDATA[channel9]]></category>
		<category><![CDATA[PDC]]></category>
		<category><![CDATA[PDC 2008]]></category>

		<guid isPermaLink="false">http://ray.jez.net/?p=626</guid>
		<description><![CDATA[Since C# 4.0 was introduced by Anders at PDC 2008 there has been a lot of buzz about the features that have been added to the language and why. Many people have questions about why something like dynamic static types needed to be added and what was the thinking behind such decisions. I have wondered [...]]]></description>
			<content:encoded><![CDATA[<p>Since C# 4.0 was introduced by <a href="http://www.microsoft.com/presspass/exec/techfellow/Hejlsberg/default.mspx" target="_blank">Anders</a> at <a href="http://ray.jez.net/tag/pdc-2008/" target="_self">PDC 2008</a> there has been a lot of buzz about the features that have been added to the language and why. Many people have questions about why something like dynamic static types needed to be added and what was the thinking behind such decisions. I have wondered along with everyone else about many of these questions. Thankfully <a href="http://channel9.msdn.com/" target="_blank">channel9</a> has managed to get an interview with Anders and asked him to clarify some of the reasoning behind the decisions they hade with the language. Video is below: </p>
<p><iframe src="http://channel9.msdn.com/posts/VisualStudio/442324/player/" frameborder="0" height="325" scrolling="no" width="320"></iframe><br /><a href="http://channel9.msdn.com/posts/VisualStudio/C-40-Questions-and-reasons-behind-the-answers/">C# 4.0 &#8211; Questions and reasons behind the answers</a></p>
<div class="feedflare">
<a href="http://feeds.jez.net/~f/RayJezeksBlog?a=wDuTf4qs"><img src="http://feeds.feedburner.com/~f/RayJezeksBlog?d=41" border="0"></img></a> <a href="http://feeds.jez.net/~f/RayJezeksBlog?a=2Jwcpvd7"><img src="http://feeds.feedburner.com/~f/RayJezeksBlog?i=2Jwcpvd7" border="0"></img></a> <a href="http://feeds.jez.net/~f/RayJezeksBlog?a=cIJOqUu1"><img src="http://feeds.feedburner.com/~f/RayJezeksBlog?d=43" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/RayJezeksBlog/~4/wLW6AiLs3gc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ray.jez.net/anders-c-sharp-4-followup/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>DeScramble – UI Overview</title>
		<link>http://ray.jez.net/descramble-ui-overview/</link>
		<comments>http://ray.jez.net/descramble-ui-overview/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 01:49:16 +0000</pubDate>
		<dc:creator>ray</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[DeScramble]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[cheat]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Scramble]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://ray.jez.net/?p=616</guid>
		<description><![CDATA[About a month ago I wrote an introduction to DeScramble an application I wrote this summer to cheat at the Facebook game Scramble.  In this installment I will introduce the UI and the basic functionality of the application.  Below is a screenshot of the main UI and a description of what each element does:


Game window [...]]]></description>
			<content:encoded><![CDATA[<p>About a month ago I wrote an <a href="http://ray.jez.net/descramble-an-introduction/">introduction to DeScramble</a> an application I wrote this summer to cheat at the <a href="http://www.facebook.com/" target="_blank">Facebook</a> game <a href="http://apps.new.facebook.com/scramblegame/" target="_blank">Scramble</a>.  In this installment I will introduce the UI and the basic functionality of the application.  Below is a screenshot of the main UI and a description of what each element does:</p>
<p><a href="http://ray.jez.net/wp-content/uploads/2008/11/descrambleui.jpg"><img style="border: 0px none; display: inline;" title="descrambleUI" src="http://ray.jez.net/wp-content/uploads/2008/11/descrambleui-thumb.jpg" border="0" alt="descrambleUI" width="390" height="157" /></a></p>
<ol>
<li>Game window finder &#8211; drag this target to the browser window that is running the Scramble game.  This allows the program to grab the window handle that is later used to interpret the game board.  In a future version I may attempt to try and find the window handle automagically but this works fine for now.</li>
<li>Send Answers toggle &#8211; checking this option tells the program to send the answers to the game.</li>
<li>Answer Speed slider &#8211; use this slider to change how fast the program sends the answers to the game.  From my testing anything lower than about 40ms tends to choke the game UI.</li>
<li>Auto Stop/Start toggle (bot mode) &#8211; checking this option tells the program to automatically start and stop the solver during live games.</li>
<li>Burst Mode toggle &#8211; checking this option tells the program to send the first 3 answers to the game immediately and then send answers based on the indicated answer speed.  This option is to ensure that when the scores are first posted that you have some points.  This eliminates the &#8220;cheaters lag&#8221; effect that is noticed when people have to type the board into a solver.</li>
<li>Solve/Stop Solve button &#8211; this button starts and stops the solver.</li>
</ol>
<div class="feedflare">
<a href="http://feeds.jez.net/~f/RayJezeksBlog?a=hLNbPKll"><img src="http://feeds.feedburner.com/~f/RayJezeksBlog?d=41" border="0"></img></a> <a href="http://feeds.jez.net/~f/RayJezeksBlog?a=u55aOxR1"><img src="http://feeds.feedburner.com/~f/RayJezeksBlog?i=u55aOxR1" border="0"></img></a> <a href="http://feeds.jez.net/~f/RayJezeksBlog?a=yOKO7vv5"><img src="http://feeds.feedburner.com/~f/RayJezeksBlog?d=43" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/RayJezeksBlog/~4/oZnbbmIGM-M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ray.jez.net/descramble-ui-overview/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
