Older blog entries for shlomif (starting at number 240)

New Music CDs

Today I decided to buy two Music CDs: "Elephunk" by the Black Eyed Peas, and "Obscured by Clouds" of Pink Floyd. I wanted to buy "Elephunk" because I liked many of the tracks from it and wanted to get the rest, and I wantd to buy "Obscured by Clouds" because someone on IRC let me download the song "Childhood's End" from it, which I liked and because I also listened to it during the Perl hackathon at gaal's apartment, and liked what I heard.

So I took some money and went to the local shopping center. Try as I find, I could not find a music store there. I ended up asking my barber about it, and he said that there isn't one anymore. So I decided to go to Dyonon at Tel Aviv University instead. I bought a bottle of mineral water at McDonalds, and walked all the way there. When I got there I looked for the CDs, but none of them was available.

The Ramat Aviv Mall is close to Dyonon, so I walked there by foot, and looked for the Music CD. I went upstairs, and then asked directions from people at a café, which pointed me at the records store. There, with the help of a salesperson, I was able to find both CDs. Each one costed 60 NIS (about 12 USD) , which was much less than I expected to spend on them. I bought them both, and then walked all the way back home.

At home, I ripped Elephunk into 96 Kbps oggs using grip. It required some experimentation, but I was finally able to. I prefixed the filenames with the track number, so I can listen to them in order. Many of the songs there, which were previously unfamiliar to me are very nice, and I also found some new arrangements of the mp3's I do have. Highly recommended.

I didn't get to rip and listen to Pink Floyd's album yet, but I'm going to.

New BitKeeper Essay

I wrote a New BitKeeper Essay titled "The BitKeeper Ghost" over at the Better-SCM Site. It discusses the side-effects of BitKeeper and BitMover concerning the recent departure of Bryan O'Sullivan from the Mercurial development team.

Another New Essay

I translated to English the essay titled "The GPL, The BSD License and Being a Sucker". It aims to dispel the common belief, especially prevalent among Israelis, that people who write code under BSD license are "suckers" (or "Frayerim" in Hebrew) because they permit incorporating their work into proprietary software.

New Community for my Home-Site

Instead of manually including my home-site news on the HTML of my sites' front page, and later on the old news page, I decided to create community for it on LiveJournal, and just place the feed as new entries on my site. This will also allow people to comment on it, and for me to receive more feedback. At the moment, anyone can post there, but I need to approve the posts. Comments are unmoderated.

New Essay: The Case for File Swapping

There's a new essay on my web-site titled "The Case for File Swapping". It explains why file swapping is ethical and moral, and why it should be legal, and also discusses some related arguments and refutes some common arguments against making file swapping legal. Comments and corrections are welcome.

Language Wars

publius_ovidius has written a great entry about Language Wars.


I've lost some weight lately. Right now, a pair of pants that used to barely fit me, now fits much more easily. What's my secret? First of all, I exercise quite a lot. I bike for over one hour everyday, and I also take one or more walks during the day. Aside from that, I'm taking Maimonides' advice and I'm eating according to the stomach and not according to the eyes. I.e: I stop eating once I feel that I'm full.

So far I've been waking up quite early and go to bed late, and yet feel very energetic and focused during the day. I feel great. Hopefully, this situation will last, but I wouldn't mind returning to my stay-in-bed-until-late-in-the-morning situation again.

Aside from that I'm still naturally refraining from consuming overly-sugary-foods, Caffeine and Alcohol, and of course don't smoke or do drugs. I'm talking to other people who claim they cannot function without their morning coffee or who drink a lot, and I must say that I don't have these problems, and yet am very productive. I recommend that anyone will quit doing all these aphrodites, as they have negative short-term and long-term effects.

Subversion News

Ben Collins-Sussman now has a blog and is starting to work for Google. He will be the third Subversion Developer to work there after Greg Stein, and Brian Fitzpatrick.

That put aside, I always knew Ben Collins-Sussman was Jewish, but now it turns out Karl Fogel, who used to work in the same office as he is, is also Jewish. I felt a bit embarrassed when I leared that.

Shell Readline Goodies

Check this post in Linux-IL about various shell tips and tricks that I collected by going over the Bash man page.

