Older blog entries for shlomif (starting at number 175)

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.

Linux Events

On Friday there was the conference and installation party. I spent most of the time installing RedHat on a few computers. One installation was done through VMWare which gave some problems in installing the xpdf RPM. Other than that, a guy I tried to install a system for him, brought his computer there and we again failed to install it. Then he drove back home and brought his new computer, on which the installation went fine. (he also drove me back home).

Then there was a raffle, which I did not took part in and so did not earn anything, but it was fun to watch, especially as one name (of someone who wasn't there) came up three times.

On Sunday, I went to the Hertzlia Inter-Discplinary Center to hear a lecture about Mono (the open-source .NET implementation), and also was able to give a lecture about The Cathedral and the Bazaar series. We were about 10 people there.

Finally, on Monday, there was a coordination meeting for the Haifa Linux Club Welcome to Linux series, which I volunteered to be responsible for some of the tasks there. They rejected my suggestion to make a shorter "Linux in Action" series, claiming that the first lecture was about that already. I still think the W2L as it is, wastes too much of our time, while giving very little in return to the beginners.

Hacktivity

This and that. I worked on implementing the Patsolve logic into Freecell Solver. It is working now, but does not give as good results as Patsolve has. I'll have to analyze the results to see if there's a bug.

I also worked on Devel::LineTrace - a Perl module to assign callbacks to lines in the code without modifying it. (for debugging purposes, like adding prints).

I also went over the CatB lecture and fixed typos. There were quite a few of them and two of which (one which I forgot) crept up during the lecture. :-)

Vipe is Disconnected

vipe.technion.ac.il is disconnected because it's lying in the Technion's dormitories network which was entirely disconnected to facilitate dealing with the worms attack. This means part of my homepage and the Haifa Linux Club homepage and mailing lists are inaccessible, and I cannot read my primary E-mail account. The Technion staff is now on vacation so it's not going to be fixed until Sunday.

Reading

I read a lot from "The Art of Unix Programming", as well as some chapters out of "The House of Arden". I also advanced a little in "Apache : The Definitive Guide". The latter seems a bit boring and technical to me, and I'm not entirely sure I need this information.

Haifux Meeting and Birthday Party

On Monday, I went to hear a Haifa Linux Club lecture about Real Time and Embedded in Linux given by Iftach Hyams. The lecture was very nice and there were many bursts of laugh throughout it. Afterwards, we went to a restaurant to celebrate Haifux' 4th birthday (which was incidentally ladypine's birthday as well)

Ori Idan (who drove me back to Hertzliya the last meeting) gave Meir Maor and me a ride to the restaurant. (the arrangement was that Ori had a car, Meir knew how to get there, and I neither). We arrived there, and I sat at one end of the table next to Ori and Jess. The food was good, and Jess told a lot of jokes throughout the dinner.

sun gave Jess, some other guy and me a ride home. The first part of the ride was full of jokes, but the second one held a serious discussion of Intellectual Property and whether "all software should be free".

I arrived at home at 1 A.M. and went to bed even later, but had a fun day.

Warcraft III

I finally discovered how I can finish a level I was stuck in. My problem was that the gameplay was fast, and when I switched it to slow it was doable. I did not finish it yet, but I'm getting there.

Movie: Pirates of the Carribean

I went to see the movie "Pirates of the Carribean: Curse of the Black Pearl" yesterday, along with my father and my sister. The movie was very entertaining and Action-paced. Highly recommended.

Hacktivity

I worked on integrating Freecell Solver with Python using the Python bindings I wrote. It was quite straightforward as a basis for it was in the code and all I needed to do was adapt it to my new interface. The Python debugger was a lot of help in tracking some crashes. Now I have it working for most Freecell variants.

Upcoming Open Source Events

There's an installation party and conference tomorrow at John Bryce College in Tel Aviv which I'm going to attend as an installer. Afterwards, on Sunday, there's a lecture about Mono at the Inter-Disciplinary Center in Hertzliya. If there's time, I'll also give part of my lecture about CatB.

Reading

I read several chapters out of "Apache: The Definitive Guide", and chapter 3 of "The House of Arden". I also covered "Homesteading the Noosphere" in preparation of the lecture on Sunday.

Perl Meeting

Here's a report I wrote on the latest Israeli Perl Mongers, that took place on Thursday. My father drove me to the meeting, and at first I bought some Burekas in the nearby bakery. Then was the meeting. After the meeting Ronen Kfir drove me and Kfir Lavy home. Kfir and I chatted for a long time and ate supper at McDonalds. We discussed Linux and touched on many topics, including my projects.

Python Bindings

I've been toying up with the idea of integrating Freecell Solver into PySol. Since Freecell Solver is written in C, and PySol is a Python program, I had to create bindings for it. At first I started using SWIG. This created very C'ish APIs without much trace of a native language behaviour. Then I realized it does not handle arrays well. So I set out to write Python in the native bindings language. I consulted the Python tutorial, the Python extensions writing manual, and the people at the #python channel on FreeNode and eventually got things to work nicely enough.

