<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-96099636168698788</id><updated>2012-01-15T11:46:47.925-08:00</updated><category term='msvc'/><category term='np'/><category term='solution'/><category term='documentation'/><category term='bugs'/><category term='compilers'/><category term='solving'/><category term='x11 license'/><category term='cleanups'/><category term='2.32.1'/><category term='binary'/><category term='library'/><category term='win32'/><category term='pysolfc'/><category term='2.24.0'/><category term='webscale'/><category term='mohican'/><category term='installer'/><category term='video'/><category term='nosql'/><category term='avl'/><category term='ansi c'/><category term='xhtml'/><category term='pcc'/><category term='bz2'/><category term='xml'/><category term='edition'/><category term='refactoring'/><category term='nsis'/><category term='2.20.0'/><category term='security'/><category term='automatic'/><category term='humour'/><category term='2.22.0'/><category term='april fool'/><category term='agpl'/><category term='pysol'/><category term='compile'/><category term='pdf'/><category term='building'/><category term='mit license'/><category term='intel'/><category term='solvability'/><category term='patience'/><category term='html'/><category term='optimization'/><category term='fun'/><category term='statistics'/><category term='release'/><category term='2.34.0'/><category term='compiler'/><category term='screencast'/><category term='2.38.0'/><category term='cleanup'/><category term='optimisation'/><category term='inline'/><category term='tendra'/><category term='solitaire'/><category term='freecell'/><category term='simon'/><category term='gnu'/><category term='gzip'/><category term='overflow'/><category term='lcc'/><category term='2.40.0'/><category term='length'/><category term='rpm'/><category term='2.28.0'/><category term='gpl'/><category term='tcc'/><category term='buffer'/><category term='binaries'/><category term='cmake'/><category term='deals'/><category term='compilation'/><category term='trees'/><category term='enterprise'/><category term='llvm'/><category term='range'/><category term='windows'/><category term='layouts'/><category term='maintenance'/><category term='minor'/><category term='docbook'/><category term='code'/><category term='2.26.0'/><category term='balanced'/><category term='solver'/><category term='speed'/><category term='2.30.0'/><category term='last'/><category term='executables'/><category term='2.32.0'/><category term='icc'/><category term='games'/><category term='optimizations'/><category term='simple'/><category term='libavl'/><category term='optimise'/><category term='version'/><category term='major'/><category term='optimization scan'/><category term='2.36.0'/><category term='tinycc'/><category term='dlls'/><category term='play'/><category term='microsoft'/><category term='two'/><category term='gcc'/><category term='mohicans'/><category term='fixes'/><category term='asciidoc'/><category term='cards'/><category term='profiling'/><title type='text'>Solving Freecell and Other Games</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-4706598002123829732</id><published>2012-01-15T11:46:00.001-08:00</published><updated>2012-01-15T11:46:47.944-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='optimizations'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='fixes'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='cleanup'/><category scheme='http://www.blogger.com/atom/ns#' term='solving'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><title type='text'>Freecell Solver 3.10.0 was Released</title><content type='html'>&lt;p&gt;
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; version 3.10.0
has been released. It is available in the form of a source tarball from
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;the
    download page&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
This release fixes two bugs - one with the &lt;tt&gt;--max-iters&lt;/tt&gt; affecting
only the last instance, and one with reading foundations with &lt;tt&gt;0&lt;/tt&gt;,
and implements many small optimisations and cleanups. It also adds some
experimental code with the so-called &lt;tt&gt;delta-states&lt;/tt&gt;, where states
are compactly encoded based on the original state. This functionality is not
available in the main solver yet, but it powers the experimental
on-disk-key/value-databases-based solver, which end up not scaling very well
during testing.
&lt;/p&gt;

&lt;p&gt;
Enjoy!
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-4706598002123829732?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/4706598002123829732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2012/01/freecell-solver-3100-was-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/4706598002123829732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/4706598002123829732'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2012/01/freecell-solver-3100-was-released.html' title='Freecell Solver 3.10.0 was Released'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-2745502186764392027</id><published>2011-07-03T07:36:00.000-07:00</published><updated>2011-07-03T07:37:49.364-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='fixes'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='cleanup'/><category scheme='http://www.blogger.com/atom/ns#' term='solving'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><title type='text'>Freecell Solver 3.8.0 was Released</title><content type='html'>&lt;p&gt;
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; version 3.8.0
has been released. It is available in the form of a source tarball from
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;the
    download page&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
This release fixes some crashes using &lt;tt&gt;--trim-max-stored-states&lt;/tt&gt;,
adds a more meaningful man page instead of the token one that was previously
present, adds &lt;tt&gt;scripts/parallel-range-solver-total&lt;/tt&gt; to solve a range
of deals in parallel by splitting them into chunks, and many smaller
improvements and fixes.
&lt;/p&gt;

&lt;p&gt;
We also forgot to mention the 3.6.0 release, which fixed the installation of
&lt;tt&gt;fcs_dllexport.h&lt;/tt&gt;, added the &lt;tt&gt;--tracemem&lt;/tt&gt; compile time option,
added a bug fix for incrementally increasing the iterations/stored-states
limits, added a built-in version of
&lt;a href="http://www.kylheku.com/~kaz/kazlib.html"&gt;kazlib&lt;/a&gt;'s balanced
binary search tree as a possible back-end for storage, and had some
other improvements.
&lt;/p&gt;

&lt;p&gt;
Enjoy!
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-2745502186764392027?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/2745502186764392027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2011/07/freecell-solver-380-was-released.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/2745502186764392027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/2745502186764392027'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2011/07/freecell-solver-380-was-released.html' title='Freecell Solver 3.8.0 was Released'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-8418782773295997305</id><published>2011-03-31T15:12:00.000-07:00</published><updated>2011-03-31T15:15:26.169-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humour'/><category scheme='http://www.blogger.com/atom/ns#' term='webscale'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><category scheme='http://www.blogger.com/atom/ns#' term='nosql'/><category scheme='http://www.blogger.com/atom/ns#' term='april fool'/><title type='text'>Freecell Solver™ Goes Webscale</title><content type='html'>&lt;p&gt;
&lt;b&gt;1 April, 2011, Tel Aviv, Israel:&lt;/b&gt;
Freecell Solver Enterprises™, Inc., on behalf of the
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver™&lt;/a&gt; development
team, is glad to announce the upcoming availability of the
Webscale™ Edition of Freecell Solver™, the solver for various types of
&lt;a href="http://en.wikipedia.org/wiki/Patience_%28game%29"&gt;Patience
    games&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Freecell Solver™, has until now made use of a compile-time choice of primitive,
in-memory, data-strctures such as 
&lt;a href="http://en.wikipedia.org/wiki/Hash_table"&gt;hash tables&lt;/a&gt;
or 
&lt;a href="http://en.wikipedia.org/wiki/Self-balancing_binary_search_tree"&gt;self-balancing 
    binary trees&lt;/a&gt;, but now we decided that it's time to move on to something
more in the spirit of 2010s. Since SQL databases have already become passé,
we decided to skip directly to the
&lt;a href="http://en.wikipedia.org/wiki/NoSQL"&gt;NoSQL&lt;/a&gt; trend of databases
(also known as "Oh no! No SQL!") and to write alternative backends for
Freecell Solver™ for distributed NoSQL stores such as 
&lt;a href="http://en.wikipedia.org/wiki/Cassandra_%28database%29"&gt;Cassandra&lt;/a&gt;,
&lt;a href="http://en.wikipedia.org/wiki/MongoDB"&gt;MongoDB&lt;/a&gt;,
or &lt;a href="http://en.wikipedia.org/wiki/CouchDB"&gt;CouchDB&lt;/a&gt;. 
&lt;/p&gt;

