March 2004 Archives
March 31, 2004

April 1st: Google kicks ass with new email service


Read all about it! And check it out here.

How true could it be? ;)

Posted by ovidiu at 10:18 PM |

Linux on IBM Thinkpad T41p


I got an IBM Thinkpad T41p from work yesterday, planning to install Linux on it. The Thinkpad has a really great piece of hardware, well designed and with a robust feel. I really like the trackpoint, it's much faster than using the touchpad.

I prefer using Linux when doing real work, since all the tools I have just work there, as opposed to their equivalents on MacOS X or Windows. My XEmacs environment is heavily customized and I've never been able to make it work to my satisfaction anywhere else.

Anyways, after repartitioning the drive and installing Redhat 9 on the new partition, I started to look into how to configure various things: X-Windows, wireless access and printing on the printers connected to my HP JetDirect 500x print server are the most important ones.

A quick search on Google, revealed these instructions on how to setup Debian on the laptop: horrendous! The basic idea is that I need to recompile a custom 2.6 kernel, install a customized version of the X-Windows server, and use a commercial driver for the wireless card! This is a horribly long set of things one needs to follow to get Linux mostly working on this laptop. I'll give it a shot though. Now I'm downloading the latest updates for RH9 from Redhat, about 300Mb of packages!

BTW, Windows XP works amazingly well on the laptop (I know, this is blasphemy ;). The feature I liked most is that it switches automatically from a wireless network to a wired one as soon as you plug in the Ethernet cable; pretty cool!

Update (16:20pm): After about an hour, I got all the updates installed on my machine. I copied the Linux boot sector on my Windows NTFS partition and rebooted the system.

It turns out that updating the X-Windows server was a lot easier that I expected. I got the ati_drv.o and atimisc_drv.o from here and placed them in /usr/X11R6/lib/modules/drivers. I didn't manage to compile the DRI kernel modules as described here, because of a compilation error related to mismatched arguments to a function. I'll investigate this later, perhaps by getting a new version out of CVS.

I rebooted the machine and ran X in the command line, to generate a configuration file for XFree86:

$ X -configure

I verified the generated config file works fine by running:

$ XFree86 -xf86config ~/

then copied the newly generated file in /etc/X11XF86Config. This configuration file enables X-Windows to use the maximum 1400x1050 resolution with TrueColor enabled (32bits/pixel)

I configured the printers using the excellent PrintManager from Gnome 2. I created the two printers I have connected to my HP JetDirect 500x print server. For the first printer I specified port 9100, and for the second port 9101. CUPS on RH9 comes configured with knowledge about a lot of printers, including my HP OfficeJet D145 and HP DeskJet 970. Printing worked out-of-the-box, I was really impressed!

In fact it worked better than in Windows XP, where I had to dig for the installation CD of the OfficeJet and had to hunt for options to create a printer attached to a print server. On XP I had to create a new TCP/IP port type, and the n create a local printer using that port. Totally confusing, since the printer is really networked.

Sound is working just fine with the builtin sound card. I ran sndconfig to detect and configure the sound card, and install the necessary module information in /lib/modules.conf.

Posted by ovidiu at 12:18 PM |
March 29, 2004

Languages with macros

Pebbles - Pebble Beach, California

Nemerle, a language using a syntax similar to C#, has some very interesting support for syntactic macros. It basically allows programmers to extend the syntax of the language with new constructions, not already implemented in the language.

The sample macros they have as examples are for loops and a printf-like function with variable number of arguments. This shows once more why syntactic macros are a good thing to have in a language: there's no need for language developers to implement these features at the language level! The printf as well as other new syntactic-sugars in JDK 1.5 could have been implemented this way.

Last year, during a talk James Gosling gave at Google, I had the opportunity to ask him about macros in Java. His response was along the lines of "we don't need macros, since they are so hard to understand." Needless to say, I was really disappointed by his response.

Interestingly enough, the Nemerle developers seem to have received a grant from Microsoft. Quite interesting, I wonder how long will it take to see C# with macros.

Posted by ovidiu at 11:06 PM |
March 22, 2004

Apache projects to remove author tags