See this item in the shlomif_hsite (= Shlomi Fish' Home Site) community for information about what's new on my homesite from 15-October till today.

Please join the shlomif_hsite community if you are interested in my site and you hadn't done so already.

Joke - GNU Visual Basic

The following joke about GNU Visual Basic was once published on Freshmeat.net, but has since been misplaced. A Freshmeat editor I contacted sent me the text of it (without the comments) and I've placed it on my site. Enjoy!

Movie Recommendation: "Eight Days a Week"

I don't watch Television regularly, but sometimes I see something that makes me watch it till the end. This time it was Eight Days a Week which I saw on the cables' "Hot Fun" channel, which is dedicated to comedy movies. This is a teen comedy sort of, about sex and love and stuff. It's very funny and entertaining. It stars Keri Russel and Joshua Schaefer, which strangely enough hasn't acted since, and there's little information about him on IMDB.

Updates to Perl for Perl Newbies

I went over the Perl for Perl Newbies series and updated it. What I've done so far is made the entire slides validate as XHTML 1.0 Strict, fixed many problems in the text (typos, spelling, grammatical or syntactical), and also fixed the wrong or misleading content. My understanding of Perl was not as good when I wrote the slides as it is today, and so I had to fix quite a lot of inaccuracies.

There are still some things that I want to change there, but as a general rule, everything is much better now.

New Release of Freecell Solver

When I went over the entire comments in the OSNews coverage of "When C is the Best", I read this comment. It mentioned two bugs in Freecell Solver, which I fixed by releasing Freecell Solver 2.8.11. I would have missed them if I didn't go over all the comments.

Apparently Mac OS X does not have a malloc.h header file. OS X never ceases to surprise me.

Joel's Back!

After a small lull, Joel Spolsky is back with a very nice article and some very insightful and amusing weblog entries. I hope this trend goes on.

Testing a Two-Domain Website

See this post I made to PerlMonks about how to test the local copy of my two domains' (www.shlomifish.org and vipe.technion.ac.il/~shlomif/) web-site on my local machine.

Configuring Xkb to have a Compose Key and Hebrew Keyboard

I wanted to have a compose key so I can have them Über-cool accénts. But naturally, I still needed the Hebrew keyboard. After playing a bit with Xkb, I got to the following configuration:

    Option "XkbModel" "pc105"
    Option "XkbLayout" "us,il"
    Option "XkbCompat" ""
    Option "XkbOptions" "compose:rwin,grp:switch,grp:alt_shift_toggle,grp_led:scroll"
    Option "XkbVariant" "lyx"


Joke - #svn in Search of the Holy Grail

The following took place at #svn (the Freenode Subversion channel), the other day:

   <rindolf>  sussman: don't say the BK-word...
     <clkao>  dude, no one mentioned bk until you did
   <rindolf>  clkao: <sussman> just like most of the decentralized SCMs, like
              arch, bitkeeper, etc.
   <rindolf>  "We are the knights who say "BitKeeper"."
 <danderson>  "We are NO LONGER the knights who say "BitKeeper". We are the
              knights who say "git git git cogito Linus!".
   <rindolf>  danderson: "Subversion!". "Bleh, that's one word that the knights
              who say "git git git cogito Linus!" cannot hear."
   <rindolf>  "What is your name?" "What is your quest?" "What is the 
              asymptotic complexity of the Subversion delta algorithm."
   <rindolf>  "Which one? vdelta or xdelta?"
 <danderson>  what do you mean, xdelta or vdelta?
   <rindolf>  "I don't know!"
           *  rindolf falls into the chasm
 <danderson>  "How come you know so much about delta algorithms? - Well, you
              have to know these things when you're a commiter."

Joke #2 - Everybody's Free (to Ping Timeout)

Darien has written an insanely funny cross of "Everybody's Free (to Wear Sunscreen)" and the IRC world..

Essay - "When C is the Best? (Tool for the Job)"

I wrote an essay titled "When C is the Best? (Tool for the Job)". Eugenia Loli-Quero was kind enough to publicize it on OSNews.com where it sparked an active discussion. I also submitted it to Slashdot, but I didn't see it there yet. (maybe it was rejected). Two people sent me E-mails about the essay, and I replied back. :-)

There are some things that I'm still unhappy about this essay, but I decided to release it earlier than later.

Books Recommendations

I now have a list of my recommended non-fiction books on my homepage. They contain links to the book page on Amazon.com, with the associates program activated. Activating the Amazon associates program was not too hard, but registering a link to a product is a bit tedious and involves a lot of clicks. I wish there was a web service I could use to write a script that will do it for me. (If you know of such a thing, please enlighten me.)

For the record, I also placed a link to the online book, if such a version exists.

In the future, I'd like to complement this list with similar lists of recommended fiction books, movies and musical albums.


Perlmeme.org is a new site for Perl beginners. See the use.perl.org announcement for more information. It also sparked an active discussion in perl-advocacy@perl.org. The site is primarily maintained by Simon Taylor and Becky Alcorn. I became involved with the site, as a proof-reader, back-end helper, and also some of my "Perl for Perl Newbies" material was incorporated there.

Please help spread the word, and if you are knowledgable about Perl, please join the developers' mailing list to monitor the discussions, give comments, and perhaps eventually even contribute something of your own.

[ Comment on This ]

Summary of the Past Year

Continuing with last year's tradition, I went over my past year's weblogs' entries, in order to try and summarize the year as a gesture for Yom Kippur. Here's what I can say about them.

The biggest personal trouble happened due to this rumour spreading about my body odour in Hackers-IL. It wasn't really my fault, but I still got too anxious from it. Hackers-IL is a nice forum, which I'd really like to take an active part in , in the future. The person who did this and other insults left, so I won't have to worry about him in the future. He otherwise seemed like an intelligent and knowledgable guy, but he was still trying to irrationally and ignorantly attack me.

The biggest trouble I've been involved in, was the flamefest on the Hamakor mailing lists and blogosphere caused by Elad Efrat. This year, I got to know Elad better and found out he was actually both nice and productive, but simply could be incredibly tactless and insulting. I learned to not take what he says too seriously, and not to argue with him on the points that make him edgy, and I hope other people would learn the lesson.

There were bigger calamities on the global scale: the Tsunami, Hurricane Katrina, and many acts of terrorism, to name those that I recall. One of the good things that happened this year was the disengagement from the Gaza strip. It's not enough to ensure the resolution of the Israeli-Palestinian Conflict, but it's a step in the right direction.

This year, my involvement in large scale FOSS projects diminished a bit. While I still contributed some patches to the GIMP, I instead either:

  1. Worked on CPAN modules or other smaller scale projects that I found useful (and often personally needed)
  2. Did a lot of work for the local community.
  3. Worked on Web-sites, articles for O'Reilly-Net and other online publications, essays, stories, etc.

Except for two "third-party" CPAN modules, I stopped contributing a lot to Subversion. Thing is, they have plenty of very active contributors (some of them are code animals), and they seem to be doing very fine without me. Besides, Subversion just works for me.

On the literary front, I finished writing the "Human Hacking Field Guide". Today, when I was going to revise a part which I wasn't happy it, I also read it till the end, and discovered it was much better than I originally thought of it. (partly due to people's criticism of it). I also made some progress with The Pope Died on Sunday (whose writing began a long time before the death of Pope John Paul II this year), and on the new draft of "The Enemy and how I Helped to Fight it". But it's still wasn't a whole lot.

And finally: I finnally found a job! Positive income is good, I'm writing in Perl which is my favourite language, and I'm learning many new technologies.

