Older blog entries for shlomif (starting at number 61)

August Penguins Event

The first lecture about Embedded Linux was very good and interesting. The second lecture about TCP spoofing was good, but had a boring (IMO) topic so I drifted away. The first lecture took a bit too long so Orna told us to stay for the second one, but people voted with their feet. (later on I told her that cancelling recesses is usually a bad idea, and she agreed)

The movie "Revolution OS" was good. I did not learn anything new, but there were a lot of funny bits, and it was interesting to see the faces behind the names.


Spent some time preparing a decent site, and you can check it out. I'm still not sure that I want to Slashdot it, but it seems that I'll have to.

Autoconf Lecture

It's tomorrow so I took some time to review the slides. I also uploaded the updated ones to Vipe, and used rsync this time. I love rsync.

3 Aug 2002 (updated 3 Aug 2002 at 18:49 UTC) »


A muse fell on me and I wrote the preliminary version of #!/usr/bin/perl - Episode 1. I really should start using source control for this. nyh has made a critique of it after I posted it to Hackers-IL. He had good points (which I taken into account), but was a bit too preachy.

What people don't understand is that it's better to have 100,000 viewers who know you know what you are saying is true, than 10 million who hear what they want to hear. And #!/usr/bin/perl is about real computer geaks heared from a real geak. Who happens to like reading comedy and realism, better than Sci-Fi and Fantasy, who is an able humour writer, a good programmer, and who knows how small Info-Tech companies run and should be run.

Other than that, I was disappointed that Freshmeat rejected the submission. First my fortunes collection (which took me a lot of time to produce and is still actively maintained), and now this. They seem to be missing Open-Content or pseudo-Open-Content almost entirely, which, in my opinion is a big mistake, because it's going to be one of the best next things.

Never mind, I can try on Slashdot, albeit I'm not sure it's a good strategy. So I ask you to please read it and comment.

Something is rotten in the kingdom of Denmark. And it's time for Hamlet to clean up. "To Be or Not to Be" - Not To Be!

Note: Now that I think of it, I can get it in through the back door by writing a set of scripts to maintain and render movie and T.V. shows screenplays. I sure could use something like that. And I'll contain links to such projects.

Changing the World Bottom-Up

I think I've been trying too hard to change the world, the Technion, etc. top down. Maybe I should now try bottom up, by starting from the little things. Doing little projects, building new working models. Eventually, something big would happen, whether the so-called men in power like it or not. Power to the producers!

30 Jul 2002 (updated 30 Jul 2002 at 18:17 UTC) »

The Freecell Solver Win32 Build Script Fiasco

My Win32 Build Script sparked quite a fuss in Hackers-IL, as people started criticizing it, saying downloading files from the Internet and then executing them was not a nice thing to do, does not check for out of disk space, not secure etc. etc. What they should realize is that it is an internally used software, and one that I do not intend to comply with any standards of robustness.

I had to write it that way to comply with the fact that I cannot assume that the systems I have access to carry anything useful besides cmd.exe and MSVC.

There are other interesting bits in that discussion, but it seems to have diverged into an NT vs. Linux war.

Some of the commentary was useful and highlighted defincies which I was aware or partially aware of. But most of it was irrelevant (how can you assume cURL is around? - I specifically am going to download it)

Technion Project

Roy and I managed to write more of the clubs management script, and we showed what we had so far to Yoram. He seemed quite happy with what we told him. It also seems we have some clear advantages over the sister project's philosophy. We also showed him a bug fix in run-time.

To avoid the Freshmeat Effect, Roy and I decided to call the project "Zavitan" after the stream in the Golan Heights. This is in accordance with the current "Locations of Palestine" theme of Gamla/Arad. I was toying with the idea, that I would be able to revive Gamla this way.

I discussed Joel Spolsky's Five Worlds with Roy and told him about Shrinkwrap software with Open-Source vs. Commercialware vs. Consultingware. I noted that the IP-Noise Simulator was on the virge of being consultingware due to its not so straightforward installation procedure and incompatibility with Andrea Archangeli's VM. Roy and I completely lost interest in maintaining it further, and I really hope someone would volunteer to, because it sounds like a very useful tool.

Regarding Zavitan - I'll make sure it has a straightforward installation procedure, and be well documented with POD files. I don't want it to be become semi-consultingware.