&lt;p&gt;
Freecell Solver Enterprises™ is certain that using these modern, 
high-performance, and highly distributed stores will increase
Freecell Solver™'s webscalability, and allow it to process a larger amount of
stored positions than it could at the moment at a far greater speed
and make Freecell Solver™ be ready for the cloud. As our CTO, Shlomi Fish, 
says “If you're not excited about it now, you should be.”
&lt;/p&gt;

&lt;p&gt;
Expect the upcoming availability of Freecell Solver™ Webscale™ Edition from
the &lt;a href="http://fc-solve.berlios.de/"&gt;homepage&lt;/a&gt; of Freecell Solver™.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-8418782773295997305?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/8418782773295997305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2011/03/freecell-solver-goes-webscale.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/8418782773295997305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/8418782773295997305'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2011/03/freecell-solver-goes-webscale.html' title='Freecell Solver™ Goes Webscale'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-562580764436514693</id><published>2010-12-05T14:26:00.000-08:00</published><updated>2010-12-05T14:27:37.720-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='speed'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='fixes'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='optimization'/><category scheme='http://www.blogger.com/atom/ns#' term='cleanup'/><category scheme='http://www.blogger.com/atom/ns#' term='solving'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><title type='text'>Freecell Solver 3.4.0 was Released</title><content type='html'>&lt;p&gt;
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; version 3.4.0
has been released. It is available in the form of a source tarball from 
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;the
    download page&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
In this release, we've added the &lt;tt&gt;--set-pruning&lt;/tt&gt; flag to turn on
the Horne's play prune, which improves performance. There are two new presets
- &lt;tt&gt;-l enlightened-ostrich&lt;/tt&gt; (or &lt;tt&gt;-l eo&lt;/tt&gt; for short), which makes
use of &lt;tt&gt;--set-pruning&lt;/tt&gt; and is the fastest preset yet, and 
&lt;tt&gt;-l maliciously-obscure&lt;/tt&gt; (&lt;tt&gt;-l mo&lt;/tt&gt;) which is slow but generates 
especially short solutions.
&lt;/p&gt;

&lt;p&gt;
We added a compile-time option to use 
&lt;a href="http://fc-solve.berlios.de/to-do.html#rcs_state_storage"&gt;RCS-like
    states storage&lt;/a&gt; which conserves a lot of RAM and allowed Freecell
Solver to scale to over 200 million positions on an x86-64 machine with
64 GB of RAM (which was utilised for that courtesy of Amadiro's university).
There are many other major and minor speed and memory optimisations in this
release.
&lt;/p&gt;

&lt;p&gt;
The &lt;tt&gt;--ms&lt;/tt&gt; and &lt;tt&gt;-M&lt;/tt&gt; flags were added to
the &lt;tt&gt;make_pysol_freecell_board.py&lt;/tt&gt; program, to generate Microsoft
deals even for numbers higher than 32,000, which are different in
PySol and PySolFC. Furthermore, the CMake configuration was updated to
use "lib${LIB_SUFFIX}", so it can be built on some 64-bit systems.
&lt;/p&gt;

&lt;p&gt;
Finally, there's an experimental &lt;tt&gt;--trim-max-stored-states&lt;/tt&gt; which
currently may crash the solver, but we decided to release it despite this fact.
&lt;/p&gt;

&lt;p&gt;
All of these changes prove to be a huge step forward for Freecell Solver making
this release its best release yet.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-562580764436514693?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/562580764436514693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2010/12/freecell-solver-340-was-released.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/562580764436514693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/562580764436514693'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2010/12/freecell-solver-340-was-released.html' title='Freecell Solver 3.4.0 was Released'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-7365927827574081911</id><published>2010-07-14T02:03:00.000-07:00</published><updated>2010-07-14T02:04:13.479-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='speed'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='cleanups'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='fixes'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='optimization'/><category scheme='http://www.blogger.com/atom/ns#' term='solving'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><title type='text'>Freecell Solver 3.2.0 was Released</title><content type='html'>&lt;p&gt;
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; version 3.2.0
has been released. It is available in the form of a source tarball from 
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;the
    download page&lt;/a&gt;. We hope to release a Windows binary soon.
&lt;/p&gt;

&lt;p&gt;
This release implements the &lt;tt&gt;--depth-tests-order&lt;/tt&gt; flag that allows
varying the tests' order based on the depth which allows for interesting
(and faster) searches. Several new presets : &lt;tt&gt;-l the-iglu-cabal&lt;/tt&gt;
, &lt;tt&gt;-l foss-nessy&lt;/tt&gt; and &lt;tt&gt;-l tea-for-two&lt;/tt&gt; have been added
, the latter optimised for two freecell deals. There are also several
bug-fixes, optimisations and code cleanups.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-7365927827574081911?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/7365927827574081911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2010/07/freecell-solver-320-was-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/7365927827574081911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/7365927827574081911'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2010/07/freecell-solver-320-was-released.html' title='Freecell Solver 3.2.0 was Released'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-8613246077246361132</id><published>2010-07-12T21:50:00.001-07:00</published><updated>2010-07-12T21:53:36.597-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='statistics'/><category scheme='http://www.blogger.com/atom/ns#' term='solvability'/><category scheme='http://www.blogger.com/atom/ns#' term='deals'/><category scheme='http://www.blogger.com/atom/ns#' term='two'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='solving'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><category scheme='http://www.blogger.com/atom/ns#' term='layouts'/><title type='text'>Solvability Statistics of Two Freecell Games</title><content type='html'>&lt;!-- Tags: freecell, solver, solving, two, deals, layouts, solvability, statistics
--&gt;

&lt;p&gt;
While the default 
&lt;a href="http://en.wikipedia.org/wiki/FreeCell_%28Windows%29"&gt;Windows 
implementation of Freecell&lt;/a&gt; only supports playing Freecell with four initial
freecells, it can be played with any number of them. In order to make the
game more challenging, some people are playing it with a fewer number of
freecells.
&lt;/p&gt;

&lt;p&gt;
As of today,
&lt;a href="http://www.solitairelaboratory.com/fcfaq.html"&gt;the Freecell FAQ&lt;/a&gt;
says that "With two freecells, there are at least 24,161 solvable deals [in
the Microsoft 32,000 deals].". However, at the course of researching those
layouts using &lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; 
(after constructing a solver configuration optimised for solving two-freecell 
deals), we have found out that more deals can be provably solved.
&lt;/p&gt;

&lt;p&gt;
Below one can find the report about the solvability of 2-freecell deals. The 
executive summary is that:
&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
25,367 deals were successfully solved.
&lt;/li&gt;

&lt;li&gt;
6,600 deals are provably unsolvable.
&lt;/li&gt;

&lt;li&gt;
The other 33 deals are "intractable" - meaning my computer ran out of 
resources trying to solve them (I limited the range of iterations to 
8,200,000, but some of them were killed by the "out-of-memory" daemon 
earlier).
&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;&lt;b&gt;Solvable&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
By using the "tea-for-two" meta-moves preset: 25,143.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
By using &lt;tt&gt;-to 01ABCDE&lt;/tt&gt; : 172.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
By using &lt;tt&gt;-l foss-nessy&lt;/tt&gt; : 38.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
By using the extended range (8,200,000 iterations) &lt;tt&gt;-to 01ABCDE&lt;/tt&gt; scan:
&lt;tt&gt;grep -l '^This game is solv' *.sol  | wc -l&lt;/tt&gt; yields: 14.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;strong&gt;Total:&lt;/strong&gt; 25,367.
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Definitely unsolvable&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
Fully traversed in the atomic moves preset: 6,513.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Found using &lt;tt&gt;grep -l '^I could not solve' *.sol | xargs grep -h 
'^Total number of states checked' | grep 1200000 | wc -l&lt;/tt&gt;.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Fully traversed in the extended-range atomic moves preset: 87.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Found using &lt;tt&gt;grep -l '^I could not solve' *.sol | xargs grep -h '^Total number of states checked' | grep -v 8200000 | wc -l&lt;/tt&gt;.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Total: 6,600.
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Intractable&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
After the atomic scan: 172.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Found using &lt;tt&gt;grep -l '^I could not solve' *.sol | xargs grep -l '^Total number of states checked is 1200000\.' | wc -l&lt;/tt&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
After the foss-nessy scan: 134.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
After the 8,200,000 range atomic scan:
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Killed by the Out-of-memory Killer:
&lt;tt&gt;ls | perl -lne 'print if -z' | xargs ls -l | wc -l&lt;/tt&gt; : 17.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Reached the iterations limit:
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;tt&gt;grep -l '^I could not solve' *.sol | xargs grep -l '^Total number of states checked is 8200000\.' | wc -l&lt;/tt&gt;:
16.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Total: 33.
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Conclusion and Future Directions&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;
The 33 deals that we could not determine whether they were unsolvable or not
are: 891, 982, 3129, 5435, 6090, 7214, 7728, 9034, 11266, 12038, 12064, 13659,
13705, 14262, 14445, 14790, 15804, 15957, 16322, 16462, 17184, 17684, 17760,
17880, 18446, 19671, 19678, 20792, 21779, 26124, 27799, 28188, 29577. We would
appreciate any further insights about whether they can be solved or not
and one option would be to use Freecell solver to solve them on a 64-bit
machine with more memory available than what I have.
&lt;/p&gt;