Homepage Direction

Finally, a note about my homepage. I decided to take GoingWare's advice about "How to Crush Joel Spolsky Like a Bug" (which was also given to me in some form by a friend), and put almost everything I write on my homepage, and turn it into an even more attractive site for visitors. Lately, I moved it to a fast hosting service (which most people from abroad I asked, said works very well for them), instead of the rather slow hosting on eskimo.iglu.org.il. Plus, content was revamped , section-specific navigation menus were added; also added was more content as well placeholder pages for interesting resources with the site look, feel and flow.

Hopefully, this will cause the site to really take off, and bring me fame, fortune, and the respect and admiration of lots of foxy women. Seriously now, while in 25 May, 2005, the Google query for "shlomi fish" (with quotes) returned close to 38,000 hits, the number grew to almost 100,000 on the 1st of July. Now it's over 200,000. I hope that the new work on the site will cause me to have an even bigger net presence.

(I wanted to show how my homepage looked like at the beginning of my Technion studies, but seems like web.archive.org was blocked by robots.txt by the undergraduate students' server admin. :-()

Paul Graham's "Inequality and Risk"

Paul Graham recently wrote an article titled "Inequality and Risk". This article was covered in the "Joel on Software" forum.

The original poster said that: "I've usually found value in Paul Graham's essays, even when I don't agree with him. However, his latest simply parrots the standard right-wing economic arguments. ".

Here is my response:

I found two problems with this statement. The first one is called "labeling". You've labeled Paul Graham as parroting right-wing economic arguments, and expected us to agree with you that it was thus wrong. Yet, you gave no arguments for why the article was wrong. A person who tries to convince others of something needs to reason his arguments from more basic, commonly agreed facts. Saying it is wrong because it's "Socialiastic", "Fascistic", or whatever is not enough.

The other and more serious problem is that you believe what Graham says is right-winged. While right-wing people often make such arguments, they are not the only ones. Libertarians, Objectivists, etc. also believe in Economic freedom, and yet they are by no means right-winged.

In fact, there are two axis to the political map: individual freedom and economical freedom. The Left seems to uphold individual freedom while supporting economical restrictions. The Right supports economical freedom while believing that individual freedom is not that important. Libertarians believe that both economical and individual freedom are important. There are also authoritarians who think that none are important.

Refer to this site for more information.

It is true that once upon a time there was a single dimensional political map until the Liberals diverged into Libertarians and the current Left which believes in economical restrictions. But now we have a two-dimensional political map.

You are not the only person who makes this mistake. Richard M. Stallman says in a Eurohacker interview with him that Eric S. Raymond "is a right-wing anarchist", despite the fact Raymond is a self-proclaimed libertarian who rejects both the Left and the Right. In an IRC conversation I had on Freenode someone said that Objectivists are ultra-right-wing, despite the fact they are fanatical about individual rights.

I read that article by Paul Graham you linked to, and agreed with it completely. Graham has a point. One point I think he missed mentioning was the fact that societies can become prosperous enough so even the poor will be relatively rich. For example, in some countries many poor people starve or used to starve to death. On the other hand, in First-world countries, there is an abundant food supply and as a result even the poor are well-fed. In the States and other countries, many middle class people can afford to frequently travel by airplanes. Once computers were extremely costy and could only be afforded by large organizations. Nowadays much more powerful, compact and otherwise superior computers are common in almost every household.

These are all examples that while the economical imbalance is preserved, the economical well-being of everybody - poor and rich - grows.

Alan Kay's Interview

This interview with Alan Kay was published a while back, hit Slashdot, etc. Due to the prominence of the interviewee, I decided to read it and indeed read it front to back. Here is my opinion of it.

To keep it short: I did not understand about half of it. I don't think I had problem understanding the individual words, but the general theme of entire paragraphs was beyond me. There have been some signs of me becoming senile recently (like the fact that I could not understand Perl 6), but I have no problem understanding Paul Graham, Joel on Software, most of the things by Eric S. Raymond, etc. If Alan Kay is different, then I believe he is simply not accessible enough. (as opposed to the others).

From what I did understand it seemed most of it was like endless (and pretty much useless) rants about Java. One thing I did not understand was why many people (like this poster on Slashot or Tal Rotbart in a Hackers-IL message) got psyched from him saying "Perl is another example of filling a tiny, short-term need, and then being a real problem in the longer term." This is the only time Perl is mentioned in the entire Interview, and Kay does not explain why or how it is a problem.

So Alan Kay briefly mentions that Perl is a problem, without giving any explanation. Why am I supposed to right away buy that? When someone makes a claim a reason should be given.

[ The Hebrew Message will be followed by an English one. ]

שנה טובה, גמר חתימה טובה, ומועדים לשמחה לכולם! לדעתי השנה שעברה הייתה, למעט מספר מקרים בודדים, די טובה ומוצלחת, ואני מקווה שהשנה הזאת תהיה לא פחות טובה.

Happy New Jerish Year, Good Signing, and Happy Holidays to everybody! In my opinion, the past year was, excluding a few occasions, pretty good, and I hope that the coming year will be equally as good (and hopefully better).

Keep up the good work, everybody - I love you. My plan for Yom Kippur is to once again, go over my blogs and notes - see what I've accomplished the past year, and try to learn from the mistakes of me and others. I'd like to post a summary of it to this blog shortly afterwards.

Shanah Tovah!

File-Sharing in Israel

Talash has written an excellent blog entry about activity for protecting File-Sharing in Israel. He gives links, information and points to where money can be sent and help can be offered. I should note that I also wrote about it back in June (search for "Countering").

I already sent them an E-mail offering my help. Please help spread the word.

New Job and W2L

I blogged about my new job and about the Israeli Welcome-to-Linux series in Linmagazine. (in Hebrew). In English, I can say that I finally found a work: I'm working from home for an hourly pay for a small consulting/contracting firm. It's Perl/Web/SQL. I'm happy that I now have some steady income, and the work is quite interesting, and I'm learning new concepts and Perl/Apache/SQL/Linux technologies.

I also cover the beginning of the Israeli Welcome-to-Linux series, what I did so far and what remains to be done. We need a lot of help so if you're Israeli, and have some spare time, feel free to volunteer.

The comments there are pretty useless. In one sub-thread a few anonymous people told me that the Jerusalem Linux Club, should be called "JLC" for short, instead of "Jerux". And a few people were somewhat sarcastic about the fact I will now have less time to spend on open-source activities and have less free time.

Advogato Weblog Spam

Seem's like kooler's personal page contains a lot of links to various commercial sites. Now, since he certified a few people (including me), he is linked from their personal Advogato pages, and as a result actually acquires some Google Page rank. Someone in charge should make sure all external links in Advogato have the rel="nofollow" attribute before the problem gets worse.


I have plenty of issues to blog about besides those, but these are the most important topics. So until next time: have fun, hack on and stay cool!

Cross-Posting to Advogato from LiveJournal rather belatedly...

In Today's Entry

I'll take a break from telling you my random whereabouts, and instead would like to pass a critique on three software development-related essays (two relatively new and one quite old by now). I'm including the first critique (on Hitting the High Notes by Joel Spolsky) below and will hopefully write the next ones in the upcoming days. Hope you find this break refreshing!

Joel Spolsky's "Hitting the High Notes"

"Joel on Software"'s Hitting the High Notes essay was published on July 25, 2005, and I read it a short time after its publication. My first major impression from the article was its "style" or at least pseudo-style. In order to support his claims that a software house needs excellent programmers so its software will also be excellent, Spolsky makes a lot of claims. Among them:

  • That it is worth hiring Brad Pitt for your latest blockbuster movie, because many people think he is so damn hot.
  • That it is worth hiring Angelina Jolie for your latest blockbuster movie, because many people think she is so damn hot.
  • That Garfield is unfunny.
  • That Garfield's creator can never be as funny as the Seinfeld Soup Nazi episode.
  • Lots of raves about how beautiful Apple's iPod is.
  • That the Creative Device Driver designers are incompetent, and can never design something as beautiful as the iPod.
  • That Apple is the only company that now profits from selling mp3 playing devices.

Etc. Joel spent a lot of energy discussing these things, and they consist of a substantial part of the article. I won't respond to them here, but needless to say they touched a great deal of soft spots. As a result, I was completely irritated when I finished reading the essay. I don't recall ever feeling this irritated when I read any other article by Joel. They usually were written in good style, mentioned cultural anecdotes and were a relatively uneventful (if not completely pleasant) read.

The message was brought across and I agreed with Joel, that I can say for Joel's defence. But the costs were high.

My second problem with the essay was more about its contents. Spolsky claims that in order to hit the high notes you need very good programmers. But then he brings only one or two aspects of being a good programmer - how fast can such a programmer write a correct code. (To illustrate the vast differences, he brings a statistical analysis of time spent on assignments from a programming-intensive course at Yale University). However, while being important, this is not the only aspect in which programmers excel or completely fail in. Here are a few more I can think about now, and I admit that I may not personally fare very well on some of them:

  1. Patience and discpline. Programming serious applications requires quite a lot of patience. Often programmers prefer to work on small projects and tasks, because trying to write a more large-scale application from scratch seems intimidating.
  2. Ability to learn new technologies and APIs quickly and thoroughly. Some programmers write excellent code in what they already know, but may take ages to learn something vastly different. Programmers increasingly work with APIs that are bundled in the language, and learning them and getting them to work is more and more important.
  3. Good Memory.
  4. Temper and Tranquility. The fiancé of a female programmer I talked with on IRC is also computer-savvy, but computers tend to stress him a lot, and he didn't want to do it as a living. As a result he's working as a Supervisor in Star Bucks. (and she earns close to triple his salary).

    Some people are getting stressed a lot from computers, but still work in the field.

  5. Tactfullness, Human Relations and Netiquette. A newly introduced system adminstrator in a company I worked for, got fired for being rude to a visitor. He was replaced by a different sys-admin who was much more clueless than him at the time.

    I met a few online trolls in my life (including to some extent myself), but a certain Israeli BSD enthusiast leaves them all in the dust. In a recent batch of flame-wars he was incredibly insulting and even started accusing people of being bad programmers, writing bad code, doing nothing for open-source, being completely clueless, etc. He has strong opinions against the GPL, the Free Software Foundation, Stallman, Linux, etc. and he refuses to be more tactful, and less insulting.

    The result of these flame-wars was a large-scale crisis in the Israeli FOSS NPO, a whole slew of conspiracy theories between the leaders of the local Israeli community, a certain board member almost quitting, many people living the mailing list that hosted the flame wars or ignoring it, and many people not renewing their membership in the NPO.

    While I did not inspect his code he did seem to know his stuff very well. But would you hire him as a programmer?

  6. Team playing, Individualism... and other resumé buzzwords that are still important.
  7. Honesty, Integrity, etc. -
  8. Passion about programming - after the burst of the bubble, there was a feature in an Israeli FOSS site about why we don't see a flow of layed-off Info-Tech workers getting involved in working on open source software. Someone commented that the real question was why many info-tech workers do not like to program for fun.

    Some companies may not care if their developers are passionate about what they do, as long as they do it nicely. For others, it is everything.

I suppose I can go on. My point is that there are many other qualities that a prospective employer may have to look at when wishing to hire an excellent programmer, besides just how fast he or she writes working code. I'm not saying that productivity is not important. But it's not everything there is to a programmer.

Often, a productive or very productive programmer will make a very bad hire because of lack in one of these qualities. And a business may decide to keep a developer that's not very productive because he excels in many of these qualities.

Thus, I think that Joel erred here as well, not because what he said wasn't true, but because there were many omissions. I think the article could have been a much better one, had it contained a full list of the qualities that one should look for in a good hire, when they are or are not applicable, and how important they are. And naturally it could have been conveyed in much more tact, as I described above.

Update: you can find some discussion of this entry in the Joel on Software forum. I also forgot to mention that the articles Joel published afterwards were better than "Hitting the High Notes" as far as style is concerned.

Python-IL Activity

The second meeting took place in July. We were five people there: Gabor Szabo, Beni Cherniavsky, Amit Aronovich, Chen Levy and I. We mostly talked about the lessons from the Israeli Perl activity, and about the possibility of having a conference for all the P-languages (Perl, Python, Ruby, etc.)

After the meeting, we were given a lecturing hall in Aduva. So the next meeting along with presentations was coordinated for 16 August. There were a few glitches along the way, but it was very successful: over 20 people came, and we had a lot of fun. The first presentation which was supposed to be about TestOOB (pronounced "tess-toob") actually covered testing in general (not even specifically to Python) most of the time, which was nice. The shorter presentations afterwards had more glitches because they involved computer demonstrations, and there were a few hardware problems.

The room was crowded and we had to insert a few more chairs. If fewer people show up to the next presentations than this one, we'll be OK, but otherwise, we may need to be looking for a larger place.


I did quite a lot of work on www.perl.org.il. I added more CPAN authors and modules to the Israeli Perl Projects page. I heavily refactored the templates to avoid duplicate code and markup. Recently, I also created a modified look and feel, which I will hope will enable a multi-level navigation menu that will eliminate the need for the Miscelleanous Content Page. Most of my patches were accepted there.

News from my other Blogs

A use.perl.org Journal Entry about my article about HTML::Widgets::NavMenu that was published in Perl.com. Another one about the new Acme::Gosub module which brings BASIC-like Retro-programming to Perl 5.

In my Hebrew Linmagazine blog: A few more anecdotes about the IGLU Upgrade and Summary of August Penguin 4 from my personal POV. The latter sparked an active discussion about Debian vs. the world. (and some other smaller discussions)

Computer Problem 1: Kopete and Jabber

I recently upgraded to Mandriva 2006 Beta2. I won't talk about the upgrade right here. I'll just mention that afterwards Kopete (the KDE Instant-Messaging client) had problems connecting to Jabber. When trying to connect using it, it said: "There was a connection error: Operation is not supported.". After compiling Kopete, making sure it will compile with "-g" and without "-O2", trying to debug with gdb, with many problems along the way, and not succeeding (it's a long and sad story), I ended up concluding that I should try to manually tweak the configuration file.

In the config file ($HOME/.kde/share/config/kopeterc) in the Account_JabberProtocol_* section, there were several keys starting with PluginData_JabberProtocol. I removed them (and most other keys) and then started Kopete again. Then Jabber did not work with a different error. After I went to the Jabber account configuration, and saved it, it worked, so it is possible that removing the extraneous keys was not necessary. It may be a backward-compatibility problem between KDE 3.3.x and KDE 3.4.x.

Problem solved, but futzing with gdb, etc. took several hours.

Computer Problem 2: cp -i -f

The -i flag causes UNIX commands like rm, cp or mv to be interactive and request confirmation before deleting or overriding files. -f is the opposite: force such deletions without requests. Many people alias these commands to rm -i, cp -i, etc. for safety.

When I was working on Eskimo I tried to copy a file using cp -f (with the alias cp="cp -i" in place.) That still asked for confirmation - apparently the -f flag was ignored. On my Mandriva system a similar invocation worked.

It turns out Mandriva applies a patch to GNU cp to allow the later "-f" flag to override the "-i". Debian did not apply a similar patch. Now the question is which policy is the philosophically correct one. Note that with the "rm -i -f" command, GNU rm happily applies the "-f" flag.

Bug in GNU grep

I came across a bug in GNU grep fixed it, and submitted a patch. It turns out the bug was already fixed in the CVS version, but without the test case that I proposed. So a similar test case was added. It's strange that a new version of grep was not released yet as this bug is a crash. In any case, delving into the code was fun.

Revision of the Beast

* Revision 666:

File svn-commit.tmp saved File svn-commit.tmp not changed so no update needed. Sending MANIFEST Transmitting file data . Committed revision 666. shlomi:~/progs/perl/www/Nav-Menu/trunk/module$

This was a commit to the MANIFEST of HTML::Widgets::NavMenu to add two test-related files that I had already added to the repository. (the MANIFEST lists all the files that are part of the Perl distribution). It was part of a larger amount of work on HTML::Widgets::NavMenu, SVN::RaWeb::Light and possibly other modules within the web-cpan repository. A short time and 34 revisions later I also hit on revision 700. Right now, I'm at revision 720.


For some reason, I believed that the Perl 5 IO::Scalar module is part of the core Perl distribution. However, it is part of the CPAN IO-stringy module. Maybe what misled me was the fact that it was installed on my Mandriva system, and the fact that it is such an elementary module. In any case, I had to add it as a dependency to SVN::RaWeb::Light and HTML::Widgets::NavMenu, and accidently reported it as uninstalled in PONIE (the ongoing Perl 5 implementation for PONIE), when I tried to see if HTML::Widgets::NavMenu passes all of its tests there. The good news is that it does after IO-stringy is installed.

GIMP Hacktivity

Looking for some GIMP Hacktivity to do, I looked into making sure the GIMP resources can be categorized (as was suggested by a mailing list post). Sven Neumann had suggested a pre-requisite and I wrote a patch as a result. More information can be found there.

Mozilla Bookmarks Patch

The Mozilla and Firefox browsers have an annoying behaviour with pasting bookmarks. I decided to write a patch to remedy it. This involved hacking the Javascript "chrome" code of the Mozilla internals. I neglected working on this for a long while, because Mozilla yelled at me from some reason I could not understand at an XPCOM statement. As it turned out, I was misled by the Javascript debugger, which caused a "Next" or "Step" statement into a certain XPCOM call, to run indefinetly. (guess I now have another bug to report). Having sorted this out, fixing the patch was relatively uneventful and the patch was ready.

I posted it at the SeaMonkey bug record, but then it turned out that SeaMonkey has a separate Bookmarks Editor, and my patch is Firefox specific. So I filed a separate entry for Firefox (after going over all the Firefox Bookmarks bugs and seeing nothing relevant there). Right now, my patch is waiting for a review, and has been for over a month. I hope it is reviewed soon, because this bug is very annoying. (and I have a fix, damn it!) This was my first Mozilla patch ever.

Prologue - Blogger Definition (via mulix)

Muli said in one E-mail that he heard that a blogger is defined as someone who'd rather write about doing X than do X. Am I an avid blogger? Right now I have 14 (!) items that I'd like to blog about, and would rather do something better than write about all of them. Some of them actually contain useful technical information and others talk about my hacktivity.

The blog entries of most bloggers focus on one or a few issues and if more issues are discussed, the blog is updated more frequently. I, on the other hand tend to collect many topics, and write about them in one swoop. Thus, many people who read my Advogato/LiveJournal blog may be overwhelmed by it. But most Advogatoers do something along this line as well, partly because the Advogato recent-log does not like small entries much.

But I digress. What I want to say is that while I find my online diary important, and a good way to remain organized as well as to sharpen my writing skills, and to hopefully entertain a few really bored souls (hi guys!), I find that if I do it often it becomes very time consuming. When I write blog entries or E-mails, I usually take a long time to think about what I'd like to say, what I wanted to say and forgot while writing what I have written until now, etc. It's quite time consuming for me. So I might try to avoid doing it too often.

I also thing that I find writing about things I did in a weblog less entertaining than actually doing these things in the first place. But so far I treated it as something I just need to do.

Aside from this thought, I'll entertain you (ha!) today with two other topics of the remaining 13. One of them is copied from an E-mail I wrote to a correspondant, but still is very much a classic blog entry. The other one talks about etymology.

Hectic Thursday and Friday

On Thursday, I woke up prematurely at 3:30 AM and decided that it was one of these days that I did not want to go back to bed. I stayed awake until I went to sleep at around 23:00. At first I started working on making sure a Perl module (HTML::Parser) has 100% test coverage as part of the Phalanx project.

However, some things in the module were relatively anachronistic and quite annoyed me so I delayed continuing working on it. So instead I went to continue working on preparing a vector graphics sketch of the left pane in this Ozy and Millie panel strip.

I made a lot of progress. What I have now seems to resemble the lower part of the original, but the curves are still quite non-identical. Nevertheless I want to complete everything and then to fine-tune everything at the end.

Working on such an image is relatively tedious, so I alternated between doing it and doing something else. Throughout the day I found myself to be pretty bored, so I decided to try doing something productive and hope that the appetite will follow the food.

So I set out to work on a project which I started and then abandoned to write the SVN::Pusher module and the svn-pusher command line client. I wrote a basic version of this utility called "svn-push" in C which is working but is very limited, and I wanted to write it in Perl so it will be more flexible. Someone wrote a module called SVN::Push and placed it on CPAN which contained a similar functionality, and I decided to base on it. However, after converting the code to do what I want, I encountered some problems, and thus abandoned it for a while.

So on Thursday, I went back to it again, was able to find a workaround for the bug that troubled but encountered other bugs. I resolved them as well, and when I finished late at night (22:00 or so) I had a working version. I still have some work to do, but I'm glad that I was successful. Most of my problems were caused by the fact that what I wanted to do was quite different than the original's code, but at least the API was bug-free.

I conversed on the IRC almost the entire time, in hope that people can help me. I think I found out the problems on my own eventually, but it was still a fun conversation. Here is an excerpt from towards the end of it:

     <rindolf>  Success!!!
     <rindolf>  I discovered another copy-and-paste-bug and now everything is
                working. In Perl.
     <rindolf>  Problem between the keyboard and the chair.
      <Rytmis>  The most common sort
     <rindolf>  _My_ keyboard and chair.
      <Rytmis>  I stand by my statement *grin*
     <rindolf>  That's the problem with starting from a code that does things
                differently, and does more.
     <rindolf>  It's a good thing I wrote this test case.
     <rindolf>  ayita: kfogel interview?
       <ayita>  I don't know anything about kfogel interview.
     <rindolf>  ayita: learn kfogel
       <ayita>  rindolf: I don't understand what you are telling me.
     <rindolf>  ayita: kfogel interview is
       <ayita>  Thanks!
     <rindolf>  ayita: good girl.
     <rindolf>  ayita: kfogel interview?
     <rindolf>  ayita: kfogel interview?
       <Dave`>  kfogel interview?
             *  Dave` smells ayita timing out
       <darix>  ayita: index kfogel.*
       <darix>  you killed her it seems
     <rindolf>  darix: LOL
  <davidjames>  It's not nice to hurt people
       <darix>  eh: pokes
       <Dave`>  Oh my god, they killed ayita!
     <sussman>  hiiiiiiiiiidey ho!
             *  rindolf quickly finds someone else to blame.
     <rindolf>  a scape-goat!
     <rindolf>  sussman: excuse me?
     <sussman>  obscure tv reference, it's ok
     <rindolf>  sussman: you'll be the ideal scape-goat for the murder of ayita.
     <rindolf>  Here's another t.v. reference:
     <sussman>  I think you'de be good at the 'werewolf' game
     <rindolf>  "You know it would be the easiest thing to blame it on Nanny."
     <rindolf>  "Let's do it then."
 <littlezoper>  sussman: mr hankey?
       <Dave`>  sussman: the werewolf game? Is that the card-based RPGish game?
             *  rindolf is listening to The Beatles - Come Together
     <sussman>  littlezoper: ding ding
 <littlezoper>  woo hoo! :)
     <sussman>  http://svn.red-bean.com/repos/sussman/software/werewolf/
 <littlezoper>  that show's horrible :P
  <davidjames>  sussman: South Park is obscure? :)
     <sussman>  it was to rindolf
     <sussman>  http://svn.red-bean.com/repos/sussman/software/werewolf/wolfbot.py
     <rindolf>  sussman: I maybe watched 10 minutes of south park in total.
     <sussman>  ah
     <rindolf>  "Got to be good-looking cause he's so hard to see."
     <sussman>  Beatles?
     <rindolf>  sussman: yes, from "Come Together".
     <rindolf>  I was listening to it now.

