Older blog entries for shlomif (starting at number 183)

GIMP Lecture at Telux

I gave a lecture about the GIMP on Sunday to the Tel Aviv Linux club. It went pretty well, but there were few people there (less than the previous lecture). Some things sparked a bit of discussion, like whether Graphic Artists can learn the GIMP Scripting or do they need something more foolproof.

After the lecture I talked to two guys. One of them was a system administrator in a high school who converted some of the server infrastructure there to Linux, and wanted to conduct an experiment to see if development could be taught there.

Quad-Pres Hacking

I released a new stable version of Quad-Pres, with some critical bug-fixes. The problem was that upload did not work, because of a leftover file which was revamped without proper modifications to the rest of the code. So, I added some tests and now have some items on my pressing to-do list.

Rub-a-dub-dub Translation

It's finished! Did not take too long at all, but maybe the article was just short. I have applied some corrections by going over the translated text. Now I'm looking for someone to go over the translation and copy-edit it.

Setting up ViewCVS for Subversion

I wanted to set up ViewCVS for the Subversion repository. So I read the install file of ViewCVS from the CVS, and followed it. The first problem I encountered was that the Python SWIG bindings of Subversion refused to install. I received a hint in response, which led me to a solution. (an explicit make install-swig-py-lib command)

Then I installed and configured the ViewCVS config files and they refused to work due to an unfound module error. Turns out the problem was that Apache did not pass the PYTHONPATH environment variable to the CGI scripts. After RTFMing, I found a solution: a simple "PassEnv" directive.

Then it worked, but I'm not sure that it traced files across copies. I may try Chia-Ling Kao's SVN::Web script later on.

Haifux Welcome-to-Linux Preparation Meeting

We held a meeting in preparation for the "Welcome to Linux" series. kilmo was there as he returned from abroad, and I was surprised to see him there. Here is the summary of the meeting which I took down.


Studies are beginning tomorrow. I have to get up early to catch the bus, which should arrive a while before the first lecture.

17 Oct 2003 (updated 25 Sep 2004 at 11:20 UTC) »


More Hacking. More tests, and finally a new stable version release. I branched and tagged version 0.10.0 only to discover I did not update the file list of the tests directory, so I released version 0.10.1 as well.

It seems Quad-Pres has disappeared from Freshmeat, possibly because vipe was down for a while. (I did not receive an E-mail about it, though). Eventually, I registered a project at BerliOS, and now it has a new homepage. So, now Freshmeat points at it and hopefully it would be safer there.

Version Control Systems

Added a few items and corrected some typos in the version control comparison. Also, I recommended Subversion in a recent discussion in webdesign-l, and someone posted a message that when he tried to install Subversion on Win32, it did not work for him.

To help him and others in the future, I installed Subversion myself on my Windows XP laptop, and documented the process. Et voila: a Subversion Win32 Installation Walkthrough. Share and enjoy!


I'm taking a break from translating "Homesteading the Noosphere" by translating the Joel on Software "Rub a Dub Dub" article (to Hebrew, of course. Like I know any other language besides that and English well enough.) Here's the site where I'll put intermediate copies of the translation.

Finally, I went over the slides of the GIMP Lecture in preparation for my lecture on Sunday. And on Monday there's a Haifux Welcome to Linux coordination meeting.


I went to see "Finding Nemo" the other day along with my father. The movie was nice, albeit not quite as much as "Monsters Inc.". At the end of the movie there was a very long list of credits, and my father joked that it would have taken less time to draw the movie pixel by pixel. In any case, the Graphics was great.


I finished reading "The House of Arden", which had a rather disappointing end. I also read Joel on Software's Unicode article. Not too much I did not know, but it was still a very amusing read.

Finally, I started reading "Ender's Game", and read two or three chapters. It's a bit strange so far.


I decided to backup my Linux system. Due to the fact I have an IDE CD Writer, I had to install ide-scsi. So I followed the instructions in the "Installing your ATAPI CDRW Drive in Linux" tutorial, which involved rebooting the computer (gasp! I thought in Linux we were never supposed to do that). Eventually, after the reboot and setting a parameter in loadlin, it worked on the first try, and I have a burned CD with some backups.


