From owner-cvs-src@FreeBSD.ORG Sat Jun 21 02:13:11 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1AE8A37B401; Sat, 21 Jun 2003 02:13:11 -0700 (PDT) Received: from hermes.aueb.gr (hermes.aueb.gr [195.251.255.142]) by mx1.FreeBSD.org (Postfix) with ESMTP id AB05C43F75; Sat, 21 Jun 2003 02:13:09 -0700 (PDT) (envelope-from dds@aueb.gr) Received: from aueb.gr (faculty06.right.dialup.aueb.gr [195.251.255.250]) by hermes.aueb.gr (8.12.9/8.12.9) with ESMTP id h5L9D2w1002467; Sat, 21 Jun 2003 12:13:02 +0300 Message-ID: <3EF420FE.D9907D3A@aueb.gr> Date: Sat, 21 Jun 2003 12:10:22 +0300 From: Diomidis Spinellis Organization: Athens University of Ecomomics and Business X-Mailer: Mozilla 4.78 [en] (Windows NT 5.0; U) X-Accept-Language: en,el,de MIME-Version: 1.0 To: developers@FreeBSD.org References: <200306201649.h5KGn3QW014806@repoman.freebsd.org> Content-Type: text/plain; charset=iso-8859-7 Content-Transfer-Encoding: 7bit cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: New committer: Diomidis D. Spinellis, Greece, dds@. X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Jun 2003 09:13:11 -0000 I guess it's time to introduce myself. I've been using BSD Unix systems since 1986 starting with 4.3 BSD on a pair of VAX 780 machines. In 1992, as a bored PhD student, I reimplemented sed(1) and contributed it the unencumbered BSD version that was then being put together; it is now part of the *BSD family. I crossed again paths with BSD software when the prize of the 2000 Usenix technical conference ``win a pet Shark contest'', Digital's Network Appliance Reference Design-DNARD, came with a NetBSD boot image. I used that code for drawing about 500 examples for my book "Code Reading: The Open Source Perspective" (Addison-Wesley 2003), detailing how to read software code others have written . Since 2001 I 've been using FreeBSD to control my home's security, communications, and entertainment systems as described in a SANE conference paper and a recent article in "Personal and Ubiquitous Computing" (as an academic I have to live by the "publish or perish" motto). Why am I a becoming a committer? My feeling is that FreeBSD, although less visible than other systems, exemplifies the state of the art in software engineering, both as a product and as a process. Its scale (6 MLOC), quality, level of integration, legacy, and development practices could well be unmatched both in the proprietary and open-source software. I therefore want to be close to this effort and will be proud to further contribute to it. My (longish term) plans as a FreeBSD committer: doc Continue work on the consistency of the man pages: - Correct .Xr references (docs/51480) - Experiment with expanding the idea to check: - command-line arguments (section 1 and 8) - system call errors (section 2) (see e.g. docs/43891) - Integrate the manual checking script in the tools collection src Userland commands - Modify ash (src/bin/sh) to support network pipes - Add SIGINFO support to commands that could benefit (e.g. sed, make (silent make option)) - Ensure commands detect and report write(2) errors on standard output - Correct command bugs (see e.g. bin/48424) Library - Optimize libc/regex to build the finite automaton with native code instead of intepreting it (I am currently experimenting with a similar approach based on the JVM). - Locate candidate code for moving into a library - Investigate how kevent(2) can be used to aggressively cache file contents in library lookup operations (get*). (Do an strace(1) on apache's logresolve(8) to see what I mean). kernel - Integrate and enhance my PCL-724 driver (i386/46238) http://www.dmst.aueb.gr/dds/sw/ifurnace/#pbio - Fix the occasional bug (e.g. kern/46116) src The CScout system I have implemented can parse arbitrary collections of C programs and allow its user to browse and safely rename identifiers, even in the presence of the most complex C preprocessor constructs. As a test case, I have already successfully processed bwk's awk source code and the complete apache distribution. I have calculated that the current implementation of CScout could process the complete FreeBSD distribution on a 1GHz processor in 12 hours using 5GB of physical and 12GB of virtual memory. It would therefore be interesting to initiate an effort to: - locate unused identifiers and dead code - improve identifier naming consistency across the complete FreeBSD source tree. As an example, a quick run on just the source code of bin/cp reveals that the macro definition RETAINBITS in src/bin/cp/utils.c is not being used. Given the memory requirements of this task, it would also be an interesting test case for the 64-bit FreeBSD version. This will be a massive effort, so volunteers with time and access to appropriate hardware are more than welcome. Looking forward to work with you, Diomidis -- Diomidis Spinellis Assistant Professor Department of Management Science and Technology (DMST) Athens University of Economics and Business (AUEB) Patision 76, GR-104 34 Athens, GREECE +30 2108203682 http://www.dmst.aueb.gr/dds/ mailto:dds@aueb.gr