David N. Welton



http://www. welton.it /davidw


Padova, Italy



To work in a team environment with experienced individuals. To utilize, enhance, and combine Open Source software systems in order to meet client needs quickly and affordably, while also providing a durable, maintainable solution.


Current Occupation:

Founder, DedaSys LLC: July 2007 – Present

Registered DedaSys as a limited liability company in the state of Oregon, in order to pursue several web-based business ideas.

Employment History:

Consultant: January 2001 – Present

Freelance consultant specializing in Linux, Web and Open Source programming, instruction and optimization. Linux, Apache, Tcl, Gnu Tools. Basic Linux kernel device driver work, C programming, Debian GNU/Linux.  Clients in Italy, Switzerland, UK, and California.

Linuxcare: April 1999 - November 2000

Joined as web developer with responsibility for linuxcare.com, which ran on mod_perl. Coordinated staging server, live web server, use of CVS, and development efforts of other developers.

Subsequently became involved in evaluation and acquisition of Prosa SRL. Transferred to Italy to work with new Italian division in supporting management role (including board of directors), as well as performing work as a consultant. Clients included: SAP - consulting regarding the Linux Standard Base project, Siemens - evaluation of porting effort of large scale C++ program to Intel Itanium architecture. Participated in technical sales calls with Italian clients. Programming skills utilized: Python, Tcl, Perl, C, gnu tools, Debian GNU/Linux, GTK+ programming environment, Apache.

CKS Portland: July 1997 - December 1998

Began as assistant programmer, working in coordination with Senior Technologist to maintain and write code for web sites, and work with Unix (principally Irix) and Linux servers. Worked in Perl, PHP, C.

From March 1998, Lead Programmer, Mitsubishi Motors web site (www.mitsucars.com). Involved use of PostgreSQL database, PHP, Perl, Apache, C, coordination of other programmers' work. Installation, setup and maintenance of several Linux servers used for FTP, Appletalk, SMB, NFS, backup, and web servers. Used to create a stable, secure, easy-to-manage work server group in a heterogeneous environment (Unix, Macintosh, Microsoft). Coding and design of wstats, for the analysis of httpd log files utilizing C, Perl, and the Postgresql SQL database.

English Translations and Instruction: July 1995 - June 1996, Italy.

Taught English grammar and conversation as a foreign language with all levels of students at the Istituto Linguistico Bertrand Russell. Also performed a variety of Italian to English translations.


Computer Languages :

  • C

  • Tcl/TK

  • Erlang

  • Bourne (Unix) Shell

  • SQL

  • Python

  • Java (J2ME)

  • Perl

  • PHP

  • C++

  • Scheme

  • Ruby, Ruby on Rails

Including the C API's of Tcl and Python.

Computer Environments, Tools, Misc.: Linux, Unix, Emacs and elisp, GNU tools, TCP/IP Protocol, eCos.

Markup Languages: HTML, LATEX, DocBook, troff, XML, XSL.

Open Source:

Note: Most of the code below is available, or linked from http://www. welton.it /freesoftware/


Created Hecl, a Tcl-like programming language written in Java that runs in J2ME environments (cell phones), to make it easier to write applications for small reduced-resource environments.

Linux Incompatibility List

List of hardware incompatible with the Linux operating system maintained through a collaborative wiki.  The idea being that there is more incentive to add to a relatively small list of products that don't function than those do.

Apache Tcl

An umbrella for Tcl-Apache integration efforts, under the auspices of the Apache Software Foundation. These projects combine the power of the Apache web server with the capabilities of the time-tested Tcl scripting language. Current role is Vice President of Apache Tcl with the Apache Software Foundation.


Apache module. Rivet is a module written in C for the popular Apache web server permitting the use of Tcl as a server side scripting language. Design goals included ease of use, and tight integration with HTML.


Involved with documentation, Tcl standard library modules, and occasional patches to the core system.

Debian GNU/Linux

Developer: June 1997 – Present. Involvement entails use of the Debian packaging system to create and distribute Open Source software, as well as participating in group decisions regarding policies and directions of the Debian project. Sub-tasks within Debian include participation in the effort to port Debian to the ARM architecture.


Minor projects or patches involving Emacs, Ruby on Rails, Python/C, Tcl/Tk/Web, Linux kernel, Apache web server, Mutt mail reader, gdk-pixbuf, ltrace, strace, readline , ficl Forth, and eCos.


“Il Sistema Operativo eCos”, Linux Magazine (Italian version), April 2004.

“The Economics of Programming Languages”, Byte.com, 2005.

Talks and Presentations:

“Hecl, the Mobile Scripting Language” Sun Java Conference, Milano, Italy, June 2006 (in Italian), & O'Reilly OSCON, Portland, Oregon, USA, July 2007

Presentation about the Hecl scripting language and its use on mobile phones.

“Apache, Linux and Debian Organizations” Bolzano/Bozen, Italy, November 2004 (in Italian)

Presentation about the Apache Software Foundation, Linux Kernel and Debian organizational and development models.

Apache and the Apache Software Foundation Valtellinux, Sondrio, Italy, October 2003 (in Italian)

Presentation about the Apache web server, and the Apache Software Foundation - who we are, how it works, and the open source development model espoused by the group, as compared to other models such as the Linux Kernel and Debian.

Debian GNU/Linux as a Server Platform Webmaster Professional, Nurnberg, Germany, September 2003
Presented the advantages of Debian GNU/Linux as a server platform to a group of web professionals. Discussed advantages, Debian compared with other systems, and things to look for in a server in order to help make your own decision.

Apache Rivet: Writing an Apache Module JOIN 2003, Braga, Portugal, June 2003
Participated in a conference organized at the Universidade do Minho, giving a talk on writing Apache modules, using the the Rivet module in Apache Tcl as an example, and including a lot of details regarding the obstacles overcome at a technical level to integrate the two systems.

Enterprise Linux Round Table Club TI, Vicenza, Italy, May 2003 (in Italian)
Took part in a round table discussion on whether Linux is ready for enterprise use, as a representative of the free software community. Other participants included IBM, Redhat, Oracle, Suse, Benetton and Riello.

Apache Tcl
Apache Software Foundation ApacheCon, Las Vegas, November 2002
Bay Area Linux Users Group, San Francisco, October 2002
Netcetera TekZone, Zurich, Switzerland, March 2002
Talk covers the Apache Tcl project - the motivation behind it, how the technology works, and a glimpse into the internals of one codebase.

Tcl Programming Language
PLUTO meeting, Terni, Italy, December 2001 (in Italian)
Presented a talk on the Tcl programming language.

mod_dtcl, scripting the web
Webbitt 2001, Padova, Italy, July 2001 (in Italian)
PLUTO meeting, Terni, Italy, October 2000 (in Italian)
Delivered a talk on the mod_dtcl Apache module, both its application and internals.

The C API's of Tcl and Python
PLUTO meeting, Padova, Italy, September 1999 (in Italian)
Delivered a talk on programming extension modules for Tcl and Python.


Available on request.

Personal Interests:

Italian language, culture, and linguistics. Resided in Italy 1995-96, from February 2000 until July 2002, and most recently, since April 2003.

Cycling: 8 seasons racing both mountain and road bicycles, with a variety of teams, in Oregon and in Italy. Most important result: victory in the under 18 group at the 'Boss' 100 mile mountain bike race.

Video production: Produced several shows for viewing on the Eugene, Oregon public access channel.