Date: Sat, 21 Jun 2003 12:10:22 +0300 From: Diomidis Spinellis <dds@aueb.gr> To: developers@FreeBSD.org Cc: cvs-all@FreeBSD.org Subject: New committer: Diomidis D. Spinellis, Greece, dds@. Message-ID: <3EF420FE.D9907D3A@aueb.gr> References: <200306201649.h5KGn3QW014806@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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 <http://www.spinellis.gr/codereading>. Since 2001 I 've been using FreeBSD to control my home's security, communications, and entertainment systems as described in a SANE conference paper <http://www.spinellis.gr/pubs/conf/2002-SANE-iFurnace/html/ifurnace.html> and a recent article in "Personal and Ubiquitous Computing" <http://www.spinellis.gr/pubs/jrnl/2003-PUC-ifurnace/html/furnace.html> (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 <http://www.spinellis.gr/sw/unix/chkman/> 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 <http://www.spinellis.gr/cscout> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3EF420FE.D9907D3A>