&lt;p&gt;
In the future, we'd like to work on the 
&lt;a href="http://fc-solve.berlios.de/to-do.html#orig_calc_states"&gt;"States
calculated from the original"&lt;/a&gt; feature which should reduce 
memory consumption considerably, especially on 64-bit architectures. After
reading the report of &lt;a href="http://kevin.atkinson.dhs.org/freecell/"&gt;Kevin
Atkinson's and Shari Holstege's solver&lt;/a&gt; it seems that we can also
save space by re-using old positions that have been determined
to be dead-ends, so we'd like to explore that. We'd also
like to explore using an on-disk storage to store the states / positions 
such as &lt;a href="http://1978th.net/tokyocabinet/"&gt;Tokyo Cabinet&lt;/a&gt;. That or we
can try adding a bigger swap partition.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-8613246077246361132?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/8613246077246361132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2010/07/solvability-statistics-of-two-freecell.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/8613246077246361132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/8613246077246361132'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2010/07/solvability-statistics-of-two-freecell.html' title='Solvability Statistics of Two Freecell Games'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-5900146449049789369</id><published>2010-05-24T09:38:00.001-07:00</published><updated>2010-05-24T09:38:54.723-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='major'/><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='speed'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='fixes'/><category scheme='http://www.blogger.com/atom/ns#' term='optimization'/><category scheme='http://www.blogger.com/atom/ns#' term='solving'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><title type='text'>Freecell Solver 3.0.0 was Released</title><content type='html'>&lt;p&gt;
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; version 3.0.0
has been released. It is available in the form of a source tarball from 
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;the
    download page&lt;/a&gt;. We hope to release a Windows binary soon.
&lt;/p&gt;

&lt;p&gt;
This release implements the flares API (see the 
&lt;a href="http://fc-solve.berlios.de/docs/distro/USAGE.html"&gt;usage
    document&lt;/a&gt;), which allows running several
alternative scans and then picking up the one with the shortest solution.
It also adds the &lt;tt&gt;-l children-playing-ball&lt;/tt&gt; and 
&lt;tt&gt;-l sentient-pearls&lt;/tt&gt; presets that optimise on solution length (based on 
flares).
&lt;/p&gt;

&lt;p&gt;
Also see 
&lt;a href="http://tech.groups.yahoo.com/group/fc-solve-discuss/message/1058"&gt;the
    post about this release to the fc-solve-discuss mailing list&lt;/a&gt;
giving some of the motivation for the new major release digit (3.x.y instead
of 2.x.y).
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-5900146449049789369?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/5900146449049789369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2010/05/freecell-solver-300-was-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/5900146449049789369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/5900146449049789369'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2010/05/freecell-solver-300-was-released.html' title='Freecell Solver 3.0.0 was Released'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-3484229663507447757</id><published>2010-03-31T20:56:00.000-07:00</published><updated>2010-04-01T00:16:33.811-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='np'/><category scheme='http://www.blogger.com/atom/ns#' term='edition'/><category scheme='http://www.blogger.com/atom/ns#' term='agpl'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='gpl'/><category scheme='http://www.blogger.com/atom/ns#' term='enterprise'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><title type='text'>Announcing Freecell Solver™ Enterprise Edition</title><content type='html'>&lt;p&gt;
&lt;b&gt;01-April-2010:&lt;/b&gt; Freecell Solver Enterprises™, Inc., on behalf of the
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver™&lt;/a&gt; development
team, is glad to announce the upcoming availability of Freecell Solver™
Enterprise Edition. In its Enterprise Edition, Freecell Solver™ will be
enhanced to solve generalised Freecell, in which there can be an arbitrary
number of card ranks. Since generalised Freecell is &lt;a 
href="http://en.wikipedia.org/wiki/NP-complete"&gt;NP-complete&lt;/a&gt;, this will 
enable using Freecell Solver™'s ingenious, cutting-edge algorithms to 
solve the previously hard, provably NP-Complete problems of 
&lt;a href="http://en.wikipedia.org/wiki/Travelling_salesman_problem"&gt;the
Travelling Salesman problem&lt;/a&gt;, 
&lt;a href="http://en.wikipedia.org/wiki/Subset_sum_problem"&gt;Subset sum&lt;/a&gt;,
&lt;a href="http://en.wikipedia.org/wiki/Sudoku"&gt;Sudoku&lt;/a&gt; and
&lt;a href="http://en.wikipedia.org/wiki/Enterprise_content_management"&gt;Enterprise
content management&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Since we expect some of our customers to wish to solve NP-complete problems
with data sets of an order larger than the standard computer word (32-bit or
64-bit), we are going to start using 
&lt;a href="http://gmplib.org/"&gt;the "GNU MP Bignum Library" (GMP)&lt;/a&gt;. As our
CTO, Ron Johnson, says &lt;q&gt;By making use of Freecell Solver™ Enterprise 
Edition's sophisticated algorithms, we expect a cluster of 2,000 32-way
high-performance supercomputers to solve a 17,179,869,184 (2 to the power of 34)
problem, a short time before the heat death of the universe.&lt;/q&gt; 
&lt;/p&gt;

&lt;p&gt;
That's not the only change expected in Freecell Solver™ Enterprise Edition.
Until now Freecell Solver™ was written in ANSI C and was dependent only on
the standard C library. To make it more enterprise ready, we decided to convert
to such enterprise-ready languages as C++ and Java, and to utilise such
enterprise-ready 
&lt;a href="http://www.shlomifish.org/open-source/portability-libs/"&gt;Cross-Platform 
    Abstraction Libraries&lt;/a&gt; such as Boost, Qt, glib, Apache's Portable 
Runtime (APR), or ACE. Our CTO continues: &lt;q&gt;Phil Greenspun 
&lt;a href="http://en.wikipedia.org/wiki/Greenspun%27s_Tenth_Rule"&gt;said&lt;/a&gt;
that &lt;q&gt;Any sufficiently complicated C or Fortran program contains an ad hoc, 
informally-specified, bug-ridden, slow implementation of half of 
Common Lisp.&lt;/q&gt;. Well, now Freecell Solver™ will contain an
ad hoc, informally-specified, bug-ridden and slow, but 
&lt;b&gt;enterprise ready&lt;/b&gt;, implementation of half of Common Lisp. This
is really very exciting.&lt;/q&gt; We don't know yet which of these libraries
we are going to use, but we are likely to use more than one based on the
enterprise-readiness of their individual components.
&lt;/p&gt;

