<?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>Jason Filley - SnakeLegs</title>
	<atom:link href="http://www.snakelegs.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.snakelegs.org</link>
	<description>Upon thy belly shalt thou go....</description>
	<lastBuildDate>Sun, 17 Mar 2013 18:52:07 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Regain space on Windows Embedded Standard 7 by Removing Speech Components</title>
		<link>http://www.snakelegs.org/2013/03/17/regain-space-on-windows-embedded-standard-7-by-removing-speech-components/</link>
		<comments>http://www.snakelegs.org/2013/03/17/regain-space-on-windows-embedded-standard-7-by-removing-speech-components/#comments</comments>
		<pubDate>Sun, 17 Mar 2013 18:51:51 +0000</pubDate>
		<dc:creator>Jason Filley</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Main]]></category>

		<guid isPermaLink="false">http://www.snakelegs.org/?p=763</guid>
		<description><![CDATA[I picked up an HP t5740e thin client off eBay, as I had deployed some at a prior job.  Window Embedded Standard 7 (32-bit), with 2GB RAM and 4GB flash.  Set it up the way I want it, re-enable the write filter, and Bob&#8217;s your uncle.   But the default HP build includes components that take <a href='http://www.snakelegs.org/2013/03/17/regain-space-on-windows-embedded-standard-7-by-removing-speech-components/' class='excerpt-more'>[...]</a>]]></description>
				<content:encoded><![CDATA[<p>I picked up an HP t5740e thin client off eBay, as I had deployed some at a prior job.  Window Embedded Standard 7 (32-bit), with 2GB RAM and 4GB flash.  Set it up the way I want it, re-enable the write filter, and Bob&#8217;s your uncle.   But the default HP build includes components that take up a lot of space, and I have no need for them &#8212; namely, the text-to-speech components, the natural language components, and the SAT performance tests (sample movies).</p>
<p>While logged in as Administrator, with the write filter disabled:</p>
<pre class="brush: plain; title: ; notranslate">
dism /online /Get-Packages
</pre>
<p>You&#8217;ll get a list of all packages installed in the running image.  Find the ones you want to delete.  Then delete them.  Reboot.</p>
<pre class="brush: plain; title: ; notranslate">
dism /online /Get-Packages

dism /online /Get-PackageInfo /packagename:WinEmb-Natural-Language~31bf3856ad364e35~x86~~6.1.7601.17514

dism /online /Remove-Package /PackageName:WinEmb-Accessibility~31bf3856ad364e35~x86~~6.1.7601.17514
dism /online /Remove-Package /PackageName:WinEmb-Natural-Language~31bf3856ad364e35~x86~~6.1.7601.17514
dism /online /Remove-Package /PackageName:WinEmb-Speech-LP-ENU~31bf3856ad364e35~x86~~6.1.7600.16385
dism /online /Remove-Package /PackageName:WinEmb-Speech~31bf3856ad364e35~x86~~6.1.7601.17514
dism /online /Remove-Package /PackageName:WinEmb-Diagnostics-Performance~31bf3856ad364e35~x86~~6.1.7601.17514
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.snakelegs.org/2013/03/17/regain-space-on-windows-embedded-standard-7-by-removing-speech-components/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LaTeX XeTeX Resume Template Sample</title>
		<link>http://www.snakelegs.org/2013/01/26/latex-xetex-resume-template-sample/</link>
		<comments>http://www.snakelegs.org/2013/01/26/latex-xetex-resume-template-sample/#comments</comments>
		<pubDate>Sat, 26 Jan 2013 23:57:15 +0000</pubDate>
		<dc:creator>Jason Filley</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Main]]></category>

		<guid isPermaLink="false">http://www.snakelegs.org/?p=754</guid>
		<description><![CDATA[After reading &#8220;Unbeatable Resumes,&#8221; by Tony Beshara, I decided to update my resume.  I like this format. See also: How a Programmer Reads your Resume (comic) Pandoc latex_xetex_resume - txt (WordPress isn&#8217;t letting me upload .tex, and it&#8217;s a fight I don&#8217;t want to pick). latex_xetex_resume - PDF.]]></description>
				<content:encoded><![CDATA[<p>After reading <a title="Unbeatable Resumes" href="http://www.amazon.com/Unbeatable-Resumes-Americas-Recruiter-Reveals/dp/0814417620/">&#8220;Unbeatable Resumes,&#8221; by Tony Beshara</a>, I decided to update my resume.  I like this format.</p>
<p>See also:</p>
<ul>
<li><a href="http://stevehanov.ca/blog/index.php?id=56" target="_blank">How a Programmer Reads your Resume (comic)</a></li>
<li><a href="http://johnmacfarlane.net/pandoc/" target="_blank">Pandoc</a></li>
</ul>
<p><a href="http://www.snakelegs.org/wp-content/uploads/2013/01/latex_xetex_resume.txt">latex_xetex_resume</a> - txt (WordPress isn&#8217;t letting me upload .tex, and it&#8217;s a fight I don&#8217;t want to pick).</p>
<p><a href="http://www.snakelegs.org/wp-content/uploads/2013/01/latex_xetex_resume.pdf">latex_xetex_resume</a> - PDF.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.snakelegs.org/2013/01/26/latex-xetex-resume-template-sample/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extract Email Addresses for LinkedIn</title>
		<link>http://www.snakelegs.org/2012/08/14/extract-email-addresses-for-linkedin/</link>
		<comments>http://www.snakelegs.org/2012/08/14/extract-email-addresses-for-linkedin/#comments</comments>
		<pubDate>Wed, 15 Aug 2012 02:46:58 +0000</pubDate>
		<dc:creator>Jason Filley</dc:creator>
				<category><![CDATA[Main]]></category>

		<guid isPermaLink="false">http://www.snakelegs.org/?p=745</guid>
		<description><![CDATA[Went to extract email addresses from different Outlook .pst&#8217;s and other exported files to import into LinkedIn.  Any email client will export to text files. To extract email addresses from Outlook, try this Visual Basic script.  That&#8217;s not just a Contacts export; it extracts Sender addresses from email messages. Throw everything into one file.  Then <a href='http://www.snakelegs.org/2012/08/14/extract-email-addresses-for-linkedin/' class='excerpt-more'>[...]</a>]]></description>
				<content:encoded><![CDATA[<p>Went to extract email addresses from different Outlook .pst&#8217;s and other exported files to import into LinkedIn.  Any email client will export to text files.</p>
<p><a href="http://thetechieguy.com/2012/07/24/extracting-email-address-from-outlook-folder-subfolders/">To extract email addresses from Outlook, try this Visual Basic script</a>.  That&#8217;s not just a Contacts export; it extracts Sender addresses from email messages.</p>
<p>Throw everything into one file.  Then extract email addresses, as:</p>
<pre>$ egrep -io '[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]+' &lt; input.txt | tr "[:upper:]" "[:lower:]" | sort -u &gt;output.txt</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.snakelegs.org/2012/08/14/extract-email-addresses-for-linkedin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NoSQL Barbie</title>
		<link>http://www.snakelegs.org/2012/07/22/nosql-barbie/</link>
		<comments>http://www.snakelegs.org/2012/07/22/nosql-barbie/#comments</comments>
		<pubDate>Sun, 22 Jul 2012 20:26:05 +0000</pubDate>
		<dc:creator>Jason Filley</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Main]]></category>

		<guid isPermaLink="false">http://www.snakelegs.org/?p=738</guid>
		<description><![CDATA[https://www.google.com/#q=nosql+%22data+integrity https://www.google.com/#q=barbie+%22math+is+hard]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.snakelegs.org/wp-content/uploads/2012/07/NoSQL_Barbie.png"><img class="aligncenter size-full wp-image-739" title="NoSQL Barbie" src="http://www.snakelegs.org/wp-content/uploads/2012/07/NoSQL_Barbie.png" alt="" width="598" height="503" /></a></p>
<p style="text-align: center;"><a href="https://www.google.com/#q=nosql+%22data+integrity">https://www.google.com/#q=nosql+%22data+integrity</a></p>
<p style="text-align: center;"><a href="https://www.google.com/#q=barbie+%22math+is+hard">https://www.google.com/#q=barbie+%22math+is+hard</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.snakelegs.org/2012/07/22/nosql-barbie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java 2753 regutils.dll error</title>
		<link>http://www.snakelegs.org/2012/05/07/java-2753-regutils-dll-error/</link>
		<comments>http://www.snakelegs.org/2012/05/07/java-2753-regutils-dll-error/#comments</comments>
		<pubDate>Mon, 07 May 2012 20:09:23 +0000</pubDate>
		<dc:creator>Jason Filley</dc:creator>
				<category><![CDATA[Main]]></category>

		<guid isPermaLink="false">http://www.snakelegs.org/?p=732</guid>
		<description><![CDATA[What perverse incentives exist to prevent Sun/Oracle from streamlining Java installations on Windows?  They have FAQ items that have been unresolved for years.  Don&#8217;t tell me you can&#8217;t reproduce them; I can.  You&#8217;d think that routine professional curiosity would impel them to troubleshoot a live customer issue.  Sheer laziness. I had a workstation today that would <a href='http://www.snakelegs.org/2012/05/07/java-2753-regutils-dll-error/' class='excerpt-more'>[...]</a>]]></description>
				<content:encoded><![CDATA[<p>What perverse incentives exist to prevent Sun/Oracle from streamlining Java installations on Windows?  They have FAQ items that have been unresolved for <em>years</em>.  Don&#8217;t tell me you can&#8217;t reproduce them; I can.  You&#8217;d think that routine professional curiosity would impel them to troubleshoot a live customer issue.  <a href="https://forums.oracle.com/forums/thread.jspa?messageID=9375934&amp;#9375934">Sheer laziness</a>.</p>
<p>I had a workstation today that would not install the 6.0_update32 JRE, getting the error &#8220;error 2753 regutils.dll&#8221;.</p>
<p><a href="https://forums.oracle.com/forums/thread.jspa?threadID=1316410&amp;start=15&amp;tstart=30">Sun/Oracle&#8217;s &#8216;troubleshooting&#8217; is worthless</a>.  Nobody else&#8217;s was any help, either, though.  <a href="http://singularlabs.com/software/javara/">JavaRa</a> gave it a good try. (Seriously, you just have a comprehensive list of registry keys and files/directories to delete.  That&#8217;s all.)</p>
<p>So, fire up <a href="http://technet.microsoft.com/en-us/sysinternals/bb896645">procmon</a>, include &#8220;msiexec.exe&#8221; and see what pops up&#8230;.</p>
<p><a href="http://www.snakelegs.org/wp-content/uploads/2012/05/java_2753_regutil_dll_error.png"><img class="aligncenter size-full wp-image-733" title="java_2753_regutil_dll_error" src="http://www.snakelegs.org/wp-content/uploads/2012/05/java_2753_regutil_dll_error.png" alt="" width="766" height="299" /></a></p>
<p>Simple enough.  The installer thinks there&#8217;s another conflicting existing installation:</p>
<p><a href="http://www.snakelegs.org/wp-content/uploads/2012/05/java_2753_error_registry.png"><img class="aligncenter size-full wp-image-734" title="java_2753_error_registry" src="http://www.snakelegs.org/wp-content/uploads/2012/05/java_2753_error_registry.png" alt="" width="657" height="212" /></a></p>
<p>Delete the registry key (and subkeys):</p>
<p>HKEY_CLASSES_ROOT\Installer\Products\4EA42A62D9304AC4784BF238120632FF</p>
<p>Grand.</p>
<p>So, why can&#8217;t Sun/Oracle release a utility to clean up all traces of Java?  Laziness, pure and simple.  This has been a pain for admins for years.  Fix your installer.</p>
<p>cf the <a href="http://blogs.msdn.com/b/astebner/archive/2008/08/28/8904493.aspx">.NET Framework Cleanup Tool</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.snakelegs.org/2012/05/07/java-2753-regutils-dll-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tickle Me, Honduran Samurai</title>
		<link>http://www.snakelegs.org/2012/04/22/tickle-me-honduran-samurai/</link>
		<comments>http://www.snakelegs.org/2012/04/22/tickle-me-honduran-samurai/#comments</comments>
		<pubDate>Sun, 22 Apr 2012 16:22:05 +0000</pubDate>
		<dc:creator>Jason Filley</dc:creator>
				<category><![CDATA[Main]]></category>

		<guid isPermaLink="false">http://www.snakelegs.org/?p=728</guid>
		<description><![CDATA[Netflix suggests I watch an Elmo film, based in part on my like of 13 Assassins, and Sin Nombre&#8230;.]]></description>
				<content:encoded><![CDATA[<p>Netflix suggests I watch an Elmo film, based in part on my like of <a href="http://www.imdb.com/title/tt1436045/">13 Assassins</a>, and <a href="http://www.imdb.com/title/tt1127715/">Sin Nombre</a>&#8230;.</p>
<p><a href="http://www.snakelegs.org/wp-content/uploads/2012/04/elmo.png"><img class="aligncenter size-full wp-image-729" title="elmo" src="http://www.snakelegs.org/wp-content/uploads/2012/04/elmo.png" alt="" width="419" height="373" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.snakelegs.org/2012/04/22/tickle-me-honduran-samurai/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SAP ATP Server</title>
		<link>http://www.snakelegs.org/2012/04/20/sap-atp-server/</link>
		<comments>http://www.snakelegs.org/2012/04/20/sap-atp-server/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 22:32:47 +0000</pubDate>
		<dc:creator>Jason Filley</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Main]]></category>

		<guid isPermaLink="false">http://www.snakelegs.org/?p=720</guid>
		<description><![CDATA[Overview The SAP ATP (Available To Promise) server caches availability checks in the export/import buffer, replacing database calls to RESB and VBBE. Reference: SAP Note 99999 &#8211; ATP server: Installation and sizing (https://service.sap.com/sap/support/notes/99999) SAP Note 702728 &#8211; Profile parameter for export/import buffer instances (https://service.sap.com/sap/support/notes/702728) SAP Note 373986 &#8211; Overflow of the export/import buffer (https://service.sap.com/sap/support/notes/373986) &#8220;SAP <a href='http://www.snakelegs.org/2012/04/20/sap-atp-server/' class='excerpt-more'>[...]</a>]]></description>
				<content:encoded><![CDATA[<h1>Overview</h1>
<p>The SAP ATP (Available To Promise) server caches availability checks in the export/import buffer, replacing database calls to <span style="font-family: Consolas;">RESB</span> and <span style="font-family: Consolas;">VBBE</span>.</p>
<p><span id="more-720"></span></p>
<p>Reference:</p>
<ul>
<li><a href="https://service.sap.com/sap/support/notes/99999"><span style="font-family: Times New Roman; font-size: 12pt;">SAP Note 99999</span></a><span style="font-family: Times New Roman; font-size: 12pt;"> &#8211; ATP server: Installation and sizing (https://service.sap.com/sap/support/notes/99999)<br />
</span></li>
<li><a href="https://service.sap.com/sap/support/notes/702728"><span style="font-family: Times New Roman; font-size: 12pt;">SAP Note 702728</span></a><span style="font-family: Times New Roman; font-size: 12pt;"> &#8211; Profile parameter for export/import buffer instances (https://service.sap.com/sap/support/notes/702728)<br />
</span></li>
<li><a href="https://service.sap.com/sap/support/notes/373986"><span style="font-family: Times New Roman; font-size: 12pt;">SAP Note 373986</span></a><span style="font-family: Times New Roman; font-size: 12pt;"> &#8211; Overflow of the export/import buffer (https://service.sap.com/sap/support/notes/373986)<br />
</span></li>
<li><span style="font-family: Times New Roman; font-size: 12pt;">&#8220;<a href="http://www.sap-press.com/products/SAP-Performance-Optimization-Guide-%286th-Edition%29.html">SAP Performance Optimization Guide (6<sup>th</sup> Edition)</a>,&#8221; Thomas Schneider, Galileo Press (2009), section 10.4, pp. 443-450. (http://www.sap-press.com/products/SAP-Performance-Optimization-Guide-%286th-Edition%29.html)<br />
</span></li>
</ul>
<h1>Install the ATP Server</h1>
<p>Pick a suitable SAP Instance to run the ATP server, subject to the space constraints below.</p>
<p>The ATP server is a logical service activated by a profile parameter, and since all of the instance&#8217;s servers will use this same server, the parameter should be set in the DEFAULT profile (transaction RZ10). The ATP server and Enqueue server should run in the same instance.</p>
<p>Set both:</p>
<ul>
<li><span style="font-family: Consolas; font-size: 12pt;">rdisp/enqname<br />
</span></li>
<li><span style="font-family: Consolas; font-size: 12pt;">rdisp/atp_server<br />
</span></li>
</ul>
<p><img src="http://www.snakelegs.org/wp-content/uploads/2012/04/042012_2232_SAPATPServe1.png" alt="" /></p>
<p>Restart the instances to pick up the changes.</p>
<p><img src="http://www.snakelegs.org/wp-content/uploads/2012/04/042012_2232_SAPATPServe2.png" alt="" /></p>
<h1>Tune the Export/Import Buffer</h1>
<p>Figure out how many objects you plan to cache. Either follow the elaborate formulas in the references above, or just flush the cache, run a sample test, and extrapolate. Quick and dirty guideline: figure out how many maximum objects you&#8217;ll ever need (<span style="font-family: Consolas;">rsdb/obj/max_objects</span>) and set it, and set the Export/Import Buffer (size in KB) to twice that number (<span style="font-family: Consolas;">rsdb/obj/buffersize</span>), since each object should take a little less than half a KB. Tune as needed.</p>
<p><img src="http://www.snakelegs.org/wp-content/uploads/2012/04/042012_2232_SAPATPServe3.png" alt="" /></p>
<p>In ST02&#8242;s &#8220;Detailed Analysis&#8221; menu, select &#8220;Buffered Objects&#8221; to see individual records (Table Name = &#8220;ATPSB&#8221;). See transaction ACDB, as well. You can view or delete individual, or all, entries.</p>
<p><img src="http://www.snakelegs.org/wp-content/uploads/2012/04/042012_2232_SAPATPServe4.png" alt="" /></p>
<p><img src="http://www.snakelegs.org/wp-content/uploads/2012/04/042012_2232_SAPATPServe5.png" alt="" /></p>
<p><img src="http://www.snakelegs.org/wp-content/uploads/2012/04/042012_2232_SAPATPServe6.png" alt="" /></p>
<h1>Transactions</h1>
<ul style="margin-left: 72pt;">
<li><span style="font-size: 12pt;"><span style="font-family: Consolas;">RZ10</span><span style="font-family: Times New Roman;"> – Set parameters.<br />
</span></span></li>
<li><span style="font-size: 12pt;"><span style="font-family: Consolas;">ST02</span><span style="font-family: Times New Roman;"> – View buffer statistics.<br />
</span></span></li>
<li><span style="font-size: 12pt;"><span style="font-family: Consolas;">SM50/SM51</span><span style="font-family: Times New Roman;"> – Verify ATP and Enqueue servers activated.<br />
</span></span></li>
<li>
<div><span style="font-size: 12pt;"><span style="font-family: Consolas;">ACDB </span><span style="font-family: Times New Roman;">– View and delete export/import buffer table entries.<br />
</span></span></div>
<p><span style="font-family: Times New Roman; font-size: 12pt;"><br />
</span></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.snakelegs.org/2012/04/20/sap-atp-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The SAP Elf</title>
		<link>http://www.snakelegs.org/2012/04/13/the-sap-elf/</link>
		<comments>http://www.snakelegs.org/2012/04/13/the-sap-elf/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 16:38:23 +0000</pubDate>
		<dc:creator>Jason Filley</dc:creator>
				<category><![CDATA[Main]]></category>

		<guid isPermaLink="false">http://www.snakelegs.org/?p=691</guid>
		<description><![CDATA[I laugh every time I see this screen in SAP &#8230; &#8230; because I know what the girl on the right is thinking &#8230; For posterity, here&#8217;s an edited picture that doesn&#8217;t make the girl on the left have pointy ears. There went my lunch hour.]]></description>
				<content:encoded><![CDATA[<p>I laugh every time I see this screen in SAP &#8230;</p>
<p><img class="aligncenter size-full wp-image-695" title="elves" src="http://www.snakelegs.org/wp-content/uploads/2012/04/elves3.png" alt="" width="569" height="192" /></p>
<p>&#8230; because I know what the girl on the right is thinking &#8230;</p>
<p><a href="http://www.snakelegs.org/wp-content/uploads/2012/04/elves22.png"><img class="aligncenter size-full wp-image-700" title="thinking" src="http://www.snakelegs.org/wp-content/uploads/2012/04/elves22.png" alt="" width="569" height="192" /></a></p>
<p>For posterity, here&#8217;s an edited picture that doesn&#8217;t make the girl on the left have pointy ears.</p>
<p><a href="http://www.snakelegs.org/wp-content/uploads/2012/04/elves32.png"><img class="aligncenter size-full wp-image-701" title="edited" src="http://www.snakelegs.org/wp-content/uploads/2012/04/elves32.png" alt="" width="569" height="192" /></a></p>
<p>There went my lunch hour.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.snakelegs.org/2012/04/13/the-sap-elf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Harbinger of Sorrow &#8211; Who What When Where Why</title>
		<link>http://www.snakelegs.org/2012/04/12/harbinger-of-sorrow-who-what-when-where-why/</link>
		<comments>http://www.snakelegs.org/2012/04/12/harbinger-of-sorrow-who-what-when-where-why/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 02:18:00 +0000</pubDate>
		<dc:creator>Jason Filley</dc:creator>
				<category><![CDATA[Main]]></category>

		<guid isPermaLink="false">http://www.snakelegs.org/?p=680</guid>
		<description><![CDATA[Google auto-suggests queries based on your input. Start typing, and it will fill in, based on popular queries.  We&#8217;re doomed as a species&#8230;. &#160;]]></description>
				<content:encoded><![CDATA[<p>Google auto-suggests queries based on your input. Start typing, and it will fill in, based on popular queries.  We&#8217;re doomed as a species&#8230;.</p>
<p>&nbsp;</p>
<p><a href="http://www.snakelegs.org/wp-content/uploads/2012/04/goog_01_why.png"><img class="aligncenter size-full wp-image-681" title="goog_01_why" src="http://www.snakelegs.org/wp-content/uploads/2012/04/goog_01_why.png" alt="" width="541" height="92" /></a><a href="http://www.snakelegs.org/wp-content/uploads/2012/04/goog_02_who.png"><img class="aligncenter size-full wp-image-682" title="goog_02_who" src="http://www.snakelegs.org/wp-content/uploads/2012/04/goog_02_who.png" alt="" width="541" height="92" /></a><a href="http://www.snakelegs.org/wp-content/uploads/2012/04/goog_03_what.png"><img class="aligncenter size-full wp-image-683" title="goog_03_what" src="http://www.snakelegs.org/wp-content/uploads/2012/04/goog_03_what.png" alt="" width="541" height="92" /></a><a href="http://www.snakelegs.org/wp-content/uploads/2012/04/goog_04_when.png"><img class="aligncenter size-full wp-image-684" title="goog_04_when" src="http://www.snakelegs.org/wp-content/uploads/2012/04/goog_04_when.png" alt="" width="541" height="92" /></a><a href="http://www.snakelegs.org/wp-content/uploads/2012/04/goog_05_where.png"><img class="aligncenter size-full wp-image-685" title="goog_05_where" src="http://www.snakelegs.org/wp-content/uploads/2012/04/goog_05_where.png" alt="" width="541" height="92" /></a><a href="http://www.snakelegs.org/wp-content/uploads/2012/04/goog_06_how.png"><img class="aligncenter size-full wp-image-686" title="goog_06_how" src="http://www.snakelegs.org/wp-content/uploads/2012/04/goog_06_how.png" alt="" width="541" height="92" /></a><a href="http://www.snakelegs.org/wp-content/uploads/2012/04/goog_07_how_often.png"><img class="aligncenter size-full wp-image-687" title="goog_07_how_often" src="http://www.snakelegs.org/wp-content/uploads/2012/04/goog_07_how_often.png" alt="" width="541" height="92" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.snakelegs.org/2012/04/12/harbinger-of-sorrow-who-what-when-where-why/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Constraint Satisfaction &#8211; Product Mix &#8211; Wood Paneling Example</title>
		<link>http://www.snakelegs.org/2012/03/15/constraint-satisfaction-product-mix-wood-paneling-example/</link>
		<comments>http://www.snakelegs.org/2012/03/15/constraint-satisfaction-product-mix-wood-paneling-example/#comments</comments>
		<pubDate>Fri, 16 Mar 2012 05:45:29 +0000</pubDate>
		<dc:creator>Jason Filley</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Main]]></category>

		<guid isPermaLink="false">http://www.snakelegs.org/?p=671</guid>
		<description><![CDATA[Don&#8217;t get me started&#8230;. It&#8217;s amazing that Operations Research / Optimization / Contraint Satisfaction have come so far ( the Holy Grail of Computing ), yet so very few IT personnel even know about it&#8230;.]]></description>
				<content:encoded><![CDATA[<p>Don&#8217;t get me started&#8230;. It&#8217;s amazing that Operations Research / Optimization / Contraint Satisfaction have come so far ( the Holy Grail of Computing ), yet so very few IT personnel even know about it&#8230;.<br />
<span id="more-671"></span></p>
<pre class="brush: plain; title: ; notranslate">
% minizinc product mix model from http://www.solver.com/stepbystep.htm
% 2012 Jason Filley (jason@snakelegs.org)



%%%% parameters
int: glue = 5800;		% glue (quarts)
int: pressing = 730;	% pressing time (hours)
int: pine = 29200;		% pine chips (pounds)
int: oak = 32500;		% oak chips (pounds)


constraint assert(glue &gt;= 0,&quot;Invalid datafile: &quot; ++
	&quot;glue must be non-negative.&quot;);
constraint assert(pressing &gt;= 0,&quot;Invalid datafile: &quot; ++
	&quot;pressing must be non-negative.&quot;);
constraint assert(pine &gt;= 0,&quot;Invalid datafile: &quot; ++
	&quot;pine must be non-negative.&quot;);
constraint assert(oak &gt;= 0,&quot;Invalid datafile: &quot; ++
	&quot;oak must be non-negative.&quot;);

	
%%%% decision variables
var 0..100: tahoe;
var 0..100: pacific;
var 0..100: savannah;
var 0..100: aspen;


%%%% constraints

% glue
constraint  50*tahoe + 50*pacific + 100*savannah + 50*aspen &lt;= glue;

% pressing time
constraint  5*tahoe + 15*pacific + 10*savannah + 5*aspen &lt;= pressing;

% pine chips
constraint  500*tahoe + 400*pacific + 250*savannah + 200*aspen &lt;= pine;

% oak chips
constraint  500*tahoe + 750*pacific + 250*savannah + 500*aspen &lt;= oak;



%%%% objective function -- maximize profit
var 0..100000: profit;
profit = 450*tahoe + 1150*pacific + 800*savannah + 400*aspen;
solve maximize profit;


output [&quot;Tahoe: &quot;, show(tahoe), &quot;\n&quot;,
		&quot;Pacific: &quot;, show(pacific), &quot;\n&quot;,
		&quot;Savannah: &quot;, show(savannah), &quot;\n&quot;,
		&quot;Aspen: &quot;, show(aspen), &quot;\n&quot;,
		&quot;Profit: &quot;, show(profit), &quot;\n&quot;];

% minizinc.exe product_mix_wood_paneling.mzn
% Tahoe: 23
% Pacific: 15
% Savannah: 39
% Aspen: 0
% Profit: 58800
% ----------
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.snakelegs.org/2012/03/15/constraint-satisfaction-product-mix-wood-paneling-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.381 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2013-03-17 12:52:36 -->

<!-- Compression = gzip -->