I've recently found that the Apache Cocoon project, and perhaps other projects too, are going to remove @author tags from the source code. There seem to be few reasons for such a move:

  • the @author tag tells who wrote the skeleton of the code first, and not who contributed further to it, documented it etc.
  • the "selling" of ASF-branded code is impeded by @author tags present in the code. They do not emphasize the quality control of the community behind that code.
  • the apparent lack of legal protection if your name appears as author in the source code.

I strongly believe none of these reasons are valid, and I would be very dissappointed to see such a move happen.

I've contributed a fair amount of code to Free Software Foundation and Apache Foundation, among other free software/open source projects. And it is the first time I hear claims such as those mentioned above.

Over the years, FSF has done a very good job of protecting the software donated to it. FSF, just like Apache, requires contributors to assign the copyright to their work to the Foundation. From that moment all the legal claims are handled by FSF automatically, and the author is fully protected from whatever legal threats. The third argument above makes no sense to me. I don't see how removing the @author tags will prevent this from happening. It's not like the software appeared in CVS by magic: some person committed it, whether the @author tag documents it or not.

The history of modifications in a file provides 1) due credit to people writing the code and 2) useful hints on the evolution of a particular piece of code. Take this file as an example. You can see a rough history of an apparently simple, yet very important piece of the GNU Objective-C runtime.

Contrary to the liberal view that community writes the software, I don't think this is the case, at least not initially. Writing software is something very personal which requires not only craft, but also inspiration; it takes time and energy for something to materialize. The process is obviously influenced by a lot of feedback, but in the end is that one individual that writes the initial code. Further improvements of the code also require an understanding of the original ideas, and dedication to improve them. The process is driven by peer recognition and respect; the @author comments document that creation process. Removing them anihilates that recognition.

[Some years ago I was working on implementing a new feature in the GCC Objective-C frontend and runtime library. The initial solution I had in mind needed support of the linker on all the GCC supported platforms and support in libgcc.a, a runtime library distributed by GCC on every platform. I was not sure that was the right thing to do, so I asked on the dev mailing list people's opinion. Nobody was clueful enough to give an authoritative answer, and the original contributors to the code were no longer involved with the code. As a last resort, I asked the original author in a private email his opinion. Sure enough, he replied the next day with his thoughts. After a few other email exchanges, it became clear I needed to think of a different solution. The solution I came up with in the end is machine independent and doesn't require any linker support. Without knowledge of the author and contact information, that would have been a lot more difficult.]

Not having @author tags within comments reminds me of the days working for a large company. You would look at the code alone, with no metadata associated whatsoever, like author tags. If you found a problem or wanted to improved the code, the only way for you to act was to notify the corporation: your manager, some other manager etc., but not the developer himself/herself. People other than developers were in charge and deciding what to do with the code you or your colleague wrote. This ends up promoting an atmosphere were peer recognition is no longer important, and were writing code is no longer the primary focus of a community. For open source software development this would be extremely bad. Open-source software is, above all, about software.

I hope ASF people will seriously reconsider the idea of removing the @author tags.

Posted by ovidiu at 10:26 PM |
March 02, 2004

Virus attack on Apache committers

Open Source
Moon after storm - early morning Mount Hamilton, California

Today I started to receive a flood of email messages like this:

Date: Tue Mar 2, 2004  6:21:20 PM US/Pacific
Subject: E-mail account security warning.
Attachments: There is 1 attachment

Hello user  of e-mail server,

Our main mailing server will  be  temporary  unavaible for next two days, 
to continue receiving mail in these  days you have to configure  our free
auto-forwarding service.

For details see the  attached file.

The Management,
    The team
<Text Document.pif> attachment

This obviously looks fake, but they got me thinking after a discussion I had not long ago with Steven. Somebody is obviously targetting Apache committers. Perhaps to gain something more than simply placing a new virus on somebody's computer.

If you're an Apache committer, receive such a message and you're on Windows, be aware!

Update: I just got another message at my email address. So it's not only Apache. The interesting thing is whoever is behind this, is filtering the email addresses and is carefully constructing email messages very targetted to a restricted set of people. It's the first time I see this happening.

I wonder when such virus email messages will be customized on a per-user basis :(

Posted by ovidiu at 08:17 PM |
Ccol stuff
  Arduino TinyWebServer: part 3 and part 2

More from me
Picture gallery
Copyright © 2002-2011 Ovidiu Predescu.