&lt;p&gt;
Naturally, as the company behind Freecell Solver™ Enterprise Edition,
Freecell Solver Enterprises™ does not expect to keep Freecell Solver™'s 
original
&lt;a href="http://en.wikipedia.org/wiki/Permissive_free_software_licence"&gt;permissive&lt;/a&gt;
licence, the &lt;a href="http://en.wikipedia.org/wiki/MIT_License"&gt;MIT/X11 
    License&lt;/a&gt;, because code which is licensed under it is easy to abuse, 
misuse, and generally use. Instead, the core Freecell Solver™ Enterprise 
Edition functionality would be available under the
&lt;a href="http://en.wikipedia.org/wiki/Affero_General_Public_License"&gt;Affero
    General Public License (AGPL) version 3&lt;/a&gt;, while making some extended
functionality available only under own own custom, proprietary licence -
exclusively for paying customers. We are really excited about this change 
which will
allow use to protect our 
&lt;a href="http://www.gnu.org/philosophy/not-ipr.html"&gt;intellectual
    property&lt;/a&gt; from people and enterprises who will abuse, misuse or 
generally just use it.
&lt;/p&gt;

&lt;p&gt;
Here is what others say about that:
&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
    &lt;p&gt;&lt;b&gt;Don Knuth:&lt;/b&gt; &lt;q&gt;Freecell Solver™ Enterprise Edition really 
        excites me. I didn't think I'll see the day to see an Enterprise-ready
        NP-complete solver, but Freecell Solver™ EE made it happen. I can't
    wait to play with it.&lt;/q&gt;
    &lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;p&gt;&lt;b&gt;Larry Wall:&lt;/b&gt; &lt;q&gt;Freecell Solver™ Enterprise Edition is the
        epitome of Laziness and Hubris, but unfortunately requires a lot of
        &lt;a href="http://en.wikipedia.org/wiki/Patience_%28game%29"&gt;Patience&lt;/a&gt;.&lt;/q&gt;
    &lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;p&gt;&lt;b&gt;Bill and Ted:&lt;/b&gt; &lt;q&gt;Enterprise Content Management! Yeah!!! Star 
        Trek is Excellent, bro. Excellent!!! So where's Captain Kirk?&lt;/q&gt;
    &lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;p&gt;&lt;b&gt;Shlomi Fish (the original creator of Freecell Solver):&lt;/b&gt; 
    &lt;q&gt;Eh, what the hell?&lt;/q&gt;
    &lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
As you can see, everybody are united in their opinion that Freecell Solver™
Enterprise Edition is the best thing since Enterprise bread came sliced
by and for enterprises.
&lt;/p&gt;

&lt;p&gt;
One can &lt;a href="http://prdownload.berlios.de/fc-solve/Freecell-Solver-Enterprise-Edition-1.0.0.tar.bz2"&gt;download the Freecell Solver™ Enterprise Edition
    version 1.0.0 source tarball&lt;/a&gt;, and after resolving all the 
&lt;b&gt;essential&lt;/b&gt; 
dependencies and building it (as documented in the &lt;tt&gt;INSTALL&lt;/tt&gt; file),
type &lt;tt&gt;./fc-solve --help-enterprise&lt;/tt&gt; to get help for the enterprise
features.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-3484229663507447757?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/3484229663507447757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2010/03/01-april-2010-freecell-solver.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/3484229663507447757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/3484229663507447757'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2010/03/01-april-2010-freecell-solver.html' title='Announcing Freecell Solver™ Enterprise Edition'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-3533070813037964206</id><published>2010-03-27T08:46:00.000-07:00</published><updated>2010-03-27T08:47:18.797-07:00</updated><title type='text'>Freecell Solver 2.42.0 was Released</title><content type='html'>&lt;p&gt;
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; version 2.42.0
has been released. It is available in the form of a source tarball from 
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;the
    download page&lt;/a&gt;. We hope to release a Windows binary soon.
&lt;/p&gt;

&lt;p&gt;
This release finally adds a &lt;tt&gt;-o&lt;/tt&gt;/&lt;tt&gt;--output&lt;/tt&gt; flag to the 
"fc-solve" executable, and installs the newly created executables 
( freecell-solver-fc-pro-range-solve , freecell-solver-multi-thread-solve , 
freecell-solver-range-parallel-solve , etc.) by default. There are also several
bug-fixes and one can now input "const char *" instead of "char *" (with
a compile-time flag that typedefs the strings to their old interface).
&lt;/p&gt;

&lt;p&gt;
There has been some internals cleanups and optimisations. Finally, 
the file &lt;tt&gt;pqueue.h&lt;/tt&gt; was converted to the MIT/X11 license, with
permission of &lt;a href="http://www.heyes-jones.com/"&gt;its originator, 
    Justin Heyes Jones&lt;/a&gt; making Freecell Solver fully licensed under
MIT/X11.
&lt;/p&gt;

&lt;p&gt;
We hope you have fun with this new release.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-3533070813037964206?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/3533070813037964206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2010/03/freecell-solver-2420-was-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/3533070813037964206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/3533070813037964206'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2010/03/freecell-solver-2420-was-released.html' title='Freecell Solver 2.42.0 was Released'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-8433576534342073452</id><published>2010-01-27T12:33:00.000-08:00</published><updated>2010-01-27T12:34:13.248-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='speed'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='optimization'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='minor'/><category scheme='http://www.blogger.com/atom/ns#' term='solving'/><category scheme='http://www.blogger.com/atom/ns#' term='pysolfc'/><category scheme='http://www.blogger.com/atom/ns#' term='overflow'/><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='2.40.0'/><category scheme='http://www.blogger.com/atom/ns#' term='pysol'/><category scheme='http://www.blogger.com/atom/ns#' term='buffer'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><category scheme='http://www.blogger.com/atom/ns#' term='asciidoc'/><title type='text'>Freecell Solver 2.40.0 was Released</title><content type='html'>&lt;p&gt;
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; version 2.40.0
has been released. It is available in the form of a source tarball from 
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;the
    download page&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
This release contains a fix to a string overflow with processing the command 
line arguments, and an optimised command-line preset that can be invoked
as &lt;tt&gt;-l blue-yonder&lt;/tt&gt; (or &lt;tt&gt;-l by&lt;/tt&gt; for short) that solves the
Microsoft 32,000 deals in under 100 seconds on a Pentium 4 2.4GHz machine.
It also contains some more minor changes: there is now a &lt;tt&gt;Scan:&lt;/tt&gt; header 
with the name of the current soft thread, when debugging under 
&lt;tt&gt;-s -i&lt;/tt&gt;, an off-by-1 iterations count was fixed and the iteration
handling callback is now applied globally to all the instances. Finally,
&lt;tt&gt;make_pysol_freecell_board.py&lt;/tt&gt; has support for generating PySol's
and PySolFC's 
&lt;a href="http://en.wikipedia.org/wiki/Black_Hole_%28solitaire%29"&gt;"Black Hole"
    Solitaire&lt;/a&gt; deals, intended for my newly released
&lt;a href="http://www.shlomifish.org/open-source/projects/black-hole-solitaire-solver/"&gt;Black Hole Solitaire Solver&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Enjoy!
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-8433576534342073452?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/8433576534342073452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2010/01/freecell-solver-2400-was-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/8433576534342073452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/8433576534342073452'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2010/01/freecell-solver-2400-was-released.html' title='Freecell Solver 2.40.0 was Released'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-7785436137799708630</id><published>2009-12-29T10:54:00.000-08:00</published><updated>2009-12-29T10:55:10.158-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='2.38.0'/><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='pysol'/><category scheme='http://www.blogger.com/atom/ns#' term='solving'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><category scheme='http://www.blogger.com/atom/ns#' term='minor'/><category scheme='http://www.blogger.com/atom/ns#' term='pysolfc'/><category scheme='http://www.blogger.com/atom/ns#' term='asciidoc'/><title type='text'>Freecell Solver 2.38.0 was Released</title><content type='html'>&lt;p&gt;
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; version 2.38.0
has been released. It is available in the form of a source tarball from 
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;the
    download page&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