Roy and I decided to take a break from the Perl code and start working on the static HTML WML-based site. We did not get too far because I was tired, and eventually let Roy type on the computer. Then we started discussing the proficiency of software consultants, Microsoft's Support Strategy, MSCEs, RHCEs, and stuff like that.

Vim Automake Problems

I emailed the maintainer of the automake indent mode. He E-mailed me back saying it was nice of me to notice. Then I was CCed on a discussion between him and Bram Moolenaar. It was not the first time I received an E-mail from Bram. I'm glad to know Vim has such user-friendly developers.

28 Jul 2002 (updated 28 Jul 2002 at 03:16 UTC) »

RPM Spec for LM-Solve

I started writing an RPM Spec tempalte for it based on the SPECs of a few Perl packages from Mandrake Cooker. I got a few building errors, and eventually contemplated that they were incompatible with older versions of Mandrake. By using a stable version from RPM-Find, I was able to complete it, and it worked beutifully, at least on my system.

LM-Solve 0.5.4 is now RPM-enabled. I posted an announcement on Linux-IL for people to test that it works well on their RPM-based systems. So far I received one reply.

Freecell Solver

Adrian encountered a different behaviour of presets with the --prelude feature. Eventually, it turned out that the quotes in the preset string confused the command line chopper, as it does not support them. Once removed, it worked the same as for me.

Now, we agreed to add support for these quotes into the chopper, to avoid such further annoyances. Now that I think of it, I think I'll prototype it in Perl, first.

As a side note, I should add that I asked Adrian whether he would wish to receive intermediate versions of the book, and he said he would. I think I should ask more people privately like this.

A diagram

My mother needed me to prepare a block diagram for her. I used Dia for the job. It took us some time to get it just right. Then, when I printed it, it came out very blocky. But then I opened the EPS, converted it to a PNG with a resolution of 600 DPI, and so got a much larger and accurate image. Then, it printed fine.

Dia is a nice program, but has some quirks. I would have used Visio if I could, but we don't have a copy of it on our Windows system. I have it at the Technion, though, but now I'm in Tel-Aviv.

Freecell Solver Site

I discovered that the XHTML 1.0 validation image had a border, so I removed it. Now what I would like to do is create some macros to encapsulate some of the common patterns there.


The project is progressing. Not very quickly, but there's progress nonetheless. I set up to meet Roy on Monday, and hopefully pair programming would let me have some more discipline. I talked with my apartment owner, and he said that Yaron is not going to renew his contract next year. That means I'll have to hang some ads looking for an apartment partner.

Eran and I got 94 in EE Lab 3, and I'm really glad for it.

LWN Closing

It's a pity that Linux Weekly News is closing. I think it is one of the best Linux resources around, and I would really miss it. I still wonder why they did not try requiring subscriptions to read their articles. I'm sure many people would have paid and they could have released old editions for everybody to link to after a fixed amount of time.

Oh well: who is John Galt?

New Site for Freecell Solver

I spent the better time of yesterday's afternoon working on a new site for Freecell Solver. I opened a new branch for it on the CVS, but I finished so quickly that I quickly merged it with HEAD, without modifying HEAD at all.

You are welcome to Check it out and let me know what you think.

I also played with rsync and got it to work quite quickly. I used scp before and rsync is much better. BerliOS does not seem to carry it on their server, so I had to install it under my home directory. Afterwards, I tweaked the makefile to extract several files out of the latest stable Freecell Solver archive and put them on the site.

As a side note, I should add that a Google search for Freecell Solver now turns the 2.4.3 Freshmeat release as the first hit, the Freshmeat record as the second, the BerliOS mirror as the third, and the real homepage as No. 4. Google seems to have such anomalies sometimes, and I hope it won't persist in its next update.


Here is what I'm planning to do next:

  1. Work on the university project
  2. Review the Autotools lecture in preparation for giving it
  3. Prepare a lecture about WebMetaLanguage
  4. RPM-Spec enable LM-Solve

Open Source Projects

I have just released LM-Solve 0.3.5. It is the result of a lot of time invested in getting it to support Plank Puzzles, and it seems to be working very nicely. I also released Freecell Solver 2.6.2 which can now be built as a Debian package out of the box.

HTML Musings

