<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Splents</title>
	<atom:link href="http://www.splents.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.splents.com</link>
	<description></description>
	<lastBuildDate>Sun, 22 Apr 2012 02:41:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Coleman Hot Water on Demand Manual</title>
		<link>http://www.splents.com/2012/coleman-hot-water-on-demand-manual/</link>
		<comments>http://www.splents.com/2012/coleman-hot-water-on-demand-manual/#comments</comments>
		<pubDate>Sun, 22 Apr 2012 02:41:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Manuals]]></category>
		<category><![CDATA[coleman]]></category>
		<category><![CDATA[hot water on demand]]></category>
		<category><![CDATA[manual]]></category>

		<guid isPermaLink="false">http://splents.com/?p=74</guid>
		<description><![CDATA[I was having some problems with my Coleman Hot Water on Demand, which I have now resolved. In the process of trying to fix it, I was searching for the manual online. Couldn&#8217;t find it. Unbelievable. I&#8217;m sure Coleman will move into the 21st century soon. Anyhow, I found the manual (which wouldn&#8217;t have helped [...]]]></description>
			<content:encoded><![CDATA[<p>I was having some problems with my Coleman Hot Water on Demand, which I have now resolved.</p>
<p>In the process of trying to fix it, I was searching for the manual online. Couldn&#8217;t find it. Unbelievable.</p>
<p>I&#8217;m sure Coleman will move into the 21st century soon.</p>
<p>Anyhow, I found the manual (which wouldn&#8217;t have helped me fix my problem anyhow).</p>
<p>As my gift to the interwebs, I&#8217;ve made a crappy scan without a watermark and shared it with you.</p>
<p><a href="http://splents.com/wp-content/uploads/2012/04/coleman.hot_.water_.on_.demand.manual.pdf">Coleman Hot Water on Demand Manual</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.splents.com/2012/coleman-hot-water-on-demand-manual/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Faster SDF Database Password Cracking with Multithreading</title>
		<link>http://www.splents.com/2012/faster-sdf-database-password-cracking-with-multithreading/</link>
		<comments>http://www.splents.com/2012/faster-sdf-database-password-cracking-with-multithreading/#comments</comments>
		<pubDate>Sun, 18 Mar 2012 03:36:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Reverse Engineering]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[password cracker]]></category>
		<category><![CDATA[sdf]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://splents.com/?p=73</guid>
		<description><![CDATA[Unimpressed that my CPU was merely idling through the attack process I gave it, I wrote a quick update to the SDF password cracker. In the previous post, I posted the source for my SQL standalone database cracker. It was fine for some basic password auditing, but for those really big password lists&#8230; it needed [...]]]></description>
			<content:encoded><![CDATA[<p>Unimpressed that my CPU was merely idling through the attack process I gave it, I wrote a quick update to the <a href="http://splents.com/2012/sdf-database-password-cracker/">SDF password cracker</a>.</p>
<p>In the previous post, I posted the source for my SQL standalone database cracker. It was fine for some basic password auditing, but for those really big password lists&#8230; it needed to be faster.</p>
<p>So I added in some code to use threading.</p>
<p>A better coder would probably have included delegates, and time efficient locking mechanisms. Not me.</p>
<p>I&#8217;ve attached the source code for the <a href="http://splents.com/wp-content/uploads/2012/03/SDFucker.cs">SDF database password cracker</a>, once again in C#.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.splents.com/2012/faster-sdf-database-password-cracking-with-multithreading/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SDF Database Password Cracker</title>
		<link>http://www.splents.com/2012/sdf-database-password-cracker/</link>
		<comments>http://www.splents.com/2012/sdf-database-password-cracker/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 09:04:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Reverse Engineering]]></category>
		<category><![CDATA[cracking]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[recovery]]></category>
		<category><![CDATA[sdf]]></category>

		<guid isPermaLink="false">http://splents.com/?p=71</guid>
		<description><![CDATA[I had the need to explore the structure of a stand alone database file (SDF), which was password protected. Early on it occurred to me that there were no tools available to run a quick dictionary attack against the SDF database file. So I wrote my own SDF password cracker. The SDF password cracker is [...]]]></description>
			<content:encoded><![CDATA[<p>I had the need to explore the structure of a stand alone database file (SDF), which was password protected.</p>
<p>Early on it occurred to me that there were no tools available to run a quick dictionary attack against the SDF database file.</p>
<p>So I wrote my own SDF password cracker.</p>
<p>The SDF password cracker is written in C#, and its the definition of quick and dirty &#8211; but it works.</p>
<p><a href="http://splents.com/wp-content/uploads/2012/03/Program.cs">Source</a><br />
<a href="http://splents.com/wp-content/uploads/2012/03/config.xml">Sample Config File</a><br />
<a href="http://splents.com/wp-content/uploads/2012/03/test.sdf">Sample SDF Database</a><br />
<a href="http://splents.com/wp-content/uploads/2012/03/pwlist.txt">Sample Password List</a><br />
<a href="http://splents.com/wp-content/uploads/2012/03/System.Data.SqlServerCe.dll">System.Data.SqlServerCe.dll</a></p>
<p>It&#8217;s worth noting that the SqlServerCe library doesn&#8217;t compile well under x64 environments, just switch the compile profile to x86.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.splents.com/2012/sdf-database-password-cracker/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Install ZenCart WARNING: An Error occurred, please refresh the page and try again.</title>
		<link>http://www.splents.com/2012/install-zencart-warning-an-error-occurred-please-refresh-the-page-and-try-again/</link>
		<comments>http://www.splents.com/2012/install-zencart-warning-an-error-occurred-please-refresh-the-page-and-try-again/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 09:28:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Websites]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[zencart]]></category>

		<guid isPermaLink="false">http://splents.com/?p=69</guid>
		<description><![CDATA[I was trying to install version 1.5 ZenCart, everytime the database started to install, it would just give me the error message. I edited the SQL statement so that instead of having default values it was just NOT NULL. This forum thread has a pretty good run-through. The software successfully installed. The problem was as [...]]]></description>
			<content:encoded><![CDATA[<p>I was trying to install version 1.5 ZenCart, everytime the database started to install, it would just give me the error message.<br />
I edited the SQL statement so that instead of having default values it was just NOT NULL.<br />
<a href="http://www.zen-cart.com/forum/showthread.php?t=190604&amp;page=2">This forum thread has a pretty good run-through.</a><br />
The software successfully installed.<br />
The problem was as per the the errror in the cache folder. BLOB cannot have a default value.<br />
So now I&#8217;m trying to figure out how to rectify that&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.splents.com/2012/install-zencart-warning-an-error-occurred-please-refresh-the-page-and-try-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Training Camp Crackme1 Woodmann</title>
		<link>http://www.splents.com/2011/training-camp-crackme1-woodmann/</link>
		<comments>http://www.splents.com/2011/training-camp-crackme1-woodmann/#comments</comments>
		<pubDate>Mon, 12 Sep 2011 14:18:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Reverse Engineering]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[crackme]]></category>
		<category><![CDATA[keygen]]></category>
		<category><![CDATA[ollydbg]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[woodmann]]></category>

		<guid isPermaLink="false">http://splents.com/?p=67</guid>
		<description><![CDATA[Every so often I try a crackme. I just enjoy the problem solving. I&#8217;m terrible, but somehow I get a kick out of it. crackmes.de is down, so I stumbled across the next best, maybe a better thing. http://www.woodmann.com/RCE-CD-SITES/Quantico/mib/train.htm An amazing collection of scene crackmes; if you ever thought you were good enough to represent [...]]]></description>
			<content:encoded><![CDATA[<p>Every so often I try a crackme. I just enjoy the problem solving. I&#8217;m terrible, but somehow I get a kick out of it.<br />
crackmes.de is down, so I stumbled across the next best, maybe a better thing. <a href="http://www.woodmann.com/RCE-CD-SITES/Quantico/mib/train.htm">http://www.woodmann.com/RCE-CD-SITES/Quantico/mib/train.htm</a></p>
<p>An amazing collection of <a href="http://www.woodmann.com/RCE-CD-SITES/Quantico/crackme%27.htm">scene crackmes</a>; if you ever thought you were good enough to represent &#8211; this is where to start.</p>
<p>Being an infant, I stuck with the tutorials. Even then I struggled. For hours.</p>
<p>My <strong>*working*</strong> solution to CrackMe1 is below. To make it a little more difficult for myself, I thought I would give C++ a spin.<br />
I was <em>bitterly</em> disappointed that my keygen was <strong>larger</strong> than the original crackme.</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;cstdlib&gt;</span>
<span style="color: #339900;">#include &lt;iostream&gt;</span>
&nbsp;
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> argc, <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>argv<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//declare local variables</span>
    string _name<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>    
    <span style="color: #0000ff;">int</span> char_sum <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> _first, _second<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">char</span> c, d<span style="color: #008080;">;</span>
&nbsp;
    <span style="color: #666666;">//ask user to input name, store it in local variable</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;name: &quot;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> _name<span style="color: #008080;">;</span>
&nbsp;
    <span style="color: #666666;">//put the name variable to uppercase</span>
    <span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span>_name<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
         c <span style="color: #000080;">=</span> _name<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span> <span style="color: #666666;">//create char from current index on string</span>
         d <span style="color: #000080;">=</span> <span style="color: #0000dd;">toupper</span><span style="color: #008000;">&#40;</span>c<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #666666;">//put char to upper</span>
         char_sum <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span><span style="color: #008000;">&#40;</span>d<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> char_sum<span style="color: #008080;">;</span> <span style="color: #666666;">//increment the count         </span>
         i<span style="color: #000040;">++</span><span style="color: #008080;">;</span>          
    <span style="color: #008000;">&#125;</span>  
&nbsp;
    <span style="color: #666666;">//http://www.woodmann.com/RCE-CD-SITES/Quantico/mib/crack10.htm</span>
    _first <span style="color: #000080;">=</span> char_sum <span style="color: #000040;">^</span> <span style="color: #0000dd;">22136</span><span style="color: #008080;">;</span>
    _second <span style="color: #000080;">=</span> _first <span style="color: #000040;">^</span> <span style="color: #0000dd;">4660</span><span style="color: #008080;">;</span>    
&nbsp;
    <span style="color: #666666;">//output the serial!</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;serial: &quot;</span> <span style="color: #000080;">&lt;&lt;</span> _second <span style="color: #000080;">&lt;&lt;</span> endl<span style="color: #008080;">;</span>
&nbsp;
    <span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;PAUSE&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">EXIT_SUCCESS</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.splents.com/2011/training-camp-crackme1-woodmann/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Link Dilution, Google SEO tips</title>
		<link>http://www.splents.com/2011/link-dilution-google-seo-tips/</link>
		<comments>http://www.splents.com/2011/link-dilution-google-seo-tips/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 13:18:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[dilution]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[link farming]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://splents.com/?p=65</guid>
		<description><![CDATA[Search engine optimisation is a bit of a black box to most web developers. It is a tough balance between conventional website design with brief, informative information; versus SEO driven text, keywords and search phrases. Competition sites often will employ SEO specialists who receive their money once the site has hit the top results of [...]]]></description>
			<content:encoded><![CDATA[<p>Search engine optimisation is a bit of a black box to most web developers.<br />
It is a tough balance between conventional website design with brief, informative information; versus SEO driven text, keywords and search phrases.</p>
<p>Competition sites often will employ SEO specialists who receive their money once the site has hit the top results of google.</p>
<p>The real secret is building content rich websites, with specific and relevant information.<br />
This is a lot harder to do in practice, but there are some website seo tips that make a bit difference.</p>
<p>One thing I try and do is constantly research techniques, and analyse other websites code.<br />
How did I end up getting on this site? The information is/isn&#8217;t relevant &#8211; what did they do?<br />
Often I will watch fast rising websites to see how long they stay high in the results; if I notice sudden drops, then I dismiss the technique.</p>
<p>One seo technique that has me bemused at the moment is the new style link farming.<br />
Here is how it works:</p>
<p>You buy a website which caters as some kind of service, say, seo-solutions.com.au.<br />
You then setup LOTS of sub-domains; melbourne.seo-solutions.com.au, collingwood.seo-solutions.com.au, easy.seo-solutions.com.au<br />
You then setup webpages on each of these subdomains, addressing specifically what is in the title.</p>
<p>SEO companies are doing this very cheaply &#8211; they buy one domain, then sell hundreds of sub-domains (which cost them nothing) to unwitting service men and women.<br />
How long will it last? I don&#8217;t know. At the moment it has really messed up the Google search results in some industries.</p>
<p>This leads into my concern about this kind of link farming. Apart from being terrible for the integrity of search results, I am also concerned about the impact this kind of web marketing would have on brand value, and dilution.<br />
If a customer can&#8217;t search for anything except you, then after a while, they will hate your brand.<br />
I want Tech guys to flash back to the early days of experts-exchange. SO annoying. (although now its &#8220;free&#8221;, so so handy)</p>
<p>One article I was reading to help consul myself was the <a href="http://answers.google.com/answers/threadview/id/254939.html">link dilution: links and pages</a> on Google Answers.</p>
<p>The poster <a href="http://answers.google.com/answers/ratings/users/1291385197012272952.html"><strong>slawek-ga</strong></a> made an amazing reply (where did he find the time???) Nice.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.splents.com/2011/link-dilution-google-seo-tips/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Xcode 4 Please close the following application iTunes</title>
		<link>http://www.splents.com/2011/xcode-4-please-close-the-following-application-itunes/</link>
		<comments>http://www.splents.com/2011/xcode-4-please-close-the-following-application-itunes/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 23:23:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[freezes]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://splents.com/?p=64</guid>
		<description><![CDATA[I was updating my Xcode from version 3 to 4. Suddenly the installation freezes with a warning. In order to continue installation, please close the following application: iTunes Literally, the most annoying messagebox I have ever seen. iTunes was definitely not running. What the error should have been was In order to continue installation, please [...]]]></description>
			<content:encoded><![CDATA[<p>I was updating my Xcode from version 3 to 4.<br />
Suddenly the installation freezes with a warning.</p>
<blockquote><p>In order to continue installation, please close the following application:<br />
iTunes</p></blockquote>
<p>Literally, the most annoying messagebox I have ever seen. iTunes was definitely not running.<br />
What the error should have been was<br />
<blockquote>In order to continue installation, please close the following application:<br />
iTunes Helper</p></blockquote>
<p>Thanks to <a href="http://www.macosxtips.co.uk/index_files/fix-xcode-instsaller-please-close-itunes.php">http://www.macosxtips.co.uk/index_files/fix-xcode-instsaller-please-close-itunes.php</a> for the step by step article on getting past this simple problem, made complex by poor error information.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.splents.com/2011/xcode-4-please-close-the-following-application-itunes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# Class or Object to XML string</title>
		<link>http://www.splents.com/2011/c-class-or-object-to-xml-string/</link>
		<comments>http://www.splents.com/2011/c-class-or-object-to-xml-string/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 02:20:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[object]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://splents.com/?p=62</guid>
		<description><![CDATA[I had a desire to convert my custom class to XML. When you do this, it will often want you to store it in a file. I want it as a string. Here is one way of doing it. using System.IO; using System.Xml; Using System.Xml.Serialization; &#160; class Product &#123; string pName; &#125; &#160; class doit&#40;&#41; [...]]]></description>
			<content:encoded><![CDATA[<p>I had a desire to convert my custom class to XML. When you do this, it will often want you to store it in a file. I want it as a string.</p>
<p>Here is one way of doing it.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.IO</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Xml</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">Using</span> <span style="color: #008080;">System.Xml.Serialization</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #6666cc; font-weight: bold;">class</span> Product
<span style="color: #008000;">&#123;</span>
<span style="color: #6666cc; font-weight: bold;">string</span> pName<span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #6666cc; font-weight: bold;">class</span> doit<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
List<span style="color: #008000;">&lt;</span>Product<span style="color: #008000;">&gt;</span> p <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> List<span style="color: #008000;">&lt;</span>Product<span style="color: #008000;">&gt;</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #008080; font-style: italic;">//put in the string</span>
XmlSerializer xms <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> XmlSerializer<span style="color: #008000;">&#40;</span>p<span style="color: #008000;">.</span><span style="color: #0000FF;">GetType</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
StringWriter sw <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> StringWriter<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
xms<span style="color: #008000;">.</span><span style="color: #0000FF;">Serialize</span><span style="color: #008000;">&#40;</span>sw, _aList<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #6666cc; font-weight: bold;">string</span> myString <span style="color: #008000;">=</span> sw<span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #008080; font-style: italic;">//read from string back into class</span>
StringReader sr <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> StringReader<span style="color: #008000;">&#40;</span>myString<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
Product List<span style="color: #008000;">&lt;</span>myClass<span style="color: #008000;">&gt;</span> <span style="color: #008000;">=</span> xms<span style="color: #008000;">.</span><span style="color: #0000FF;">Deserialize</span><span style="color: #008000;">&#40;</span>sr<span style="color: #008000;">&#41;</span> <span style="color: #0600FF; font-weight: bold;">as</span> List<span style="color: #008000;">&lt;</span>Product<span style="color: #008000;">&gt;;</span> <span style="color: #008080; font-style: italic;">//there are a lot of ways to cast type, do this however you feel.</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.splents.com/2011/c-class-or-object-to-xml-string/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Motorola GP328 Programming Software</title>
		<link>http://www.splents.com/2011/motorola-gp328-programming-software/</link>
		<comments>http://www.splents.com/2011/motorola-gp328-programming-software/#comments</comments>
		<pubDate>Mon, 11 Jul 2011 11:13:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Scanning]]></category>
		<category><![CDATA[gp328]]></category>
		<category><![CDATA[motorola]]></category>
		<category><![CDATA[programming software]]></category>

		<guid isPermaLink="false">http://splents.com/?p=60</guid>
		<description><![CDATA[Tutorial coming soon! Motorola GP328 Programming Software. Works a treat, I&#8217;ve only tested it on the GP328. Let me know if you get it working with any other radios.]]></description>
			<content:encoded><![CDATA[<p>Tutorial coming soon!</p>
<p><a href="http://splents.com/mirror/motorola/GP328.rar">Motorola GP328 Programming Software</a>.</p>
<p>Works a treat, I&#8217;ve only tested it on the GP328. Let me know if you get it working with any other radios.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.splents.com/2011/motorola-gp328-programming-software/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Multi Thread C# Application Sharing Access Database</title>
		<link>http://www.splents.com/2011/multi-thread-c-application-sharing-access-database/</link>
		<comments>http://www.splents.com/2011/multi-thread-c-application-sharing-access-database/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 14:03:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Access]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[connection]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[multiuser]]></category>
		<category><![CDATA[sharing]]></category>

		<guid isPermaLink="false">http://splents.com/?p=59</guid>
		<description><![CDATA[In a previous post I discussed my testing of multi user access of MySQL and Microsoft Access database. Its important that you DO NOT share connections. The database is designed to take multiple connections and pool them. Sharing a connection between users is only going to create conflict that will have to be controlled in [...]]]></description>
			<content:encoded><![CDATA[<p>In a <a href="http://splents.com/2011/multiple-users-accessing-a-mysql-database-in-c/">previous post</a> I discussed my testing of multi user access of MySQL and Microsoft Access database.</p>
<p>Its important that you DO NOT share connections. The database is designed to take multiple connections and pool them. Sharing a connection between users is only going to create conflict that will have to be controlled in your application with code.</p>
<p>I decided to actually test Microsoft Access and see how it stood up to the same treatment as I gave MySQL.</p>
<p>The function I used is below, you&#8217;ll be able to implement it almost perfectly into the <a href="http://splents.com/2011/multiple-users-accessing-a-mysql-database-in-c/">earlier example</a>.  You&#8217;ll obviously need to duplicate the below function so that both threads have their own unique database function to run.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Collections.Generic</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Linq</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Text</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Data</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Threading</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Data.OleDb</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">static</span> <span style="color: #6666cc; font-weight: bold;">class</span> AccessClass
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">static</span> <span style="color: #6666cc; font-weight: bold;">void</span> access1<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            OleDbConnection conn <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> OleDbConnection<span style="color: #008000;">&#40;</span><span style="color: #666666;">@&quot;Provider=Microsoft.ACE.OLEDB.12.0;Data Source=world.accdb&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            OleDbCommand command <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> OleDbCommand<span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;INSERT INTO helloworld (pname) VALUES ('user1')&quot;</span>, conn<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #0600FF; font-weight: bold;">try</span>
            <span style="color: #008000;">&#123;</span>
                Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Connecting to Access Database...&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                <span style="color: #6666cc; font-weight: bold;">int</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
&nbsp;
                <span style="color: #0600FF; font-weight: bold;">do</span>
                <span style="color: #008000;">&#123;</span>
                    conn<span style="color: #008000;">.</span><span style="color: #0000FF;">Open</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    command<span style="color: #008000;">.</span><span style="color: #0000FF;">ExecuteNonQuery</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    conn<span style="color: #008000;">.</span><span style="color: #0000FF;">Close</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    i<span style="color: #008000;">++;</span>
                <span style="color: #008000;">&#125;</span> <span style="color: #0600FF; font-weight: bold;">while</span> <span style="color: #008000;">&#40;</span>i <span style="color: #008000;">&amp;</span>lt<span style="color: #008000;">;</span> <span style="color: #FF0000;">100</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
            <span style="color: #0600FF; font-weight: bold;">catch</span> <span style="color: #008000;">&#40;</span>Exception ex<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span>ex<span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
&nbsp;
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Access1 Routine Done.&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span></pre></div></div>

<p>You&#8217;ll notice the conn.Open and conn.Close are now repeated everytime the loop runs&#8230; That leads me into my conclusion.</p>
<p>Running the connection timing the same as I did in the MySQL example always lead to locking problems. Ultimately, if the database connection attempted were properly managed I would end up with 200 new items in the database each time I run it. The reality is quite a bit more unpredictable than that. So make it throw less errors, I made it close the connection between each iteration. This slowed it down immensely. Still, the results were unpredictable, sometimes 212 new items would be added, other times 218.</p>
<p>Instead of investigating why this happens, for the simplicity of not having to worry about database locking, I&#8217;ll stick to using MySQL for multiuser environments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.splents.com/2011/multi-thread-c-application-sharing-access-database/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

