Older blog entries for shlomif (starting at number 130)

4 Jan 2003 (updated 7 Apr 2003 at 14:00 UTC) »


It seems the CSS styles of Advogato mis-behaves with the MSIE 6.0 (6.0.2600.000) that I'm using now. Is it an Internet Explorer bug or is the stylesheet wrong?

The problem is that the font size of links is reduced considerably when pressed upon. Can anybody of the Advogato webmaster look into it?

The Women in Linux Howto

The women in Linux HOWTO has one main deficiency: it expects men to alter their behaviour so they will not completely repel Women who desire to become Linux hackers. It even makes a bolder claim: a LUG with otherwise liberal and enlightened members should not even have a minority of sexist men or such that externalize some chauvinism. Achieving a 100%-chauvinism free environment is not something that can be honestly accepted to be accomplished, since those few chauvinists or people who seem chauvinist may otherwise be competent hackers and/or people who are in fact fully liberal at hearts.

Same thing for men trying to hit on women they encounter in LUG meetings, etc. A LUG can try to supply a woman-friendly environment (top-down). In the last Insta-party I wanted to get a medium-sized shirt for my sister and was told there are only shirts sized large and above. There was a hidden assumption that women are not going to attend it.

Now, there many areas in the past that were dominated by men and women were banned from participating even legally. At the time of Shakespeare (not to mention Greek times), women roles were played by men. Women were not allowed to be Phisicians and Scientists up to the 19th and 20th century. However, a few brave women (and men who supported them), slowly became proficient in these fields, and made it perfectly OK for women to be successful actresses, novelists, doctors or scientists.