This is a minor release which makes sure one can build Freecell Solver outside
the source distribution (e.g: &lt;tt&gt;mkdir build ; cd build ; cmake ..&lt;/tt&gt;) 
without AsciiDoc, adds a &lt;tt&gt;--pysfolfc&lt;/tt&gt; (or an &lt;tt&gt;-F&lt;/tt&gt; for short)
flag to make_pysol_freecell_board.py and fixes one of the help displays.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-7785436137799708630?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/7785436137799708630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2009/12/freecell-solver-2380-was-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/7785436137799708630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/7785436137799708630'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2009/12/freecell-solver-2380-was-released.html' title='Freecell Solver 2.38.0 was Released'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-669809752179112214</id><published>2009-11-27T11:27:00.000-08:00</published><updated>2009-11-27T11:28:39.107-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xhtml'/><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='solving'/><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='docbook'/><category scheme='http://www.blogger.com/atom/ns#' term='pdf'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='2.36.0'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='asciidoc'/><title type='text'>Freecell Solver 2.36.0 was Released</title><content type='html'>&lt;p&gt;
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; version 2.36.0
has been released. It is available in the form of a source tarball from 
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;the
    download page&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
The main highlight of this release is that the plaintext documentation that
was part of the source distribution were converted to 
&lt;a href="http://www.methods.co.nz/asciidoc/"&gt;AsciiDoc&lt;/a&gt;, a lightweight
markup language that allows the plaintext and human-readable sources to
be converted to HTML, to DocBook/XML, to PDF and to other formats. As
a result, they are now also available online in HTML formats.
&lt;/p&gt;

&lt;p&gt;
Furthermore, the process for getting the test suite and benchmarking process 
up and running were considerably simplified, thanks to the input received 
by &lt;a href="http://pythack.com/"&gt;Dimitri Leca (Pythack)&lt;/a&gt;. 
&lt;/p&gt;

&lt;p&gt;
Finally, there are some other more minor improvements. This release has 
been delayed quite a bit due to some neglect on the part of the main
maintainer, but we hope you find what's new satisfying enough. Happy solving!
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-669809752179112214?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/669809752179112214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2009/11/freecell-solver-2360-was-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/669809752179112214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/669809752179112214'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2009/11/freecell-solver-2360-was-released.html' title='Freecell Solver 2.36.0 was Released'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-1910200426322305872</id><published>2009-07-23T05:15:00.000-07:00</published><updated>2009-07-23T05:17:40.604-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='play'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='cards'/><category scheme='http://www.blogger.com/atom/ns#' term='solitaire'/><category scheme='http://www.blogger.com/atom/ns#' term='pysol'/><category scheme='http://www.blogger.com/atom/ns#' term='screencast'/><category scheme='http://www.blogger.com/atom/ns#' term='automatic'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><category scheme='http://www.blogger.com/atom/ns#' term='pysolfc'/><title type='text'>Screencast of Freecell Solver in Action</title><content type='html'>&lt;p&gt;
Yesterday, I spent some time on preparing 
&lt;a href="http://www.youtube.com/watch?v=EHQ2bWGeYMg"&gt;a screencast of
    PySolFC auto-solving a deal of Freecell&lt;/a&gt; using 
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; . Here's an embedded
player:
&lt;/p&gt;

&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/EHQ2bWGeYMg&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/EHQ2bWGeYMg&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;
I remember the first time I saw KDE's KPatience automatically solving a deal 
of Freecell, while using Freecell Solver as its back-end. Seeing the cards
move on their own was very cool, and brought me a lot of joy. 
Now that &lt;a href="http://pysolfc.sourceforge.net/"&gt;PySolFC&lt;/a&gt; has built-in
support for Freecell Solver, I was able to use it to prepare the screencast.
I hope you'll enjoy seeing this screencast, and would be interested in
trying out PySolFC and Freecell Solver.
&lt;/p&gt;

&lt;p&gt;
I'm going to blog about how I prepared the screencast on 
&lt;a href="http://community.livejournal.com/shlomif_tech/"&gt;my tech blog&lt;/a&gt;,
which may prove instructive to other people wanting to prepare screencasts
on Linux. This was the first video I ever prepared and producing it proved 
to be a pleasant experience, even though some tasks did not work right away. 
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-1910200426322305872?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/1910200426322305872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2009/07/screencast-of-freecell-solver-in-action.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/1910200426322305872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/1910200426322305872'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2009/07/screencast-of-freecell-solver-in-action.html' title='Screencast of Freecell Solver in Action'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-6932796514840446789</id><published>2009-07-11T02:59:00.000-07:00</published><updated>2009-07-11T03:00:56.373-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='simon'/><category scheme='http://www.blogger.com/atom/ns#' term='2.34.0'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='mohican'/><category scheme='http://www.blogger.com/atom/ns#' term='solitaire'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='simple'/><category scheme='http://www.blogger.com/atom/ns#' term='mohicans'/><category scheme='http://www.blogger.com/atom/ns#' term='solving'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><category scheme='http://www.blogger.com/atom/ns#' term='last'/><title type='text'>Freecell Solver 2.34.0 was Released</title><content type='html'>&lt;p&gt;
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; version 2.34.0
has been released. It is available in the form of a source tarball from 
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;the
    download page&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Back in the abandoned 2.10.x branch a programmer called Michael Mann
contributed a new 
&lt;a href="http://en.wikipedia.org/wiki/Simple_Simon_%28solitaire%29"&gt;Simple 
    Simon&lt;/a&gt; move function that allowed it to solve more games. In 2.34.0
this move function was restored, and made optional. We now have a theme
called "the-last-mohican" (or "tlm" for short), after the movie 
&lt;a href="http://en.wikipedia.org/wiki/The_Last_of_the_Mohicans_%281992_film%29"&gt;"The 
    Last of the Mohicans"&lt;/a&gt; by a different Michael Mann, which I have watched
and enjoyed, that is capable of
&lt;a href="http://tech.groups.yahoo.com/group/fc-solve-discuss/message/1008"&gt;solving
    over 90% of the first 5,000 PySol Simple Simon deals&lt;/a&gt;. (Incidentally
"The Last Mohican" is the direct translation of the book and movie's name
in Hebrew). The solutions of the solver were verified to be correct using
Games-Solitaire-Verify.
&lt;/p&gt;

&lt;p&gt;
Working on this theme uncovered a bug in the solver where the 
&lt;tt&gt;--next-instance&lt;/tt&gt; flag was removed by accident, and it is now fixed.
&lt;/p&gt;

&lt;p&gt;
Aside from that, there's now an improved atomic moves theme - 
"toons-for-twenty-somethings", which can solve all of MS Freecell's 
32,000 deals. It is still much slower than the meta-moves-based theme.
&lt;/p&gt;

&lt;p&gt;
There are also some other more minor changes, which can be found at the NEWS
file in the distribution.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-6932796514840446789?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/6932796514840446789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2009/07/freecell-solver-2340-was-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/6932796514840446789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/6932796514840446789'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2009/07/freecell-solver-2340-was-released.html' title='Freecell Solver 2.34.0 was Released'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-1943224766083000855</id><published>2009-06-26T03:41:00.000-07:00</published><updated>2009-06-26T03:42:20.672-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='msvc'/><category scheme='http://www.blogger.com/atom/ns#' term='maintenance'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='building'/><category scheme='http://www.blogger.com/atom/ns#' term='cmake'/><category scheme='http://www.blogger.com/atom/ns#' term='solving'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><category scheme='http://www.blogger.com/atom/ns#' term='2.32.1'/><title type='text'>Maintenance Freecell Solver 2.32.1 Release</title><content type='html'>&lt;p&gt;
Hot on the heels of &lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt;
2.32.0, there's now a 2.32.1 maintenance release available from 
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;the download page&lt;/a&gt;.
This release fixes several important build bugs, especially on Windows,
but also on UNIXes.
&lt;/p&gt;