I'm still a bit worried about memory leaks, but I suppose that Valgrind will help me detect if they exist.

Subversion Issue #1473

To further test my Repos->WC file copy code, I wrote a test that set up the svn:keywords property on the source file and then copied it. The result was nothing less than a segfault. So I filed an issue about it. The problem is that the translation is done without an entry existing in the .svn/entries file.

Ben Collins-Sussman and I discussed the best way to resolve it on IRC. Our conclusion was that we should probably create another post-process routine that will do the translation after the entry is created (which is already the case, just that the translation is done beforehand). However, Ben thought it was inelegant and so he wanted to consult the list.

Reading

I made some progress with "The Art of UNIX Programming". I also took the book "Apache : The Definitive Guide" from the Perl Mongers book pool and started reading it. I reached the beginning of the chapter on authentication.

Biking

Two days ago, when I biked, I noticed 1/3 of the way that a lot of air went out from the back wheel. So, I returned. I don't know what causes it, but I'll have to investigate, because I can't bike otherwise.

Hacktivity

This and that. I've organized my Subversion patches directory to exclude patches that were already applied. That way, the other maintainers can best know what needs to be applied. I've been looking for other Subversion issues to work on, and found some candidates, but so far did not find the time to work on it.

I also made progress in translating "Homesteading the Noosphere". A couple of people contacted me with corrections to it, and I'm grateful for them. Then, I made the data for my version of the Haifux lectures manager up-to-date with recent lectures.

Finally I edited the Wikipedia entry of Freecell to make it less lame and more accurate than it was. I actually woke up in the morning thinking about Wikipedia and whether it mentions Freecell, checked it a bit afterwards, and in the evening changed it. ;-)

Reading

I read part of the book about Statistical Physics and Thermodynamics I have (I'm studying Thermo next semester). I also read the first two chapters of "The House of Arden", after being reluctant to read it for a while.

Free Software "Monopolies"

jlouis, I don't really see free software "monopolies" as a bad thing. It takes a lot of time and effort to create quality software, and so it make sense one or a few packages will rise above the rest, and concentrate most of the effort around them. If we take gcc, for example, then everybody use it because it's a great and trustworthy compiler.

I don't see much point in switching to using anything else, just to make an anti-monopolistic point. If gcc works, I am sticking with it. If something better ever comes along, I might switch, but there isn't anything better now. If you ask me, you'd better hack on gcc and make it an even better compiler than it is now, then try to make a half-decent competition.

Certification

Certified jlouis as Apprentice because of the above and other stuff I found on his homepage.

10 Aug 2003 (updated 10 Aug 2003 at 11:34 UTC) »

Subversion

It turned out my updated patch was not acting according to the Subversion conventions. What I did wrong was not create temporary files, and not use the run log mechanism to perform the operations that could be performed with it. So, I sat on it on Friday, and wrote an updated patch (revision 5). This was applied, and so I'm happy.

Today I took some time to prune my patches archive from patches that were already applied.

Haifa Apartment

I met with the Apartment owners and one of my apartment-mates on Friday to settle the payments for the apartment. There was a bit of a fuss between my dad and the owner, about a payment for replacing a lock that was done a year earlier. But other than that it went fine.

On the way back, I ate lunch at the MacDonald in the Yoqne'am Mall.

Other Hacktivity

I worked and reviewed the lectures I wrote a bit. I've started adding missing slides to the Gimp lecture I prepared, and hopefully, I'll put the full lecture online soon. I also started working on translating Homesteading the Noosphere by esr into Hebrew. If you don't know what it is, it's the second chapter in the Cathedral and the Bazaar series, that analyzes the customs of the hacker culture.

The Hebrew Translation is progressing quite nicely. (seemingly better than I remembered from "the Cathedral and the Bazaar"). Other than that, it seems that I'm not entirely happy with the current translation of the Cathedral and the Bazaar to Hebrew, so I'll probably resume working on it sometime. This time, however, I can start from the existing text, and revise it.

Hard-Disk Problems Revisited

A few days ago, I got the same faulty noises when booting the hard disk. A reboot did not help, but after I started Knoppix and mounted it, everything was fine. Today, the same noises also happened, but this time the system could load. Hmmm... I think I'll try to buy a new hard disk as soon as I can.

Certification

Certified ask to Master for his work on maintaining the Perl online infra-structure. I did not realize he had an Advogato profile until now. Also certified pudge as a Journeyer for his work on Slash and maintaining use.perl.org. Finally, certified Simon (Cozens) to Journeyer for his contributions to Perl, and writing "Beginning Perl". Maybe I'll certify them to Master someday, but I need to be more familiar with their work.

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