I worked on Quad-Pres the past two days. At first I added an option to set the encoding and language, on a per-presentation level and a per-page level. To make sure it works correctly, I wrote a test script for it. Eventually, I ended up with more lines of test code, than lines of added code, and the code worked at the first try my test suite had no bugs in it. The test suite involves a bash script that calls two Perl scripts. (%-) - it was the easiest way to do it).

Then when I fixed a bug (that the rendering process did not stop on the first WML error), I added a test for this as well.

Finally, I added a module to channel Getopt::Long and make sure it can use an array besides @ARGV. (a kludge, if you ask me, but that's life). And I added a unit test for this as well. After I got the test to work, I found out I had a bug in my code (!) because of it.

I'm quite happy with this "write tests as you write code" scheme. So far, it slowed me down a bit, but in the long run it gives way for more robust code.

10 Oct 2003 (updated 10 Oct 2003 at 18:43 UTC) »


I wrote some patches to the perlop and perlsyn Perl Man Pages, which I sumbitted to perl5-porters and there Michael Schwern and others have revised them. The two patches were applied to the bleadperl version.

I also copy-editted the translation of Open Source Software - A History that was done by Oren Maurer. Finally, I made some modifications to the Haifa Linux Club "Welcome to Linux" lectures that I'm responsible for. There may have been some other things, but I don't quite recall them.

Subversion Woos

I upgraded the Subversion at the stalker host, without first dumping the repository. That has put me into trouble, as nothing I tried to resotore the old homepage repository (which was changed since the last backup) worked. Eventually, I settled on using the few-days-old backup, checking out a working copy, and syncing the new working copy in, using a Perl script I wrote for the job. Now everything is up again.

Next time, I'll know to be more careful.

New Cellphone

My father decided that the entire family will switch their cellphones to Orange (GSM cellphones) to enjoy their intra-family calls discount. So, I now have a new cellphone. I still have to get used to it, and so far using it is a bit annoying.

One thing I noticed was that I could not enter Hebrew contact names longer than 5 or so characters. After calling the support, it turned out that we could only have it longer if the interface (and the names) were in English. So much for human engineering.

Orange Site

I had wanted to view the new cell-phone in the catalog so I tried to use the Orange site. With Konqueror it was dead on arrival, so I tried Mozilla. This worked better, but when I accessed the catalog page, I could not see anything displayed there.

I wrote an E-mail to the webmaster telling them that Mozilla was not supported. In reply, I got a message saying that the site is guaranteed to work only with Microsoft Internet Explorer 5.5 and above. I asked them if they plan to support Mozilla any time soon, and got a reply that they don't for reasons I found very interesting. Here's my reply:

> Dear Mr. Fish,
> I thank you again for your mail.
> I regret being so blunt but, no, we are not going to change our website in
> the near future. We have developed an amazing website,

"amazing"? By this do you mean full of non-portable bells and whistles, and other idiosyncracies? Sorry, but that's not an amazing web-site according to my book.

A good web-site is either simple and clean, or includes standard-compliant, portable embelishments. (which are usually not necessary).

Usability, low bandwidth, etc. is much more important than "amazingness" and I bet it's not very usable in MSIE either.

> that costs us a > lot of money to develop and maintain,

Why does it? Why should it? I maintain a few web-sites in my free time and I'm not getting paid to do so. If you keep your web-site clean and simple, it will cost less money to maintain and will also attract more visitors.

> and it is currently built exactly > according to our business needs.

I seriously doubt it is built according to anyone's business needs. Why do you need JavaScript to display the catalog of images? Why not simply include them in the HTML? If you look at popular international sites, you'll see that most of them are built with simple and clean HTML (sometimes without any trace of JavaScript).

> I can also say that although > technologically it might be possible to develop a version for Mozilla or > other browsers,

1. It is possible.

2. I'm not talking about a separate version for other browsers. I'm talking about one version > orange, and many other content providers, are investing > in the most common browser, it is currently not cost efficient to > develop versions for other browsers. >

It is cost efficient if you hire clueful developers. Look at my site:


(which links to other sites I made).

They all look perfectly fine in all modern browsers, including lynx (a minimalistic text browser). Why? Because I know what I'm doing and I know how to write good HTML.

First you tell me your site costs a lot of money to maintain, and then you tell me it is not cost efficient to support other browsers. Now, let me tell you this: if you keep your site clean and standards compliant, you can have it support all browsers and it will cost you much less money to maintain.


Shlomi Fish

1 Oct 2003 (updated 25 Sep 2004 at 11:15 UTC) »


IBM has recently bought Rational, the producers of Rational ClearCase, which is an SCM system competing with BitKeeper. Does it mean all IBM employees (including many Linux kernel hackers) are forbidden from using BitKeeper? ;-)

