T.E.D. Home Page
This page is mostly a repository for links I find useful.
Last Update - 8/27/2001
Programing:
Personal Projects:
My newest project is the SETI@Home Service.
This allows SETI@Home participants
with an NT ( or Win2K) machine to run their SETI client continuously as a
service.
I'm currently running the OpenToken
project, the purpose of which is to deveolp and maintain Ada packages to allow
easy creation of lexical analyzers and parsers in straight-line code (as
opposed to using a preprocessor).
I also developed Fodderbot to version
1.0 as a project for an AI class.
Also as part of that project, I developed AdaCLIPS; a small set of Ada (95) bindings
to the CLIPS expert system
shell.
Software Engineering:
There's a lot more to developing software than just spewing out source code
and bashing it into shape with a debugger. I can't hope to transcribe years
of experience here, but I can point to some papers that I found significant.
- Worse-is-better
- Thoughts on the proper way to design software.
- The GNU Manifesto
- Is it morally wrong to not share your software?
- The
Cathedral and the Bazaar - A potentially revolutionary approach to software
development.
- Frederick P. Brooks's classic treatise on software development and
management, The Mythical Man-Month, Addison-Wesley (ISBN 0-201-83595-9)
Tools:
Below are the Win32 versions of the software development tools I recommend.
All these tools are Open Source'ed, and all allow portable programs
to be written. I work a lot on non-Win32 systems, so portability is very important
to me.
Gnat Ada
compiler - Ada is the best general-purpose programming language
available. Java comes a close second.
GtkAda - Gtk is not only the defacto
standard UI toolkit for Linux, but its also has a complete Windows port. This
makes it a very complete platform independent GUI development toolkit.Combine
this with Ada, and you can build systems that are actually more portable
than Java.
NTEmacs
- The text editor. It's also a newsreader. It's also an email tool.
It's also a psychoanalyst. It's also...
Emacs Ada Mode - Emacs comes
with an Ada mode. The latest version of Gnat comes with a newer version of
that mode. But if you want the latest version, you should download it from
this site.
WiZ - A free
replacement for WinZip. Unfourtunately, it can't handle tar'ed and taz files,
which is part of why you also need...
Cygwin Win32
Unix tools - bash, diff, find, gawk, grep, gzip, sed, tar, and all their
friends. Pick and choose yourself, or have setup
help you.
Reference Material:
You can tell a true guru by the manuals in his work area. Here's my online
set.
- The Ada LRM
- NT
Emacs FAQ - The repository for all Win32 (NT and Windows 95/8) Emacs
knowledge
- GNU Documentation
- Emacs, Bash, GNUMake, and many more.
- AdaPower - The source for all
things Ada. Good starting point for beginners.
- GTK+ - The homepage for the Gimp
Toolkit.
- FOLDOC - The Free Online Dicionary
Of Computing. The only dictionary you'll ever want to read end-to-end. My
favorite entry is Shub-Internet
Games:
I initially got into computers at age 12 because I wanted to play computer
games. Back then games were distributed in BASIC source code in books, and
you typed them in yourself. Of course BASIC isn't very portable, and humans
(especially 12-year olds) aren't perfect typists. So I always ended up having
to track down bugs in the programs I typed in. Soon I had learned enough
to start trying to extend the capabilities of the games. After that I started
writing my own games from scratch.
Of course these days major games are distributed via cartridges or in binary
form, with no source code for incipient hackers to examine. There's no hope
that my son or any of his generation will be able to learn by playing, as
I did. These days our country depends on new software systems to maintain
the productivity growth that keeps us competitive with developing nations.
As software systems have grown more complex our need for software engineers
has been growing geometrically. But the past few years enrollments in university
computer science programs have actually dropped. There's a whole lot
more riding on the Open Source movement
than just about anybody realizes.
Anyway, the career games have led me to has been very good to me. But I
still love playing computer games.
- Games Domain - I
don't have a whole lot more game links, because everything's here.
- Diablo II - Think
Nethack in real-time with modern
graphics and sound. If you play online, I can occasionally be found
on the US East server playing under
Mule_Skinner.
- Microsoft's Internet Gaming Zone
- The place for Age Of Empires multiplayer. Has some other good games
too. Unfortunately, they don't support my current browser, Mozilla, so I don't go there much
anymore. (What kind of pinhead makes browser-specific code for public
use?) When I am there, use Mule_Skinner as well.
Soccer:
I coach my Son's soccer team, the Thunder
dennison@telepath.com