Pretty silly I'd say.

Then when I checked E-mail I found out that some folders had 30 or 20 messages. Apparently the flame-war in discussions@hamakor really heated up. It all occured because someone who is a member of the Israeli local Free and Open Source Sotware (FOSS) Community is quite tactless and tends to troll and insult people a lot. As a result this discussion heated up and people tried to reply against the accusations. When this member was decided to be moderated, people tried to say it was a wrong decision to moderate him, and as a result a lot of further accusations were thrown.

This has caused several subscribers to leave the mailing list, some people to request to revoke their membership from the Israeli FOSS NPO, and one member of the board to resign. (claiming that the board should have the approval of the assembly) Now it seems like it has hopefully cooled down a bit.

In any case, I did not have a time to catch up with it too closely at that point, because I had to go to sleep. I was waked up at 6:30 AM by my Sleep Alarm, because I was picked up at 8:00 by Lior Kaplan in order to upgrade the server iglu.org.il (known as eskimo to the adminstration group), from Debian GNU/Linux 3.0 ("Woody") to Debian 3.1 ("Sarge"). Despite the fact Sarge is a .1 release, it was about 3 years since the previous release, so it's the most fundamental upgrade to Debian so far. We also wanted to install a new 320 GB hard disk there.

The upgrade took some time, but went quite well. Lior was a big help. One problem we encountered was with setting up the RAID array. It seems that the previous tool chain for managing them was no longer available, and the replacement required some tweaking to be compatible with it. I won't bore you with the technical detail, but eventually we had to do a relatively ugly kludge to get it to work. Luckily there was pretty good documentation available on the hard-disk.