&lt;p&gt;
Please test it to see if any other problems remain.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-1943224766083000855?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/1943224766083000855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2009/06/maintenance-freecell-solver-2321.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/1943224766083000855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/1943224766083000855'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2009/06/maintenance-freecell-solver-2321.html' title='Maintenance Freecell Solver 2.32.1 Release'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-7325001057906480073</id><published>2009-06-24T06:36:00.000-07:00</published><updated>2009-06-24T06:37:36.798-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gcc'/><category scheme='http://www.blogger.com/atom/ns#' term='dlls'/><category scheme='http://www.blogger.com/atom/ns#' term='optimise'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='solving'/><category scheme='http://www.blogger.com/atom/ns#' term='2.32.0'/><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='optimisation'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='cmake'/><category scheme='http://www.blogger.com/atom/ns#' term='inline'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><title type='text'>Freecell Solver 2.32.0 was Released</title><content type='html'>&lt;p&gt;
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; version 2.32.0
has been released. It is available in the form of a source tarball from 
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;the
    download page&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
This version features a large code cleanup which also resulted in a
substantial speed boost. The code cleanup was guided by
&lt;a href="http://svn.berlios.de/viewcvs/fc-solve/trunk/fc-solve/source/scripts/find-ids.rb?view=log"&gt;a 
    script&lt;/a&gt; that was written to list all occurences of identifiers with
the same name, in order to find uncommon identifiers.
&lt;/p&gt;

&lt;p&gt;
There were several bug-fixes done to the 
&lt;a href="http://www.cmake.org/"&gt;CMake&lt;/a&gt;-based build system, and there's
now suppot for &lt;a href="http://code.google.com/p/google-perftools/"&gt;Google's 
    tcmalloc&lt;/a&gt; and hidden internal identifiers in the DLL/shared-library.
The inline keyword for definining inline functions is now supported
on more compilers and more functions or macros have been converted
to inline functions.
&lt;/p&gt;

&lt;p&gt;
We hope you enjoy this release.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-7325001057906480073?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/7325001057906480073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2009/06/freecell-solver-2320-was-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/7325001057906480073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/7325001057906480073'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2009/06/freecell-solver-2320-was-released.html' title='Freecell Solver 2.32.0 was Released'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-7784316368620976391</id><published>2009-06-07T04:02:00.000-07:00</published><updated>2009-06-07T04:04:12.498-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='patience'/><category scheme='http://www.blogger.com/atom/ns#' term='trees'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='balanced'/><category scheme='http://www.blogger.com/atom/ns#' term='solving'/><category scheme='http://www.blogger.com/atom/ns#' term='libavl'/><category scheme='http://www.blogger.com/atom/ns#' term='avl'/><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='2.30.0'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='binary'/><category scheme='http://www.blogger.com/atom/ns#' term='solitaire'/><category scheme='http://www.blogger.com/atom/ns#' term='solution'/><category scheme='http://www.blogger.com/atom/ns#' term='cmake'/><category scheme='http://www.blogger.com/atom/ns#' term='length'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><title type='text'>Freecell Solver 2.30.0 was Released</title><content type='html'>&lt;p&gt;
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; version 2.30.0
has been released. It is available in the form of a source tarball from 
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;the 
    download page&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
This release adds the run-time presets "gooey-unknown-thing", "sand-stone" 
and "slick-rock" that aim to minimise the average lengths of the resultant 
solutions. (as opposed to minimising the time it takes to solve). It also
adds support for using any of the tree imlpementation supplied by
&lt;a href="http://www.stanford.edu/~blp/avl/"&gt;libavl version 2&lt;/a&gt; for
both the positions storage and the stacks storage.
&lt;/p&gt;

&lt;p&gt;
There's a bug fix in the fc-pro range solver for a bug that caused the 
Freecell Pro compatible moves to be mis-calculated. Moreover, the code
has experienced a substantial re-organisation and the Makefiles for the
different compiler were merged into one (which was later fixed).
&lt;/p&gt;

&lt;p&gt;
There are also new compile-time options to exclude various functionality
that may not be needed.
&lt;/p&gt;

&lt;p&gt;
Download it while its hot!
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-7784316368620976391?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/7784316368620976391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2009/06/freecell-solver-2300-was-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/7784316368620976391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/7784316368620976391'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2009/06/freecell-solver-2300-was-released.html' title='Freecell Solver 2.30.0 was Released'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-5863435541892256733</id><published>2009-05-29T07:22:00.000-07:00</published><updated>2009-05-29T07:23:35.494-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='compilers'/><category scheme='http://www.blogger.com/atom/ns#' term='gcc'/><category scheme='http://www.blogger.com/atom/ns#' term='lcc'/><category scheme='http://www.blogger.com/atom/ns#' term='compilation'/><category scheme='http://www.blogger.com/atom/ns#' term='intel'/><category scheme='http://www.blogger.com/atom/ns#' term='gnu'/><category scheme='http://www.blogger.com/atom/ns#' term='tcc'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='tendra'/><category scheme='http://www.blogger.com/atom/ns#' term='icc'/><category scheme='http://www.blogger.com/atom/ns#' term='compiler'/><category scheme='http://www.blogger.com/atom/ns#' term='compile'/><category scheme='http://www.blogger.com/atom/ns#' term='pcc'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><category scheme='http://www.blogger.com/atom/ns#' term='ansi c'/><category scheme='http://www.blogger.com/atom/ns#' term='tinycc'/><title type='text'>Adventures in Compiling</title><content type='html'>&lt;p&gt;
I've generally been using &lt;a href="http://gcc.gnu.org/"&gt;GCC (= The
    GNU Compiler Collection)&lt;/a&gt; exclusively for
compiling &lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt;
under Linux for its constant development. For a time, I used to compile the 
Windows binaries using Microsoft Visual C ("cl.exe") and a really hideous 
batch file I wrote for the purpose (so it  would work on the Technion's 
computers). Lately, however, I've switched to compiling using 
&lt;a href="http://www.mingw.org/"&gt;MinGW&lt;/a&gt; on Windows, which is gcc based.
&lt;/p&gt;

&lt;p&gt;
A few weeks ago, I decided to try out other compilers and see what they
had to offer. I
downloaded the proprietary &lt;a href="http://en.wikipedia.org/wiki/Intel_C%2B%2B_Compiler"&gt;icc (Intel's C Compiler)&lt;/a&gt;, which is 
gcc-compatible and has a Linux trial version. It was a huge download and ended
up occupying a lot of space on the hard-disk. At first, I could not get it to 
emit working code, but after messing a little with my makefiles, I was 
successful. It is about the same speed as gcc for compiling my ANSI C program 
(maybe a bit slower), and generates somewhat faster code.
&lt;/p&gt;.

&lt;p&gt;
icc kept emitting many of the so-called "remarks" which I eventually took upon
myself to eliminate. This improved the quality of my code. But it worked
properly with these many remarks being emitted. After installing icc,
msec (the Mandriva security mechanism) complained about world-writable files
in the icc installation, so I reported it on the Intel forum. 
&lt;/p&gt;

&lt;p&gt;
The next compiler I tried was &lt;a href="http://bellard.org/tcc/"&gt;tcc, the 
    Tiny/Turbo C Compiler&lt;/a&gt;. The version in the Mandriva repositories was 
old and did not yield a working binary, and so I tried upgrading to version 
0.9.24 and then to the git version, but none of them worked either. I 
&lt;a href="http://lists.gnu.org/archive/html/tinycc-devel/2009-05/msg00032.html"&gt;reported this attempt to the tcc mailing list&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
I also tried icc's -fast flag, which is supposed to make the output faster,
but it actually made the binaries slower (much slower than even gcc).
&lt;/p&gt;

&lt;p&gt;
However, later on, after cleaning up my makefile, tcc produced perfectly
working binaries. I don't know what the problem was, but it was solved. (I
reported that in a reply). Compiling with tcc is much faster than with gcc,
but the resulting code is much slower than gcc's, and occupies more space on 
the disk.
&lt;/p&gt;

