22 Dec 2001 shlomif   » (Master)

Freecell Solver

I released version 2.0.0 of it. There are two very big things which I'd like to do with it now: add support for multiple threads to operate on the same states' collection, and port to Java. I'll do the former first, so I'll have a good code-base to translate into Java.

Otherwise than that, I'm also thinking of finding a way to abstract prunes without messing the code too much. But since Freecell Solver is fast enough as it is, it's in a rather low priority.

First-Come First-Served Readers/Writers Lock

I coded such a beast for POSIX threads and you can find it here. I did it mainly for fun and to see if the model I thought about for implementing it would work. It seems that it does.

I received some feedback about it from various people. Now I have an idea for improving it, so there will be a smaller number of condition variables that are allocated. But I'll release the current implementation as 0.2 before I do that.

Unfortunately, I'm not going to use such a mechanism for Freecell Solver's multi-threading capabilities. The reason is that the atomic operation of managing the states collection is of checking if a state exists and if not adding it. (and returning whether it was the case). That way, a mutex is enough.


I added an incomplete scene called "The Street". It has a lot to do with Computer Science, so I recommend hackers to read it.

The Technion

After having to do 5 exercises in "Structure and Interpretation of Computer Programs", I won't be surprised if I'll start dreaming in parenthesis. During the last lecture, I managed to correct the lecturer on one occasion. Read about it in this post I made to Hackers-IL.

In case, I did not mention it here earlier, I'm writing the answers in English and using LaTeX. It's very convenient and causes much less trouble and frustration than Word. I discovered that one should write {\tt My text} instead of \tt{My text}. LaTeX is not without its idiosyncrecies, but at least one becomes familiar with them eventually, which is not the case with MS-Word.

Other than that, I stopped studying "Digital Communications". The lecturer and the T.A. were great and the material was very interesting, but the homework took too much time. And after I worked in the summer on the project, I'd like to have a light semester.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!