After we installed the hard-disk, we had to format it, which took a long time. It's strange, but I don't recall that formatting an XFS partition takes so long. Granted, my hard-disk is quarter the size of the hard-disk we installed there, but I think it took less than quarter of the time. Maybe I should ask Linux-IL about it.

In any case, this gave us the opportunity to eat, so we went outside, and bought Shawarma, and went back. The formatting was finished and we decided that everything was in order and we could continue doing the rest from remote.

I should note that the place has left quite an impression on me. The Eskimo server is hosted in the server farm of an Israeli ISP called Actcom, which is very friendly to Israeli Open Source Activities. It occupies most of the second floor of a building called "The Tower of Haifa" which is relatively old. The rooms and corridors looked relatively aged and neglected. The server room was heavily crowded with servers one next to the other. I was told it "looks like shit" on one occassion but I was actually relieved when I saw how it really looked like. We spotted other servers we were familiar with there.

We had to work in the room of the Technical support people. (Four supporters crowded in one room with microphones, computers, etc.). So we listened to their conversation and had to be quiet. We worked on the remote computer through a mechanism that allowed seeing the screen output of the computer on our local screen. The local computer which we sat next too has ran Windows 98 and we had a graphical browser, an SSH client, etc. available there.

After we were finished, Lior drove me to the Train and Bus station. The last train to Tel Aviv was leaving, so I decided to take the bus instead. Then my father drove me from where the bus stopped. I arrived at the house at around 16:00, washed my face and ate, and then went to the computer to catch up with the E-mails.