No such restriction exist in the Linux world today. While the computer world is dominated by men, there is nothing that prohibits women from becoming competent IT workers. I had the fortune of knowing and working with some very competent female engineers. I have met only one who I am confident in labelling as a hacker (and someone else who I'm not so sure), but I don't hold lack of enthusiasm against them. There are plenty of male IT specialiasits out there who do not like computers either, and that's OK.

If Women feel that the Linux world is dominated by men far too much, they should be willing to take some abuse, be eager to learn new things, being made pass on often, and put up with whatever chavunist behaviour their male peers may exhibit. Once a substantial percentage of the hackers in a LUG is female, you can expect the behaviour of the abusive members to be frowned upon by collective rejection. Until then, you'll have to cope with some abuse.

I'd like to thank Chen Shapira (a woman) whom I talked to about that FAQ, and enforced this conclusion that contradicts my initial reaction to it.

Recent Note: changed "take abuse" to "cope with some abuse". Long live the small difference...


I left you at last year, Dec 30, or maybe it was the Israeli Jan 1. So here's what happened so far.

Syscalltrack Home-site

I posted a request-for-comments for the Syscalltrack web-site on webdesign-l and received some useful comments. The web-design people are really professional, and the posts there are of very good quality.

Once thing I noted there is that they are recently littered with posts about trying to get CSS2-based layout to work. This makes me happy that I'm using table-based layout for all my site.

In a private E-conversation with Muli and Orna, it was made clear that Orna is our official web-master and has the final verdict on everything, and that I am just a web-technician. I also noted Muli that I might resume my efforts working on the Perl+Lex+Yacc configurator. But like I said to him, I could not promise anything as I have many other things to do.

Freecell Solver

I also worked on a detailed and elaborated to-do-list for Freecell Solver. The original TODO list found in the main distribution and in the CVS is very brief and may only be understood by myself. The reason I did was in accordance with what ESR says in Homesteading the Noosphere: "If one does one's braggin through the code, and then says 'Well shucks, it doesn't do x, y, and z, so it can't be that good", patches for x,y, and z will often switfly follow."

Whether it will indeed happen with Freecell Solver remains to be seen. A problem is that I feel that Freecell Solver is a fairly complete package that satisfies the need of most "hobbyist" and "professional" Freecell gamers. It will remain satisfactory even if no added-features development takes place (just like Perl, gcc, gvim, Mozilla or many other "complete" packages).

Many times when developing it and releasing a release version, I felt that "damn, after I release x.y.0, all I'd like to do with it is purely speculative, so I can just leave it at that." But I kept discovering more and more things to implement. I guess a project never ends, but I still can't see anything pertinent I'd like to add to FCS after I integrate Patsolve's state ordering. Except maybe Patsolve's mixed bfs-dfs scan and what Bill Raymond wrote for his solver (should he agree to convert it to the new Freecell Solver architecture).


Not to much in this direction. The autoconf-based installer is working and functional, but the functionality is still limited and the user documentation is non-existent. I think I'll now begin to write some lectures and use the quadp command line interface exclusively (in accordance with the using your own dog-food principle). That may give me motivation to improve it further.

I also have some craving to write my lectures using PerlPoint, because it is very brief. Maybe I should find a nice way to integrate it into Quad-Pres to create an hierarchy of pages. It has an API, but what could be a problem is that the HTML it creates is quite non-standard and does not match my conventions, and it places all the slides in one directory with names like "slide0003.html" regardless of their organization. But when there is a will, there is a way. The worse-case scenario is that I'll fork the code, or update the new version in CPAN.

I should also check other presentation tools (there are dozens of them around) and rob good ideas out of them to integrate into Quad-Pres. But first, I'd better release Quad-Pres 0.8.0 and then make other changes I have in mind.

Other Hacktivity

I started worked on a summary of a lecture about Vim. It's not just as much as the summary as is the full lecture without the fancy HTML formatting.


I read Programming Perl and finished the chapter about Perl Culture. This brings me to chapter V (which is the final one) which only contains reference to many elements of perl: special variables, functions, pragmatic modules, modules in the standard distro, etc. The perl meeting is quite close, so maybe I'll just browse through looking for interesting parts. After all, it is present in the man pages, and in Perl what you don't know, can't hurt you much.

One interesting thing I discovered about the book is that it is written in Perl POD. POD is nice, but I never expected one can write serious books with it. (that's what DocBook is for). Apparently it is possible, but I think I'll stick to DocBook for these things because it is more flexible. I'm still going to use POD for man-pages and such small-scope documents.

I also saw that there is a module in CPAN to convert POD to DocBook (and the other way around). This is very cool, and should prove useful.


Our united-states friend Ron and Carol Sekura sent us their new years greeting along with their usual summary of what they did in the past year. I discovered this yearly summary is a common convention among Americans. We usually don't do it in Israel, but I wonder what I would write in mine:

At January 1, I was hard at work finishing the winter semester, and also tying the lose end-points with Roy Glasberg's and mine IP-Noise Simulator project. We eventually were able to finish on time, and our project got a perfect 100 score, and it was considered to represent the Com-Net lab in the Technion-wide project excellence contest. (eventually another project was chosen and it won)

The spring semester came with many interesting computer-related subjects, that I constructed especially. They all turned out to be very interesting. Also, nother project of creating a web-interface for managing seminars Technion-wide. Roy and I did not have a lot of time to work on the project during the semester. After my tests were finished (which I did pretty well in them), we set out to work on the project together, thus "ruining" the summer vacation once again.

The project was finished, and we eventually were graded 94. Now started the winter semester, with many courses. My problem was that I kept changing my schedule, and eventually decided that I'd better take a year off because I've been studying consecutively for too long. After spending some time without scholastic responsibilites, I felt freshened up again to resume my studies, and so notified that I will return next semester.

Hah! and their cards are filled with trips and family visits, and other entirely recreational stuff. But this is the life of a Technion student, who is a computer nerd and does not have a dime for himself besides what his parents give him. Not that I think my life aren't exciting: by all means what I do in the Internet, and with my computer is very enlightening to me. I don't think you have to travel a lot in order to accomplish a lot.

Besides, I did not mention the numerous Haifux meetings, the Welcome-to-Linux series, my hacks and endeavours, etc. I don't know how many people who are not computer geeks would find them interesting.


There were a few good days which I took to bike in the afternoon and possible take a walk in the morning. It rained very heavily yesterday, though. Still, in the early afternoon it stopped and there was some sunshine, so I biked to the end of the University road and back.


Both of Chen Shapira's profiles are now certified as Journeyer. I'm the only one who certified here as Journeyer and the other people who did certified her as Apprentice. If I understand the Advogato trust-metric correctly, in order to be a Master you have to be certified as a Master by someone who already is one. If a Journeyer certifies you as Master, you will remain a Journeyer. (as is the case with me and mulix, <jealousy>who has much more Master certifications that I do</jealousy>) Likewise, for being a Journeyer, (certified as J by other J's or by M's).

Still, I'm surprised that Chen became a Journeyer with only one certification. I'm not sure this trust-metric is of any good to Advogato, besides turning it into a tightly linked Hypertext net. I also think that my certification was not always based on one's contribution to the free software community, but occasionally on his skills and knowledge as a programmer. I'm also a bit distressed by those people who certified me as Apprentice, or those people I personally know, which I certified, but did not certify me at all back.

Generally speaking, relying on approval of others for self-esteem, is a bad idea, as is known in Cognitive Psychology, and a person should strive to be independant of the bad effects of people disapproving of him or her. This trust-metric is a nice game, but should probably not be taken seriously. What matters is how I percieve myself, not how others approve or disapprove of me.

ADSL Router

My family is connected to the Internet using an ADSL connection, which we are quite happy with. Recently, however, we bought a new laptop, so we needed to connect them both to the Internet at the same time. My father bought an ADSL Router, but then found out that it won't work with the PPTP protocol used by the Israeli phone company. Luckily, he found out we can install an upgrade for the modem for some cost that will enable it to do so.

He did it after he returned home a couple of days ago, and today's morning he decided that we should install it. After re-connecting the various cables to their appropriate places we booted Windows 98, pointed Explorer (my father insisted on not using Mozilla) at the Modem's web-based configuration screen, and configured everything. It did not work at first. However, after I browsed into an IP address (of vipe.technion.ac.il), the DNS started working and then everything worked. The situation repeated itself at the laptop, which we connected through the phone-network adapter.

Then, I decided to connect Linux the same way. I booted into Linux and tried connecting. I realized after some RTFMing that I can do it using the Mandrake Control Center. However, it refused to connect. I started trying a plenthora of ifconfig, route and all commands but to no avail. My father left, and about half an hour ago called from his cell-phone and asked me if I used the other Ethernet card. Apparently, he used the first Ethernet card (a dmfe one) for connecting straight to the ADSL modem, but connected the second to the router. And all the time I was trying eth0... Hmmpf. Afterwards, a few linuxconf keys to configure eth1 as DHCP - and voild - Internet is working flawlessly (I'm using it now - ;-)).

I could not understand how Ethernet, DHCP and TCP/IP could not work in Linux as well as in Windows, because they are all open, well-documented standards. But naturally they need a physical cable to operate on. Without bread, there isn't a Torah.

Now all I have to do is configure Samba so I can transfer file to and from the laptop. Long live modernization.


Freecell Solver-wise, I busted the warnings I encountered in the KDE compilation inside the CVS development version. Then I worked a bit on Kpat Integration, and made sure the solver instances are recycled.

I also worked on the Syscalltrack home-site. I sent a message to a web-design mailing list I am a member of to find out if the various versions of Microsoft Internet Explorer, view it with the proper top vertical alignment. I already received several inputs that they did, so I assumed the report I got was singular.

After that, I got a green light to merge my CVS branch into the HEAD, but was told to watch for a change that mulix did to the HEAD involving the logo. I applied his change, and then used the cvs update -j command to integrate my changes. There were some conflicts there, which I resolved manually. And then I re-built and uploaded the site.


In "Programming Perl" I finished the chapter about Security, and am now in the middle of the chapter about idiomatic programming, which is very interesting.


There were more trouble with the bicycle. As much as I tried to pump air into them I could not, and I tried two different pumps with both wheels. When my dad returned home, he again was able to pump air there, and said the trick was screwing them till the end, and pumping very hard and till the end.

I did manage to walk at quarter to four. In any case, since I jogged the day before yesterday, then yesterday my feet muscles became sore, and they might be sore today as well.

It rained tonight, and the weather forecast said there are going to be local rains today. I don't know if it would be a good idea to go biking today.


Cleanup is complete! The "CM :: Tools" category now has 4 pending links and they are all inside the CVS sub-category which I cannot edit. Now I can focus on other things, and just login into dmoz occasionally to see if new links were submitted.


Yesterday I worked a little on Quad-Pres (turned exceptions into classes and wrote a TODO list). I also worked on getting a Freecell Solver command line preset into kpat and wrote two scripts to do that in the process. Then I discovered an incompatibility of the command line interface: it changed a char * argument, which I passed from a global constant. I changed its code in the KDE CVS and now it is working. In any case, I think it is a good idea I change the relevant places to const char *.


Since I last updated you, I read several Camel Book chapters. I'm now in the middle of Security. Besides that I also started reading the Namesys Future Vision paper which I've been referred to by several people. I admit that I did not fully understand it. And now I also read the latest Linux Weekly News edition, and several documents that were referred there.


My bike broke when I drove it on Saturday. Apparently, the chair fell down and blocked the handle that enables to lower and upper it. When my father came home yesterday's evening he was finally able to fix it, and brought the chair to its right height. Now I can ride it again.

He did notice that I was out of air. The problem is that I don't think the current air pump I use is very good, and I have troubles using it.

dmoz Cleanup

Throughout the last couple of days, I settled out on cleaning the "Configuration Management : Tools" dmoz category. Now I'm left with 17 pending links. Man, this takes a lot of time, but I'm almost finished with it.

Syscalltrack's Homepage

I started a branch in the Syscalltrack CVS to implement some homepage cleanups. Here is a report I wrote on what I did.

Meanwhile, it was reported that MSIE displays the border of the navigation bar in white instead of black. This turned out to be a bug in the CSS stylesheet in which the text specified border-right : medium solid ; color : black; instead of border-right : medium solid black. I also fixed it in my branch.

KDE 3.1

While looking at the KDE archives, I found out that packages of KDE 3.1-RC5 for Mandrake 9.0 were prepared. I decided to install it. The installation went quite OK, and my new system is stable. Some bugs were eliminated from 3.0.x and some were added (as usual).

Strangely enough, I found old bug reports of the same bugs in the KDE bugs tracker, but then realized they were very old. So I reported them again.

kdegames from the CVS

Having KDE 3.1 installed made it possible to compile the HEAD branch of kdegames from the CVS. Took a bit to install, and the out-of-date makefiles (which I had to run automake with) gave me some trouble. Then the DocBook documents absolutely refused to compile, so I removed their directory from the SUBDIRS of the makefile. And naturally, it takes a long time for g++ to compile KDE code. At the end of the day, however, I had it built and installed.

This enabled me to work on kpat and integrate the changes I wanted their. I removed the limitation for game numbers only up to 32,000, and integrated the new Freecell Solver their. gcc was ran with a lot of extra flags (-ansi, -pedantic, -Wundef, etc.) and it spewed a lot of warnings and complained about many things. Eventually, however, I was able to resolve them.

Then, while trying to solve a game, I discovered a bug in Freecell Solver which forced me to release the 2.8.3 version of it. I fixed it in both CVS branches, and in the KDE integration, and now I'm back on track. What's left to do is to hard-code a nice command line preset into kpat, so it will have less unsolvable games reports.


It was raining on and off the last couple of days. On Friday morning, there was a beautiful sunshine and I went to bike. Then it started raining in the afternoon. On Saturday it was also sunny, so I went to a walk in the morning and biked in the afternoon. Today seems sunny as well so far.

My sister Noa and Dad returned from their trip to England and the States. Noa had a surgery which was supposed to handle her over-perspiration problem. They brought a lot of toys, food, books and other stuff.

Michal (my other sister) meanwhile has homework to do. In her "Intro to Programming" class, she had to write an C function, that removes a specified character from a string. It can be done in O(n) time by keeping two pointers. Today, she worked on her Linear Algebra exercises and I also helped her a little.

26 Dec 2002 (updated 26 Dec 2002 at 07:25 UTC) »


I am an Open Directory Project editor of the Configuration Management category. Yesterday I logged in, and started sorting the pending links. Many of them turned out to be off-topic or such that are already present. I accepted some of them in. Right now I'm left with 87 new links. (I started with 130 or so).

Other than that, I worked on Quad-Pres a bit. It is now in a state where it has a basic working functionality. I also came into an insight: I can release it in a form in which it does not have all the commands I want it to have - just a central installation and the old way of managing the source tree.

I messed a bit with VIPS and Nip which I spotted on Sweetcode. There's also something I did, which I forgot what it was by now. Oh well.


Still going on with the Camel book. Finished the chapter about IPC and am at the beginning of the one about threads.

Linux Meeting

Yesterday, I attended a meeting which was organized by several representatives of big Linux vendors and users in Israel. I was informed of the meeting by an E-mail message Moti Sadovsky, a Sun executive, which I decided to forward to the Linux-IL mailing list. Eventually, out of IGLU came Gilad Ben-Yossef, Shachar Shemesh, Doron Ofek and me.

The conference room was rather small, and there were quite a lot of people there and so it was settled that we will meet again at the Dan Panorama hotel sometimes around mid-January. We did settle that we did not want the forum to have a completely marketing orientation, albeit some marketing was also good. Other than that it was mentioned that a commercially-supported forum can do a great deal to advance Linux in Israel, and other stuff like that.


Gabor contacted me yesterday about the File::FTS module. He said he assigned me as co-author and that I should upload a new version or reindex it. So I uploaded a new version (0.03) with some corrections. I see that it is not registered in CPAN in the main space.

The rest of the time I spent working on Quad-Pres: just more autoconfisication and automakization. It takes a lot of effort to get to a stage where a make dist and tar -xzvf and ./configure; make ; make install is fully working after every change I make.

Then I went to Haifa to hear Gilad's lecture.

Haifux Lecture

I travelled to Haifa by train and it took me quite a lot of time to get there. But when I got there, I still had a few hours left. I bought a fried chicken sandwich to eat, and then went to the Com-Net farm. I read some comics and tried to learn some more O'Caml, but faced the problem of the heating making the temperature there too hot. But then it was time to go to the lecture.

I met Muli's outside the hall, and we chatted a bit. He told me about the slab allocators in the Linux kernel. Then I went to hear the lecture. There were two surprises involved. One was that Gilad decided to give a lecture about dynamic linking instead of embedded Linux, and the other was that the lecture was given in English because there was someone in the audience who did not know Hebrew well.

In any case, the lecture was quite nice. I learned that the dynamic linker was fully implemented in userland and used a shared mmap call to make sure all libraries reside in the same physical memory space.

Since the lecture was finished at 19:40, I decided to travel back that day without staying to sleep in Haifa. So I took a cab to Hadar, and there a cab to Tel-Aviv, and was home at about 21:40.


I finished the Camel Book chapter about Tying variables. This morning I also read through the chapter about Unicode which is quite short.


I adopted the CPAN module File::FTS which was maintained by the late Ariel Brosh. I modified the code a bit and released version 0.02 of it. I had to register as a CPAN author for the process, and I'm not sure the module I uploaded is in the core CPAN modules yet. I'm in contact with Gabor about it.

I spent most of my hacking time today hacking on Quad-Pres, my Perl presentation tool. I started creating an Autoconf-based distribution for it. Automake gave some problems, in not allowing me to install a hierarchy of files. I went to rest, and when I got out of bed, I inspected how dia did it, and found out, it had a Makefile.am for every directory. So, I did that too, by writing a bash script to generate them automatically.

There's still a lot of work to be done, and it is hardly usable as it is.


I read part of the chapter about tying variables in the Camel Book today. I also read Linux Weekly News and their 2002 timeline. That's it, I think.


The weather was nice most of the day. At the early afternoon, I went for a walk and it was very nice. I played Simple Simon in PySol a lot today to relieve my mind of different (more serious ?) matters.

Tomorrow I'm planning to travel to Haifa and attend Gilad's lecture for the Haifa Linux Club.


The newer method using SGID for directories, and a 02775 mode worked beautifully so I switched Quad-Pres to using. Afterwards, I spent most of the day cleaning up Quad-Pres and adding some new functionality. I still did not got to implementing the global installation of the executable, Perl code, and the common base WML template yet, but it was still a lot of important work.

ladypine applied most of my changes to syscalltrack's home-site. I wrote a message to its mailing list with some other observations. I'll have to see what the other web-masters think about them.

At the evening, I added the ability to generate a raw list of the future lectures to the lectures manager. This required cleaning up the code a little, but I intended to do it anyway.


The sun came out at the late morning, so I went out for a walk (taking an advice from my mother). Michal was busy all day preparing a Linear Algebra assignment she got from school, and I helped her out a little.

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