Older blog entries for shlomif (starting at number 180)

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

Hacktivity

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:

http://t2.technion.ac.il/~shlomif/

(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.

Regards,

Shlomi Fish

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

BitKeeper

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.

Hacktivity

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).

Hacktivity

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.

Biking

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.

Hacktivity

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.

Kmail

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.

Hacktivity

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.

Reading

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.

Certification

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.

Biking

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.

svn-push

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.

Reading

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.

Windows Bound

My Linux hard disk is causing more and more problems. So I found myself working more with Windows. I installed Cygwin on the desktop computer's Win98 system, but then the CPAN installation of Perl's LWP caused the computer to hang (twice). So I installed it on our Windows XP system, where everything went flawlessly. XP has the option of hiding all the taskbar icons, but I could not find a way to resize the taskbar to make it two rows high. Apparently, it crashes less often than Win98.

Version Control Comparison

I started writing a file in XML format that contained a comparison of several version control systems: CVS, Aegis, Arch, BitKeeper and Subversion. Then I wrote a perl script to translate it to HTML. My main problem in working on it was that my laptop's mouse-pad that was in the way of my hands to the keyboard, caused the cursor to jump. Then, I switched to working on Linux on the desktop computer where it was a better environment.

My code had some problems after I got it to run, but I solved it. I'm using XML::LibXML, perl's interface to libxml, which provides a great API for analyzing XML documents. It's much better than the tedious work involved in working with XML::Parser.

I then set out to write a DTD for the XML format I defined. I encountered two problems. The first was that I had several isomorphic tags and I had to write an identicla element definition for each one and enumerate them inside their container tag. I solved it by generating the DTD by another perl script.

The next problem I encountered was that I wanted the container to contain each at most one of each of the elements in any order. The good people at EF-Net's #perl channel helped me, and it turned out that it was not possible. So I settled for zero or one occurences of any of the tags. (it's the closest thing supported by the DTD definition).

In any case, I notified the Subversion mailing list and afterwards the Arch mailing list about the comparison and received a lot of useful input and corrections. It's great to know there are so many enthusiastic people out there.

"Objectivism and Open Source" Essay

Based on some input from people I sent a notification about the essay to, and some ideas of my own, I updated and revised "Objectivism and Open Source". Thanks to everybody who contributed input!

Biking

The bicycle turned out to be fine after all (after we filled a lot of air in the back wheel), so I went out biking the past few days. Yesterday, when I biked and stopped at the Yarkon Park to drink, I noticed some rabbits on a nearby patch of grass. There were two kids nearby who were trying to chase them. I approached them and asked them if the rabbits were theirs. They said yes and told me they ran away and that they tried to catch them.

I helped them in our attempts to catch the rabbits (an older, bigger one who was the father of the smaller one), but we were not successful. When I left, ten minutes later, the rabbits were still on the loose. One anecdote was that the son has escaped to a closed container, so I tried to scare him away by throwing things at him. One date which I threw at him was eventually eaten by him... ;-)

Bug in uniq on my system

shlomi:~# cat uniq-test.txt
uses/bio-info
uses
uses/qa
shlomi:~# /usr/bin/uniq < uniq-test.txt
uses/bio-info
uses/qa

A bug isn't it? My system is Mandrake 9.1, and neither the uniq from RedHat 6.2 nor the latest from the GNU diffutils exhibits this problem. It broke one of my scripts and so I installed the latest uniq to my $HOME/bin directory.

Objectivism and Open Source Essay

I wrote an essay titled "Objectivism and Open Source" today. It aims to explain to Objectivists why open source is a Good Thing<tm>. Read and flame away!

Subversion Issue #854 Revisited

Apparently, I did not notice some comments in the issue in the Subversion bug-tracker, that said that the behaviour has changed, but still was not as expected. So, the bug was re-opened and I created a new fix, that checks if "svn revert ." is done on a newly added directory and throws an error if it does. Quite a trivial fix, but I also wrote a regression test to make sure this is what happens.

It was eventually applied with small fixes. One less bug before Subversion 1.0.

Larry McVoy Interview

I went to the BitKeeper homepage today to recall the name of the push command, and saw on its front page that Linux World conducted an interview with Larry McVoy. This was partially in response to a previous interview with Bruce Perens. I wonder how I could have missed it.

I searched the Perens interview for BitKeeper and read this part. Basically, Perens accuses McVoy of threatening him every time he meets him. McVoy denies these accusations in his interview. It's one's word against the other. I do know Larry McVoy has threatened several other people with ligitation online. And he does seem to me to be quite hot-headed. So I tend to believe Perens.

This all brings me back to my conclusion that reverting the BitKeeper license would be a good idea.. The reason the source code was hidden in the first place, was because some companies modified it to subvert BitKeeper and disable the OpenLogging facility. This is all very well, but I doubt a substantial number of them would have become paying customers.

With its current licensing scheme, BitKeeper would never become the state of the art. Never. While it is technically superior to any free software alternative (at least for now), hardly anyone dares touch it with a ten-foot pole because of its license. If its licensing change to something much saner, and its source code be revealed, it could, OTOH, eventually conquer the market and be distributed as part of major distributions. I don't know why McVoy does not realize that, but it is mainly his loss.

Vipe is back online

Vipe returned online this morning. After logging in, I discovered that some of my mail folders had bootloads of messages which I had to delete, and that the mail bounces caused the Mailman-based mailing lists to make me in "no mail" mode. So I had to cover them and change it back.

In any case, without vipe I felt that I was missing a rib, and am very happy that it's back online.

Getting MikMod to Play using Artsd

I wrestled a bit trying to find a solution to get the command line mikmod player to play using Artsd. I believed this was the case in Knoppix, but then discovered it plays there using OSS. After contemplating coding a libmikmod driver for Arts, I found an easier hackish solution:

artsdsp /usr/bin/mikmod -d 2

Smile! You're on camera!

Hacktivity

I advanced a little in the Hebrew translation of ESR's "Homesteading the Noosphere". Other than that, after vipe returned, I've been looking at Subversion Issue 854. The instructions there for reproducing the bug worked flawlessly on my computer. So I closed the bug, and sent in a patch for a regression test.

Reading

I read a chapter or two from "The House of Arden". I also covered some chapters from "Apache: the Definitive Guide". Some of the later chapters were interesting but as a whole the book is quite disappointing.

Finally, I finished "The Art of Unix Programming". Now I'm looking for something else to read online.

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