Someone actually told me that he'd like to hear my opinion on that. I answered him that I was busy working on SVN::Pusher and upgrading Eskimo, and so could not engage in something less productive like a grand-scale flame-war. Productive work is a dirty job, but someone has to do that...

In any case, I cought up with the rest of the correspondence, and wrote some E-mails summarizing my opinion.

Meanwhile it seems that a server on the Technion (vipe.technion.ac.il) which I have an account on, to read E-mails and host some web stuff, has become disconnected yet again. I feel like I'm missing a bone or something. I went to sleep at around 22:00, but fell asleep only at around 00:30.

I had a good night sleep, and woke up on Saturday at 11:30 AM and today at 10:30. I feel refreshed from the sleep, which I did not get enough of for two consecutive days. Yesterday and today I also went to ride my bike, so I got some exercise, and did some physical travelling.

There's some more upcoming open-source related activity in Israel (either "real-life" or electronic), so there will be more things that other people and I will need to take care of.

Placement of Sentence Parts in Arabic and Hebrew

My family and I went to my grandmother for lunch. My grandmother and her husband are Iraqi Jews and my step-grandfather also knows Literate Arabic. So he asked me about Inna and her Sisters. So I told him that it was a group of connectives that included "Inna", "Anna", and others (he added "Lakinna" "La'anna", and maybe others.). I remembered it from my Arabic studies. Then I tried to remember what were they all about. And then it hit me.

