Older blog entries for shlomif (starting at number 66)

Mozilla 1.1 Beta for Linux

It's much better than Mozilla 1.0.0 - that's for sure. At least as far as the Hebrew composer is concerned. I did discover a bug which I reported to the developers and received a lot of replies to. Whenever I type some text in underline and then end the underline and type a comma, it crashes. Still, I'm very pleased with it.

FCFS R/W Lock for the Linux Kernel

Shhh! Don't tell anyone, but I'm working on making sure flock and fcntl are first-come first-served. With the help of the current maintainer I looked at the code, and from what I understood, the problem was not that the lock prefers readers over writers, but rather that it was last-come first-served.

I.e: it uses a stack instead of a queue to keep track of the pending processes. Thus, if a reader takes hold of the queue after all the pending writers, than most probably the lock would be dominated by readers.

A previous attempt at fixing it failed. And now I am trying to do it more gradually, while using User-mode-linux (of course!) and the Tom's Boot Root image.

Joel on Software Translation

Fixed some bugs in "Five Worlds" and "Things you must never do, part I" (thanks to the time spent by the gracious Hackers-IL people to review it). Now I'm in the middle of translating "UI Design for Programmers - 2" and hopefully learned some things from the feedback I received from the two previous installments.

One good thing about this translation is that I am able to replenish my Hebrew skills, which have become a bit rusty lately.

Translating "Joel on Software" Articles

I received a translation of one article of Joel to Hebrew to copy edit, which I did. Encouraged by this, I set out to translate Things you should never do, part I, a famous (possibly in-famous) article in which he claims that it is not a good idea to completely re-write from scratch an entire codebase. I placed it on my site and posted an announcement on Hackers-IL, and received some feedback. I had problems reading some of the feedback due to Hebrew issues, but now I have at least two useful commentaries.

I then set out to translate Five World, posted an announcement on Hackers-IL and this time was more specific with the format in which the review should be sent. I received one commentary so far, but did not look at it yet.

I noticed that the Mozilla Composer of Mozilla 1.1 Beta for Windows was much more stable than the Mozilla 1.0.0 for Linux. Maybe they fixed some bugs in the process.

List of Israeli Projects

I started composing a list of Israeli-Oriented Projects. I received some useful comments (and in the case of one distinguished member of the list whom I very much respect - flames :-(). It's in version 0.0.3 now, and I'll probably have to convert it to some database format.

Note: Installed Mozilla 1.1 Beta for Linux now: I'll see how it is on par with the Windows version as far as editing Hebrew documents is concerned.

Welcome to Linux

If you take N Haifa Linux Club activists and ask them what we should do for "Welcome to Linux" this year, you'll receive N+1 opinions. The discussion that erupted on the mailing list (which I purposely caused) does not seem to have entered into mail-archive yet (possibly because of the DNS problems).

What I think should be done is simply demonstrate some of the capabilities of Linux. (sort of like Linux in action) I think it is useless to try and teach the basics of Linux in 6 or 7 2-hour sessions, and that we will only lose people that way.

Other distiniguished members of the club disagree from various reasons. I still recall the previous "Welcome to Linux" attempts as things we put a lot of work into, were relatively unrewarding as far as the organizers were concerned, and caused us to lose a lot of time which could have been invested in lectures.

I don't think it is our "obligation" as Linux experts to evangelize Linux into the non-informant public. (the situation is worse in Israel, as many people don't know what Linux or Open-Source are.) As known from Cognitive Psychology the words "must" and "should" are extremely demotivating. My suggestion would put a much lesser strain on our resources. Other than that, I believe that we will again put too much effort with far too less reward.

6 Aug 2002 (updated 6 Aug 2002 at 11:39 UTC) »

The non-virtue of being tact-less

While I can try to avoid it as much as I can, I sometimes make non-tactful comments, phrase critiques as accusations, etc. I recall that people behaved tactlessly towards me, but I don't hold it against them, because I'm trying to be rational and "look on the good side" as possible. There is one exceptional person who seems to criticize everything I do, and I don't like him at all, but usually I'm OK with other people.

Even this diary was criticized several times as a place where I behaved tactlessly. I already tried to make sure I don't criticize people for things that they told me in private. I went over the previous posts and some of them could have offended those who read them. But if I had a penny for each time I was offended I would have been a rich man by now.

It is possible that I'm too much like this other person. I suppose I can try to rethink what I say on public from now on. This might be the best solution in the long run for being around people who are not entirely fat-skinned. Of course, some of the greatest people in history were known as completely tactless, and they survived. (and some of the vilest men were very pleasant and friendly and seemed to make everyone happy).

The Lecture Yesterday

Went pretty well, even very well. Before the lecture I noticed that there were two twelve-years old kids out there waiting for the room to be opened. Me and another guy started telling them why MS ASP was a bad idea to begin with, and why Perl/PHP/Python and friends were much more powerful and less money-oriented. We then told them that after they learn one of these languages, they should also learn ANSI C, because it gives a good grasp of machine language and how computers work.

Then the lecture began. There were a few jokes (some of which on my expense) and Nadav helped a lot. Someone kept asking a lot of questions, which at least gave me confidence that the audience was following the lecture. All in all we were about 20-30 people.

After the lecture, he noted that this lecture may have thrown the kids into the hands of "the Microsoft devil" as the first lecture they attended dealt with such a complex subject as Autoconf, Automake and Libtool.

One thing to note is that using the GNU Autotools is not a panacea as far as portability is concerned. The only way to make sure it builds everywhere is to try to build it everywhere.

Just a small joke from the lecture, which I hope won't offend anyone: I showed them the Makefile.am file of the FCFS RWLock. Then someone asked why did I have to show my most complex Automake file todate. So I said: if you think this is complex, just wait till you see the automake file of Freecell Solver... ;-)


My feature about it was rejected on Slashdot, too. I'm a bit disappointed because it isn't vapour, and while it may be denounced as "bad", is still readable.

I asked the Linart guys where can I publicize it and got one reply enumerating the usual suspects: LinuxToday, LinuxPR, LWN, etc. None of them have quite the effect of Freshmeat. I really think I should go in the direction of opening a Freshmeat-like directory and releases board for Net-available content.

There a few alternatives to Freshmeat on the Net, but I don't know how much their database scheme is adapted to non-software stuff. But it's better to give it a try.

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

57 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!