I sent a bug report to the Mozilla folks about the fact that an <h2>'ed link does not display correctly. It turned out that the standard specifies that an <h2> tag cannot be placed inside a <a> tag, which was the case for the page I produced. Once I fixed it, it worked fine in Mozilla as well as Konq.

They still designated it as a bug because it is possible that such faulty HTML would be encountered.

University Project

It takes a lot of time to tweak Apache to do just what I want it to do. Still, I'm making progress: I already implemented a login/logout feature and started writing the users management script.


The grades for Lab 3 are on the grades board, but since I'm home right now, I can't check them out. Better ask Eran to do so, as he took the lab with me.

I checked out the mail at the Haifa apartment and found a few bills. Dad paid them yesterday, but he refused to pay the telephone bill. I should contact Yaron and ask him if he is going to leave the apartment the next year, because I think he finished his studies.


I got 100 as the final grade for "Structure and Interpretation of Computer Programs 2". The Computer Graphics test is going to be the day after tomorrow. I photocopied the previous tests in the library and I'm going to solve them today and tomorrow.

I don't know when Roy would be available to work on the project. I spent some time working on it myself, but still has a lot of ground to cover.

Open-Source Projects

Adrian reported a bug in Freecell Solver, and Valgrind was able to trace it. I fixed it and released Freecell Solver 2.6.1. Valgrind kicks ass!

I think I'll work on adding support for Plank Puzzles into LM-Solve next - I'm in the mood for it. I also did some work on the Perl parser for the SysCallTrack grammar.

lindsey: if you are looking for a better replacement for CVS, check out BitKeeper, Subversion, Arch, and Aegis. One of them should do the trick.

Open-Source Projects

I released Freecell Solver 2.6.0. I already heard from Adrian about his attempt to integrate it into Freecell Pro. I sent a patch to the developer of valgrind to fix the RPM Spec generation and it was integrated into the package in its latest release.

I have several open tasks for my pet projects. One of them is to add support for plank puzzles to LM-Solve; the other is to thread-enable Freecell Solver. I think I'll take a break and work on the books, the lectures and the university project a bit before I proceed with them.


I'm at home, and at rest. I am taking some time to go over the material of "Computer Graphics". I got 86 as a final grade for "Design and Analysis of Algorithms". Finally, I started working on the project and wrote a layout class, and several scripts that display the basic read-only site functionality. It took me some time to get mod_perl to behave the way I expect it to, and then some more to verify that the URLs are correct. But I'm making some progress.

Freecell Solver Book

I finished the chapter about the architecture of FCS 0.2 and I'm now in the middle of the next chpater which covers the evolution of the states collection. With some help from the docbook-apps mailing list I was able to fix the table which was too wide (turned out I did correctly specify the number of columns).

If I can say one thing about Jade, then it would be that it is very slow. Luckily, the XSL stylesheets work so much faster for the HTML rendering and I don't have to convert it to PDF too often.


Roy phoned me today and told me he has some commitments to his work place, and won't be able to sit down for doing the project until the 25th. We agreed that I can work on the project alone until he become available again.

I reviewed the "Computer Graphics" material a bit, but I don't see too much point in studying too hard at the point. Spent most of my time hacking on stuff. ;-).

Freecell Solver Book

I discovered a way to render the book into PDF. Just run the "db2pdf" command, which uses the DSSSL stylesheets. I wonder what is the problem with the XSL ones. Now the problem is that a table I drawn is too wide and slips out of the page.

I now have four subscribers to the book mailing list, and I see some people responded to my post here. In any case, the book is progressing slowly but surely, and I already wrote part of the second chapter.

Freecell Solver

By looking at its code, I discovered that the priority queue module could use a lot of optimizations. So I optimized it to death. Later on, I did a lot of clean-ups, and also released version 2.5.36 which aims to be the Release Candidate for 2.6.0. Then I did some more cleanups.

I'm getting a bit restless, and I think I'll release 2.6.0 after I check that it agrees with valgrind, Electric Fence, and dmalloc. I could delay the other cleanups, and code commenting to the 2.7.x branch.

I timed a few more atomic scans and just got below the 260 million iterations mark. I had a talk with Adrian in the mailing list about solving games with less than four freecells, and reached a conclusion that I may have to construct specialized presets for them too.

52 older 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!