Digital BeeHive
Welcome to the Digital BeeHive.
After many years of working in software development,
I have settled into a better understanding of what
it takes to create a smooth development process.
As a software architect, I have seen how much time
is spent on adapting to changes in languages, platforms,
and operating systems. I honestly think that this is
simply a distraction from the real work that we want
to be doing. We need to understand what is happening
at the technical level, but we need more than that
to create useful applications. We need to get the
development process right, and know how to deliver
the application. We need to understand the real issues
related to networked applications, because stand-alone
applications are quickly fading away as everything
becomes Internet-enabled. We have to understand
distributed computing and event-driven systems
as the variety and capabilities of computing expands.
Last of all, we need to understand how ideas can
be represented as data, and understand how to convert
back and forth between ideas and data. Then we can
have software that is really useful.
This general idea of the site is to compile information
relevant to software development and development environments.
Since I am interested in the widest audience, I will
start by using freeware tools, such as what is found
on Linux and Cygwin. Because all the tools are free,
the cost of creating and maintaining the system is
minimal. The tools will also run on what is now outdated
hardware, which is a great way to give new life to old
machines you might want to use for something. The current
crop of Linux implementations have more support for old
hardware than ever, which makes life easy if you want to
go that way.
The site will eventually describe how
to get the software, how to install it, how to
configure it and adapt it to your own development
needs. I will also provide support materials in the
form of tutorials, a WikiWeb-like shared composition
system (my version is called Stiki), and eventually
an email list.
The further goals of the site are to provide
information on how to use ports of the free
software on a variety of other platforms besides
Linux, such as Windows, Solaris, and others.
The idea is to make development a bit more fun
and a bit more tractable by using proven principles
that have been tested in real production environments.
Nuts-and-bolts discussions about the real tradeoffs that
people have discovered when doing development are mysteriously
rare. It seems that everyone mostly cobbles together their
development environment by trial and error. Some structures
work better than others, and everyone could probably benefit
from a discussion that includes all the major features that
people use in large-scale development.
The features the site will discuss will include:
- C/C++ Development
- Java Development
- JSP Development
- HTML/JavaScript Development
- Database Development
- Custom Server Development
- Network/Distributed System Development
- Source Code Control
- Makefile Systems
- Auto-Builds
- Development Community Issues
The material for the site is being worked on now,
with a few practical projects in progress as a
proof-of-concept. The build environment has taken
shape substantially, and a general method for
secure remote CVS development is in place.
Check the links on the left side of this page
for pages on various topics I've written about.
The site is under development, as time permits.
My job search is coming along, but it is time-consuming.
-David
|