&lt;p&gt;
The next compiler was &lt;a href="http://www.tendra.org/"&gt;TenDRA&lt;/a&gt;. Now
the homepage a 403 (and still does) and so I went on Freenode and asked. I 
eventually did:
&lt;/p&gt;

&lt;pre&gt;
$ svn co http://svn.tendra.org/trunk/
&lt;/pre&gt;

&lt;p&gt;
Only to discover that 
&lt;a href="http://svn.tendra.org/trunk/tendra/INSTALL"&gt;http://svn.tendra.org/trunk/tendra/INSTALL&lt;/a&gt; is 
empty except for a reference to the Trac web-site (which was also off-line). 
So I needed to use the guidance of the people from Freenode's #tendra to build 
it.
&lt;/p&gt;

&lt;p&gt;
In the process, I had to install &lt;a 
    href="http://www.crufty.net/help/sjg/bmake.html"&gt;bmake&lt;/a&gt;, 
because that's the only make
that would compile TenDRA. The ./configure in the standard distribution
failed to work here, but I was able to find an .src.rpm which compiled 
and installed fine. The TenDRA boot process also complained about one of my 
system's header which had a list or enum with a trailing comma, and I had 
to manually fix the code.
&lt;/p&gt;

&lt;p&gt;
But I was able to build TenDRA and install it, and it was able to compile
a working program. Before it did, though, I had to fix many compilation
errors it reported, as TenDRA is stricter than gcc. It also didn't recognise
my use of strdup, and I had to specify -Ysystem for it to work (the previous
-Y's I tried did not work properly). But then it worked. 
&lt;/p&gt;

&lt;p&gt;
TenDRA generated larger and slower executables than gcc but it worked.
&lt;/p&gt;

&lt;p&gt;
I failed to get &lt;a href="http://www.cs.princeton.edu/software/lcc/"&gt;lcc 
    (which isn't strictly open source )&lt;/a&gt; and 
&lt;a href="http://pcc.ludd.ltu.se/"&gt;pcc (which is open source )&lt;/a&gt; to 
either compile  or produce working code. Seems like neither of them are ready
for prime time - at least not here on Mandriva Linux Cooker.
&lt;/p&gt;

&lt;p&gt;
So after a lot of frustration, my experiments with different compilers
were mostly successful. As a result, my code is more strict, and better
tested. So I guess it was worth it.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-5863435541892256733?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/5863435541892256733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2009/05/adventures-in-compiling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/5863435541892256733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/5863435541892256733'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2009/05/adventures-in-compiling.html' title='Adventures in Compiling'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-7868619768627350983</id><published>2009-05-17T09:48:00.000-07:00</published><updated>2009-05-17T12:57:25.364-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='patience'/><category scheme='http://www.blogger.com/atom/ns#' term='2.28.0'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='optimization'/><category scheme='http://www.blogger.com/atom/ns#' term='solving'/><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='optimisation'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='gzip'/><category scheme='http://www.blogger.com/atom/ns#' term='bz2'/><category scheme='http://www.blogger.com/atom/ns#' term='solitaire'/><category scheme='http://www.blogger.com/atom/ns#' term='cmake'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><title type='text'>Freecell Solver 2.28.0 was Released</title><content type='html'>&lt;p&gt;
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; version 2.28.0
has been released. It is available in the form of a source tarball from 
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;the 
    download page&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
This version contains several significant optimisations. Now the 
"freecell-only" preset can solve the first 32,000 Microsoft Freecell 
deals at 286 deals per second with gcc, and 301 deals per seconds with
&lt;a href="http://software.intel.com/en-us/intel-compilers/"&gt;Intel's icc.&lt;/a&gt;
(on a Pentium 4 2.4GHz computer). There are many other internal cleanups, 
build system tweaks, and new makefiles to build using some alternative C compilers.
&lt;/p&gt;

&lt;p&gt;
The source archives from now on will be distributed as tar.bz2 instead of
tar.gz which gives better compression, and a faster download.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-7868619768627350983?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/7868619768627350983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2009/05/freecell-solver-2260-was-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/7868619768627350983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/7868619768627350983'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2009/05/freecell-solver-2260-was-released.html' title='Freecell Solver 2.28.0 was Released'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-438448153293326271</id><published>2009-04-27T04:59:00.001-07:00</published><updated>2009-04-27T05:00:01.299-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='patience'/><category scheme='http://www.blogger.com/atom/ns#' term='optimisation'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='2.26.0'/><category scheme='http://www.blogger.com/atom/ns#' term='solitaire'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='cmake'/><category scheme='http://www.blogger.com/atom/ns#' term='optimization'/><category scheme='http://www.blogger.com/atom/ns#' term='solving'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><title type='text'>Freecell Solver 2.26.0 was Released</title><content type='html'>&lt;p&gt;
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; version 2.26.0
has been released  It is available in the form of a source tarball from 
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;the 
    download page&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
This version contains several significant optimisations (up to the point where
the "freecell-only" preset can solve the first 32,000 Microsoft Freecell 
deals in 200 deals per second.), and improvements to the build system 
(including the elimination of compiler warnings). Finally, the test suite
now builds correctly inside the source distribution.
&lt;/p&gt;

&lt;p&gt;
We have more ideas for optimisations and other enhancements, and this is just
an intermediate release (but one which should be perfectly usable).
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-438448153293326271?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/438448153293326271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2009/04/freecell-solver-2260-was-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/438448153293326271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/438448153293326271'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2009/04/freecell-solver-2260-was-released.html' title='Freecell Solver 2.26.0 was Released'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-2824828636272187726</id><published>2009-04-18T08:02:00.000-07:00</published><updated>2009-04-18T08:03:50.214-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='optimization scan'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='cleanups'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='solving'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><category scheme='http://www.blogger.com/atom/ns#' term='refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='profiling'/><category scheme='http://www.blogger.com/atom/ns#' term='2.24.0'/><category scheme='http://www.blogger.com/atom/ns#' term='llvm'/><category scheme='http://www.blogger.com/atom/ns#' term='range'/><title type='text'>Freecell Solver 2.24.0 was Released</title><content type='html'>&lt;p&gt;
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; version 2.24.0
was released today. It is available in a source archive from 
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;the 
    download page&lt;/a&gt;. Windows command-line binaries should be available
momentarily.
&lt;/p&gt;

&lt;p&gt;
This version contains some fixes to crashes and memory leaks when
using the &lt;tt&gt;-opt&lt;/tt&gt; with a range
of boards (or otherwise when a solver instance is recycled), a new
"freecell-solver-fc-pro-range-solve" executable (built by default,
but not installed), which runs a range of 
deals using the solver and outputs the number of FCS moves, the number of 
FC-Pro moves, and the FC-Pro moves in standard notation.
&lt;/p&gt;

&lt;p&gt;
For developers, this release also contains a build type for profiling,
many cleanups to the code, and a makefile to generate
&lt;a href="http://llvm.org/"&gt;LLVM&lt;/a&gt; bitcode.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-2824828636272187726?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/2824828636272187726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2009/04/freecell-solver-2240-was-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/2824828636272187726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/2824828636272187726'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2009/04/freecell-solver-2240-was-released.html' title='Freecell Solver 2.24.0 was Released'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-3090410347377127318</id><published>2009-03-31T12:33:00.000-07:00</published><updated>2009-03-31T12:34:46.393-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='rpm'/><category scheme='http://www.blogger.com/atom/ns#' term='x11 license'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='library'/><category scheme='http://www.blogger.com/atom/ns#' term='2.22.0'/><category scheme='http://www.blogger.com/atom/ns#' term='cmake'/><category scheme='http://www.blogger.com/atom/ns#' term='solving'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><category scheme='http://www.blogger.com/atom/ns#' term='mit license'/><title type='text'>Freecell Solver 2.22.0 was Released, Now Under the MIT/X11 License</title><content type='html'>&lt;p&gt;
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; version 2.22.0
is now available for 
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;download 
    from the download page&lt;/a&gt;. This release converts from Public Domain
"licensing" &lt;a href="http://linuxmafia.com/faq/Licensing_and_Law/public-domain.html"&gt;which 
    is problematic for source code&lt;/a&gt; to the more explicit and less 
controversial &lt;a href="http://en.wikipedia.org/wiki/MIT_License"&gt;MIT/X11 
    License&lt;/a&gt;. (Some source files that had been originated by other parties 
are still under the public domain).
&lt;/p&gt;

&lt;p&gt;
Also in this release is some fixes to the build system (in part thanks to
a contribution by Risko Gergely), including the ability to prepare a static
library. 
&lt;/p&gt;

&lt;p&gt;
Happy solving, and enjoy April Fool's Day Tomorrow.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-3090410347377127318?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/3090410347377127318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2009/03/freecell-solver-2220-was-released-now.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/3090410347377127318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/3090410347377127318'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2009/03/freecell-solver-2220-was-released-now.html' title='Freecell Solver 2.22.0 was Released, Now Under the MIT/X11 License'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-6871019008607215475</id><published>2009-03-26T08:22:00.001-07:00</published><updated>2009-03-26T08:26:53.963-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='win32'/><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='freecell'/><category scheme='http://www.blogger.com/atom/ns#' term='2.20.0'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='solving'/><category scheme='http://www.blogger.com/atom/ns#' term='solver'/><category scheme='http://www.blogger.com/atom/ns#' term='nsis'/><category scheme='http://www.blogger.com/atom/ns#' term='executables'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='installer'/><category scheme='http://www.blogger.com/atom/ns#' term='binaries'/><title type='text'>Freecell Solver 2.20.0 was Released, along with a Windows Installer</title><content type='html'>&lt;p&gt;
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; version 2.20.0
is now available for 
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;download 
from the download page&lt;/a&gt;. The big news is that executables for Microsoft
Windows (x86) are now available for it, for the first time since the early 
2.8.x releases. And this time, they come in the form of an interactive
"Next→Next→Finish" installer based on 
&lt;a href="http://nsis.sourceforge.net/"&gt;the Nullsoft Scriptable Install System
(NSIS)&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Also in this release are a fix to a crash when using the range solver with 
the "-opt" flag (and other similar scenarios), a more comprehensive NEWS file 
and some other fixes.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-6871019008607215475?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/6871019008607215475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2009/03/freecell-solver-2200-was-released-along.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/6871019008607215475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/6871019008607215475'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2009/03/freecell-solver-2200-was-released-along.html' title='Freecell Solver 2.20.0 was Released, along with a Windows Installer'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-3169086665937176517</id><published>2009-03-21T10:58:00.000-07:00</published><updated>2009-03-21T11:00:01.852-07:00</updated><title type='text'>Freecell Solver 2.18.0 Was Released</title><content type='html'>&lt;p&gt;
As &lt;a href="http://tech.groups.yahoo.com/group/fc-solve-discuss/message/887"&gt;previously
    announced on the fc-solve-discuss mailing list&lt;/a&gt;, version 2.18.0 of 
&lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; is now available
for download as a source tarball from 
&lt;a href="http://fc-solve.berlios.de/download.html"&gt;the download page&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Here are some highlights of the new release:
&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
Added the FCS_FREECELL_ONLY compile-time flag to hard-code the settings
for Freecell and thus allow a faster run-time. When applied, it improves
the speed of the solver from 140 deals / second to 164 deals / second.
&lt;/li&gt;
&lt;li&gt;
Fixed using &lt;a href="http://libredblack.sourceforge.net/"&gt;libredblack&lt;/a&gt;
for states and stacks storage, and also added a 
&lt;a href="http://judy.sourceforge.net/"&gt;libJudy&lt;/a&gt;-based backend for them.
&lt;/li&gt;
&lt;li&gt;
Added the -Wall (= turn "all" warnings on) by default for gcc in the CMake
build.
&lt;/li&gt;
&lt;li&gt;
Updated the "TODO" file in the distribution which was heavily out-of-date.
&lt;/li&gt;
&lt;li&gt;
Documented the "What's new" of some previous releases in the "NEWS" file.
&lt;/li&gt;
&lt;li&gt;
Got rid of the Hard-DFS scan, which was no longer useful. It is still accepted 
as an argument, but is now using the Soft-DFS routines instead.
&lt;/li&gt;
&lt;li&gt;
Many internal refactorings, cleanups, tweaks and fine-tunings.
&lt;/li&gt;
&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-3169086665937176517?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/3169086665937176517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2009/03/freecell-solver-2180-was-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/3169086665937176517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/3169086665937176517'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2009/03/freecell-solver-2180-was-released.html' title='Freecell Solver 2.18.0 Was Released'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-96099636168698788.post-3458986784403590069</id><published>2009-03-19T08:38:00.000-07:00</published><updated>2009-03-21T10:29:53.473-07:00</updated><title type='text'>Welcome to the fc-solve Blog</title><content type='html'>&lt;p&gt;
Welcome to fc-solve.blogspot.com. This will serve as the future blog and news-feed for &lt;a href="http://fc-solve.berlios.de/"&gt;Freecell Solver&lt;/a&gt; and related news, like general Freecell resaerch, automated solving of other Card solitaire variants, and solving or playing other puzzles, riddles and games.
&lt;/p&gt;
&lt;p&gt;
Freecell Solver started from a program I wrote (first in Perl and then re-implemented in ANSI C) to see if some ideas I had for solving Freecell would work. It performed well enough that I created a web page for it on my Technion's homesite, named it "Freecell Solver" and announced it on &lt;a href="http://freshmeat.net/"&gt;Freshmeat&lt;/a&gt;. Since then, due to the constant feedback I received from people who tried to use it, it was greatly enhanced and expanded. 
&lt;/p&gt;
&lt;p&gt;
One of the things I invested the most time in was the online resources for support and information. The &lt;a href="http://fc-solve.berlios.de/"&gt;web-site&lt;/a&gt; started from one page, and then had two pages, and now has at least ten different pages, all with a different purpose. I also started &lt;a href="http://tech.groups.yahoo.com/group/fc-solve-discuss/"&gt;a mailing list at YahooGroups&lt;/a&gt; to discuss the program and related programs, and it proved to be very active and lively.
&lt;/p&gt;
&lt;p&gt;
Another thing that I set up were release-news that were present on the front page of the site and the &lt;a href="http://fc-solve.berlios.de/old-news.html"&gt;old news page&lt;/a&gt;. A few days ago, I thought to myself: "If I'm maintaining these news items, why not create a web feed out of them?" And if we're going to have a web-feed - why not have a blog, with comments and the whole enchilada?
&lt;/p&gt;
&lt;p&gt;
So this is the next step in communicating about Freecell Solver and related matters - a weblog. It's also my excuse to play with Blogger.com, and see how it fares in comparison to other web-journal services I know. (Like my friend once said "You gotta move or you stone."). 
&lt;/p&gt;
&lt;p&gt;
So if you've got something to say, say it here in a comment. And remember: if you're not in it for fun - I'm out of here!
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/96099636168698788-3458986784403590069?l=fc-solve.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fc-solve.blogspot.com/feeds/3458986784403590069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fc-solve.blogspot.com/2009/03/welcome-to-fc-solve-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/3458986784403590069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/96099636168698788/posts/default/3458986784403590069'/><link rel='alternate' type='text/html' href='http://fc-solve.blogspot.com/2009/03/welcome-to-fc-solve-blog.html' title='Welcome to the fc-solve Blog'/><author><name>Shlomi Fish</name><uri>http://www.blogger.com/profile/03931260511676488069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_GYn_spvIZPg/ScUiqqh5TrI/AAAAAAAAAAM/hsMQ3hAPybo/s1600-R/shlomif-next-to-computer.jpg'/></author><thr:total>0</thr:total></entry></feed>