I suppose only Larry McVoy can tell. I talked about it on the IRC with some people and they said IBM is so large, that it can hardly be considered as one entity. Still, I'm not sure it is a separate entity as far as copyright law is concerned.


Various bits and pieces. I worked a bit on perl-begin, compiling it again after the move to the new computer. Then, I added some links to web-forums there. I also worked a bit on the Haskell for Perl Programmers lecture, adding stuff on arrays.

I worked on the Homesteading the Noosphere translation. I finished the chapter "Ownership Rights and Reputation Incentives", replaced my own translation with a corrected first chapter I received from someone else, and also went over the existing translation and corrected various stuff.

I also modified my homepage to include the interviews section, and placed Adrian Ettlinger's interview online. You probably know of it from the front-page article.

Haifux Lecture

Been to the latest Haifux lecture on Monday. Ron Artstein talked about Multi-lingual Typesetting. It was basically a coverage of the constraints that written languages imply on getting them typesetted. It was loads of fun and amusing.

Google Mirroring Script

I wrote a Perl Script that mirrors the www.google.com domain. (and with some customization, other domains as well). The incenetive is to set up as many mirrors of Google worldwide as possible in order to battle's the Great Firewall of China's blocking of this useful resource, and to give the people (of the People's Republic of China) what they want.

There's a demonstration of it but it's a slow link and works only with lynx, because of Google's user-agent idiosyncracies.

Rosh Hashana

Today is Rosh Hashana - the Jewish beginning of the new year. So, yesterday's evening we had a family dinner with the extended family. Unfortunately, many people were abroad, and another sub-family were visiting their in-laws. Still , it was very fun.

I also greeted several people in the IRC and in the Linux-IL mailing list. I truly hope it would be a good new year with few harms and disappointments for everybody benevolent out there.

DVD Playing (cont.)

I downloaded and installed the new version of Ogle from the RPMs/SRPMs I found at its site. Now it plays the DVD I tried very nicely, with a much better interface than mplayer (or kmplayer for that matter) and with DVD menus and all. Very nice.

That put aside it seems that mplayer has a bug in relocating the position within the film. (it also happens for MPEG films).


I did some work on Subversion: placed svn-push inside the Subversion repository, created a branch for it for future developments, and clarified some things in the mailing list and the IRC.

Then I took a break and started writing the Haskell for Perl Programmers presentation. wli helped a little after I queried him on the IRC. There are still things I'd like to add there, but it's quite OK as it is.

HTML Blues

While working on the presentation, I decided that I want to emulate the <table border="1"> look with CSS. I asked it on the web-design list and someone answere me with a recipe. I was able to customize it to emulate Konqueror's look and feel. But then when I tried it on the slides, it did not work.

After a long investigation, I finallly found that if I remove the DOCTYPE everything works again. Then I found out that the problem was that my selector was table.border1 > tr > td instead of table.border1 > tbody > tr > td. After that was applied it was solved in both Konqueror and Mozilla.

Then someone I consulted with on the IRC reported that it does not work in Internet Explorer. After some investigation, it was discovered that MSIE does not support the child selector (parent_tag > child_tag) at all. Aaaarrggghhhh! So, now either I make a non-IE compatible site, or switch to table.border1 td (which may cause problems in the future), or apply class elements to all the <td> tags inside. I can also kidnap Bill Gates and threaten to kill him unless Microsoft makes MSIE more standards compliant and makes newer versions of it available for free download, but that would be too sadistic for my reputation.

MSIE Die Die Die!!!!

New Computer

My father and I set up the new computer. A lot of data was lost and some of the backups turned out to be faulty, but we manage. The new computer is a spiffy Pentium 4, 2.4 GHz with a GeForce 4 video card, and two 80 GB hard-disks with 8 MB Cache. Thus, everything is much faster than before.

I had to finetune the Linux system, as well as install stuff there and on the Windows system. Now everything feels more or less right.

Linux Meeting at the Cafe

Ori drove me there, and we arrived rather early. Later on, other people arrived. All in all, it was a nice meeting and the only thing that disturbed me was that many of the other attendents were smoking. I ordered a chicken salad, which was good, but not too large, so I also ordered a sandwich. I ended up paying 70 shekels for it which is quite a lot.

We talked a lot about KDE, GNOME, Hebrew support, PHP and Perl, MLdonkey and many other topics.

Yesterday's Lecture

I remembered to announce the lecture only on Saturday, and so the attendance may have been smaller than the optimal. Still, quite a few people came, and I lectured and demonstrated the Gimp to them. I was asked that in the next lecture, I'll demonstrate more programming-stuff like Perl, PDL, etc. and hopefully I'll prepare something in this direction.


I took the bike for repairs. It took the repairman exactly one minute to make it fine, and he did not even charge money for it. Now I can bike again, and indeed did.

ALSA sound

On the new computer, I had some problems hearing sound. The sound seemed to be playing and all the volume controls were correct, but no sound was emitted. After consulting people on the IRC and a lot of frustration, I was finally able to solve it. What solved it was downloading the updated ALSA drivers from the Intel (the motherboard manufacturer) site, and compiling them.


I worked on getting the Freecell Solver integration with PySol working again. It did not work at first, and it took me some time to iron out the bugs in the development version of Freecell Solver that have caused it. I wanted to upgrade to the latest PySol, and so I had to compile the Python 2.3 RPM, and to upgrade Python.

One problem I encountered which took me a lot of time to resolve was that PySol was looking for the data in . instead of /usr/share/games/pysol/. Eventually, it turned out it was caused by a file I left there as part of a previous experiment. All in all, the bindings turned out to be fine, and there were different problems altogether.

I also worked on integrating svn-push into the Subversion repository. I searched for a way to build but not install svn-push, and eventually settled on adding my own buildonly meta-target and adding it to the configure.in as those targets that are built. I also re-indented the code (GNU indent seemed to get most of the job done). The code was not commited yet, because I'm waiting to see if people can suggest a better way to modify the build process.


It took me exactly 10 minutes to configure Kmail, subscribe to the Subversion developers' list and send a message with my patch there. Kudos to the Kmail team for such a nice product. My only problems with it is that when viewing a message, I cannot reply to it from the viewer, and have to go to the messages folders to do so; and that I cannot find how to sort messages by thread. But all in all, it's a very nice program.

DVD Playing

We bought a CD Encoder+DVD Drive for the computer. When playing "Bring it On", the DVD installed its own player on the Windows machine, which was not as nice as PowerDVD which came with the drive. I tried playing the DVD in Linux. Ogle crashed on me, and Xine refused to play it with some cryptic message. mplayer did work (after I found out it needs to be invoked with mplayer dvd://1/) and kmplayer gives it a half-decent but a bit buggy GUI.

15 Sep 2003 (updated 22 Sep 2003 at 05:10 UTC) »

Computer Woos (2)

It turns out the Windows hard drive got damaged as well, along with all the data that was present there. Now, we have to find if the new Linux hard-disk is OK, because it was present in the computer as well when the accident happened. It's not too critical because I only used it for a day and I have everything that was placed on it (except for a few IRC logs) backed up.


With my limited resources, there's not too much I can do. However, I did work on the version control systems comparison, and today was able to translate one chapter out of "Homesteading the Noosphere".

Upcoming Linux Events

There was a Haifux meeting today in which Shimon Panfil gave a lecture about Tcl/Tk. I wanted to come, but Ori Idan, who was supposed to give me rides there, could not go eventually, and I preferred not to telecomute by public transportation.

Tomorrow there's a Linux meeting at a cafe in "Yehuda Halevi" St. in Tel-Aviv, and I intend to come. Next, I give a lecture about the Gimp for the Tel-Aviv Linux Club on Sunday. And a week and a day from then, Aviram Jenik will give a lecture about Spam to Haifux.


I made some progress in "Programming Web Services with Perl". And I also listened to the stand-up version of the Cathedral and the Bazaar. The latter is very amusing.


I looked for an Advogato Subversion project and found it: Subversion. So I designated myself a contributor to it. Then, I noticed Ben Collins-Sussman was a member of it, so I certified him as Journeyer. That's it!

12 Sep 2003 (updated 12 Sep 2003 at 18:12 UTC) »

Computer Woos

My father bought a new hard disk for the Linux, and I picked it up on Wedensday. After I got home, I installed it, burned the first Mandrake 9.1 CD and installed it on it. The installation went pretty well, except for a glitch that the bootloader was installed despite the fact I did not want it to be installed. Plus, when I booted the computer it did not work.

Knoppix came to the rescue and I restored the old bootloader and copied the new kernel and initrd to my Windows partition. I rebooted, ran loadlin and started the new system. It worked. I then spent some time configuring it to my liking and restoring my data from a backup CD I made of the hard-disk.

I installed XFS there, and the hard-disk has an 8 MB cache, so everything felt very smooth. However, yesterday when I turned on my computer, it started burning inside, and would not boot. My father took it to repair and at midday he called me to inform that there was a short-circuit in the video card, and that the CPU, the motherboard and the video card are ruined. We'll have to buy a new computer. (which is a shame because the old computer worked very well until now).

So now I'm working on the WinXP laptop, and eagerly wait for the arrival of the new computer.


My bike's front wheel is not working now, the problem being probably with the brakes. I'll have to take it to repair after the weekend.

Version Control Comparison

I updated the version control comparison to include Monotone and added a few sections. I also fixed the CSS stylesheet a bit. Now it's working perfectly in Mozzila , but MSIE 6.0 still ignores the max-width property. I also converted to a slighly different XML format, which simpmlifies the DTD, and does not require defining a new tag for each version control system.


I wrote a utility titled svn-push that can be used to propagate changesets from one Subversion repository to the other a la BitKeeper's bk push command. I actually started writing it in Perl, and Chia-Ling Kao's helped me a bit there. It still did not work and exhibited a segfault which I could not tell why it occured and had difficulties debugging it.

So I converted it to C, and afterwards Ben Collins-Sussman and Mike Pilato helped me on the IRC to resolve the remaining problems. I finished writing it, and went out biking. I eventually wrote a patch to subversion that puts it in the contrib and builds it, because solving the dependencies is easier to do from within the Subversion tree.

I only checked that it worked for local file:///... URLs. There's still some work waiting there, but I'm waiting for my Linux system to be able to work on it.

Israeli Perl Mongers Meeting

There was a Perl meeting yesterday. After I arrived there, I helped Gabor shop for snacks and drinks. Then we mingled and had a good time chatting. Ran Eilam showed us a relatively large laptop he bought with 1600*1200 display, a GeForce 5 card, and a battery life cycle of 1.5 hours. It was pretty cool.

We then took a time for each to introduce himself. Some introductions sparked a few discussions. There was something about the banking system switching some internal systems to Perl. Then, Mikhael Goikhman lectured about Threads. The lecture sparked quite a lot of questions and discussions. It eventually lasted much more than was planned for it, but we still had a good time.

Afterwards, Gabor introduced Tcl for us Perl programmers. The introduction went very fast, with some comments from a visiting Tcl guru that came to the meeting especially. Then, I took a ride home with Offer Kaye, and we got to talk about computer devices for blind people.


I read a few chapters off "The House of Arden", and also reading "Writing Web Services with Perl", which I took from the perl mongers library. I also read David A. Wheeler's How to Evaluate Open Source Software article, which is quite good.

Objectivism and Neo-Tech

chalst - Neo-Tech is not a cult, albeit it may seem so under first impressions. Neo-Tech is in fact, an extension of Objectivism that also integrates such fields as Psychology or Business Management into one great integrated whole. Perhaps, its main step forward from traditional Objectivism is the fact that it recognizes that achieving bilogical immortality by technological means is a desirable goal. If you read the book of Ecclestias, you know that everything is meaningless because no matter what you do, and how good or bad you are, you will die eventually. Well, with biological immortality, everything becomes meaningful again.

BTW, you're the first person who have known Neo-Tech before that I encountered when telling people about it. When people ask for my philosophical/political orientation I usually say I'm an Objectivist because there's a greater chance of people knowing what I'm talking about. (albeit in Israel, sadly, it is small as well.)

In any case, what did you think of my article? (I presume you read it, because Neo-Tech was mentioned there.) BTW, it seems that the Neo-Tech material was pulled off the web a few days ago. I think it's a grave mistake on part of the Neo-Tech proprietors because it was a very useful resource, and you cannot do without a good web-presence nowadays. Maybe I'll write them about it.

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