You see, in Arabic, the verb usually precedes the subject: "Walked the Boy to the Garden" (pardon my Anglicalization of the Arab words, but otherwise this entry will make less sense to people who don't know Arabic than it already does). However, after "Inna", "Anna", etc. the subject precedes the verb: "I said that the boy walked to the garden.".

Now, in ancient Hebrew in regular sentences the verb also preceded the sentence: "And said God 'And there was Light'". Maybe after some of the Hebrew equivalents to Inna and her sisters, there was a similar rule regarding the placement of the verb and subject, but I don't remember. However, occassionally we can find the subject preceding the verb. For example, in Genesis 4, 1, after Adam and Eve have been driven out of the Garden of Eden, it says "Weha'dam Yada Eth Hava Ishto", which means "And (the) Adam knew Eve his wife". Only because the subject came before the verb, some people claimed that it means something like "had known" in English, and they actually mated when they were in the Garden of Eden already.

Now in modern Hebrew (both spoken and Hebrew), the subject, the action and the object (or indirect object) can come in any possible combination:

  1. The boy went to the garden.
  2. Went the boy to the garden.
  3. To the garden the boy went.
  4. To the garden went the boy.
  5. The boy to the garden went.
  6. Went to the gardent the boy.

The most commonly used form is the first, but they are all technically valid. Other combinations can sound funny, but probably less so than English. Also, when constructing complex sentences out of clauses, etc. it is possible that some combinations will no longer be valid.

I was told that in German, they have some kind of aural indicators for different parts of the sentence (the subject, the action, the object etc.). These things don't exist in Hebrew. A listener has to deduce which part of the sentence is which according to the meaning of each part.

To add to the confusion, in Literate Arabic, pronouns (like "I", "He", "Them") come before the subject. So you say "I walked to the garden" instead of "Walked I to the garden". If you think Semitic Languages are insane so far, wait till you get to the verb and noun formation...

E-mail, RSS, and doing something productive - choose two

(This entry is on the house). I came up with the conclusion that I can do two of either reading and writing E-mails, catching up with the RSS news, and doing something productive like programming or working on a site or an essay. If I read all the E-mails and read all the relevant RSS news items, then I don't have much time for doing something productive. If I'm doing something productive, then a lot of unread E-mails or RSS news items are gathered unread in my folders.

I think I'll just start using the "Mark all as read" menu option. If I don't read everything in "Planet Everything-Under-the-Sun-And-His-Mother" or miss some technical discussions in an interesting mailing list, (which may be enlightening, but not things I can't ask later on if I ran into this particular issue myself.), then I'll probably survive. And it will give me more time to do something productive.

3 Jul 2005 (updated 3 Jul 2005 at 16:51 UTC) »

Random Hacktivity

I added some sections to my Objectivism and Open Source essay. I did more work on the Web Meta Language homepage focused on getting all the pages to validate. The pages use a lot of deprecated markup (like <font> tags, zero-width images, various visual attributes, tables, etc.) and getting it to be valid and semantically correct is proving quite a lot of work. It also makes use of many WML APIs, which as I am unable to replace right now, have to work around them or replace with more modern equivalents.


I gave some love to SVN::RaWeb::Light after a long time of neglect. What I did involved implementing the so-called URL translations, in which one can specify URLs of the real repository to be displayed next to the URLs in the web-interface. That way, you can copy the link and paste it in a console (or wherever) to manipulate the actual repository. As usual, I wrote more test code than actual code. As a result of all this feature adding, the directory display function became very long, and ugly. I guess I'll have to refactor it.

Pod::Xhtml's Pleasant Surprise

During one discussion in the Perl-IL, Offer Kaye complained that the output of Pod::Html does not validate. I suggested he uses Pod::Xhtml instead, and after he tested it he found that it still did not validate. I realized it was because some of the XML IDs generated by it were identical. So I planned to fix it, but when I came to it a couple of days ago, and inspected the code, I found it was already implemented.

Turns out Offer reported it to the module maintainers, and they fixed it themselves. It was a pleasant surprise.

SpamAssassin Compilation Trouble

I had problem compiling SpamAssassin on Mandriva 2005 LE. The test seemed to get stuck and started to consume all available memory and CPU. I eventually found it happened because I had pointed LD_LIBRARY_PATH to a Berkeley DB-4.2 installation. After I removed it, it compiled fine.

DIMES project

We had a very nice presentation about the DIMES Internet Mapping project over at the Tel Aviv Linux Club. The purpose of the DIMES project is to map, measure and track the Internet. It does so by having users install agents on their machines, which then collect networking data and send it to a centralized server that processes it. It has a lot of cool applications.

If you have a Windows machine, you can install the Java agent their and join a team to track the statistics. A Linux agent is in the works.

Perl-IL Meeting: Stas Bekman

Stas Bekman is now visiting Israel and last Thursday he gave a presentation to the Israeli Perl Mongers. Despite the fact it was announced relatively at the last minute about 13 people arrived, and we had a lot of fun. There wasn't a lot of time for us to occupy the room, and so as a result, Stas could cover only very little of his presentation (that normally takes 5-to-6 hours).

One anecodte he told us was that when he was lecturing somewhere in Canada, and asked if people wanted to have a break after a few hours, they told him that they did not, and yet kept asking him questions, etc.

The slides are available online in PDF format if anyone is interested. All in all, it was very interesting.

BerliOS Problems

Three of the bugs I filed in the BerliOS bug tracker got closed before the weekend, without a comment or anything. Plus, they are all still valid. I could not find a way how I can re-open them. Another thing I noticed is that Apache no longer serves tar.gz files, and I have to put them in the projects files and link there. Now I have to put all the Freecell Solver tarballs of previous stable versions there.

Fixing a Mandriva Upgrade

There's this guy who uses Linux, and who contacts me whenever he needs help. Recently, I burned out the new Mandriva 2005 LE CDs to him, and he used them to upgrade the system. Then he reported he had a problem. After he drove me to his house and I operated the computer, I discovered that the problem had something to do with the fact devfsd was mounted, while udev should have been used instead. I did not know how to fix it, but this document explaining how to disable devfs on Mandriva was very helpful. Turns out I had to tweak the LILO settings. I did not encounter the other problems reported there.

Then I tried to set up the Microphone, but I was not able to, no matter what I tried. Waveform playback in the soundcard worked perfectly, though.

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