|
Software DevelopmentI am, perhaps, not a natural born software developer. By nature, I tend to be more interested in making something beautiful that one can see and experience, than in the code itself. However, I have a very strong sense of coding aethetics and have been told that I am a gifted software developer. When the coding muse is speaking and the code is flowing, I must admit that coding can be sublime. I am not usually a particularly fast coder nor a very technical coder but I write code that is exceptionally well thought out, structured, clear, readable, and maintainable. In the long run, this approach has proven to work well for me and for people that I work with. So, even if I am not a software developer by nature, in practice, it has turned out to be something that I am very good at and (usually) enjoy a great deal. Programming LanguagesI am versed in the following programming languages:
PortfolioHypercosm
The Hypercosm set of tools included the following software packages:
I wrote the scripting language, the compiler, the interpreter, the modeling system, and the renderer and I had help writing the Windows integrated development environment (IDE) and exporters. Hypercosm was used for almost 15 years to build a myriad of simulations for NASA, the U.S. Air Force, Army, and Navy, for the Department of Transportation, the New York Times, Cisco Systems, and for many other companies and organizations, large and small. It was used to build training simulations for NASA astronauts including a trainer for assembling the COLBERT treadmill aboard the International Space Station. It was used to build educational simulations of the New York Times web site. The built-in physics engine was used to build helicopter simulations complete with weather effects for the U.S. Navy. Hypercosm was an extraordinary software package that is in many ways still unsurpassed in its capabilities. If you'd like to use Hypercosm to build your own interactive 3D simulations, you can still download the Hypercosm software from here. Megahedron
Megahedron included a simple integrated development envioronment (IDE), making the process of writing and running scripts quicker and more convenient than using the command line. Megahedron was available for both Windows and Linux and also included a distributed ray tracer that allowed you to render images on multiple computers simultaneously. Megahedron was sold for $99 by Syndesis Corporation and was sold at Siggraph 1996 in New Orleans. Microcosm
Microcosm included a true interpreted shading language, which was one of the first shading languages implemented at the time aside from Pixar's RenderMan software. The renderer included a ray tracer and a Phong shading scanline renderer for high quality rendering as well as Gouraud and flat shaded renderers for real-time rendering and interactive simulation. Microcosm was used by engineers, architects and educators. A few hundred copies were sold (for $200), including about 50 copies to the University of Misissippi for teaching science.
ART (Abe's Ray Tracer)Abe's Ray Tracer was a 3D rendering software package that I wrote in 1989-1990 and ran on UNIX systems running X-Windows. It was similar in style to POV-Ray, using a simple declarative scene description language of my own design. In addition to writing the software, I derived all of the mathematics used in the ray tracing software (primarily ray intersection and lighting model calculations). At this point in time, ray tracing software as cutting edge and rendering a single image could take hours or days. One image took an entire week to render on a 25 MHz Motorola 68000 processor. Later versions of the software used parallel rendering techniques to run the software simultaneously on multiple computers. A friend (Mark Spychalla) helped me to write and release a parallel version of the software called XDART. We used to run the software across hundreds of computers at the University of Wisconsin. This worked brilliantly until a friend tried to render a massively detailed fractal mountain landscape which overloaded and crashed dozens of machines. We were busted. Still, this software allowed us to create dozens of renderings which were used to promote the Undergraduate Projects Lab (the UPL) and the UW Computer Sciences Department. In 1991, the cover of the UW computer science department brochure was covered entirely in my ART computer graphic renderings. |
|