David Castro’s Portfolio

This portfolio consists of online, printed, multimedia, project management, and programming samples of work that I did for other employers, clients, and volunteer agencies. All items are used with permission.

Technical Writing ResumePDF. Updated 05/17/2012.
Software Development ResumePDF. Updated 07/16/2012.

843-821-6210 (home)
843-343-4571 (cell)

Web-based sample

jsp.davidcastro.com is full of conceptual information and tutorial steps that teach technical writers how to leverage JavaServer Pages technology to enhance their web-based documentation. I have also presented at two WinWriter's conferences, the TriDoc 2002 conference, one Society for Technical Communication (STC) Special Interest Group meeting, and a local STC meeting on the same topic.

Online samples

Java Platform Guide (178KB). I created this to document the new Java client functionality added to the COOL:Plex product at version 3.5. The Java server-side information already existed, though I updated it for the new functionality. I wrote about 90% of the material in the Java Platform Guide. While writing the guide didn't require that I learn the Java programming language, itself, I did have to learn about many aspects of running a Java application. I had to cover more technical aspects of Java applications, such as converting existing models to generate as Java applications, application deployment, client/server distribution, and multiple server partitioning.

I was able to make constructive use of DHTML (I only use new technologies when there is a real reason to do so; I don't use new technology just to use new technology). You can see how I used DHTML by viewing the topic Defining logical locations for Java clients, under the Designing Java applications section of the Table of Contents.

Action Diagram Debugger (63KB). This is an application help file that I converted from WinHelp to HTML Help, while updating it for the newer version.

Printed samples (downloadable Zip files)

Obsydian tutorial (Windows), 3.5 (473KB). This is the first major project that I led at Synon Corporation. The tutorial that this replaced was written in a cookbook fashion, with little explanation of what was happening. It took me five days to work through the original tutorial when I first started at the company, so I knew that something needed to change. I pushed for the tutorial to be replaced, and volunteered for the task. The new tutorial emphasizes why the user is doing the various tasks, and how they apply to the whole project, and takes about one day to complete. This new focus makes it easier for the user to take what is learned in the tutorial and apply that new knowledge to a real-world project.

Obsydian tutorial (AS/400 5250), 3.5 (484KB). The tutorial for Obsydian is written for two platforms: Windows and AS/400. The AS/400 tutorial doesn't use the same set of libraries as the Windows version, so I used conditional tags to put platform-specific information into the document.

COOL:Plex (new name for Obsydian) tutorial (Windows), 4.0 (710KB). The release of the new-and-improved tutorial in the 3.5 release caused people who had ignored it up until then to take a look at it. Upon reading the tutorial, a person who was soon to be my manager realized that, while it had improved, it could still be made even better. He suggested that, rather than focusing the structure of the tutorial on the different COOL:Plex editors (the product was renamed from Obsydian to COOL:Plex when Sterling Software acquired Synon Corporation), we should focus the tutorial on the process of creating an application. At the same time, we should focus the tutorial on the parts of the application that give the most benefit over hand-coding. I used his suggestions to rework the tutorial again. I modified the model that the tutorial uses to include a wizard and property sheet, and reworked the existing material and added new material.

The 4.0 tutorial showed one of my strengths: the ability to embrace feedback and critique, and use it to create an even better product. I don't invest personal feelings in my work, and so can take criticism without being offended.

Modulant Technology Overview (1.5MB). This is an example of a technical marketing project. This was used in sales presentations and demos. It is also available on the company web site, though ownership of the project was transferred to one of the scientists in the company, and changed since the version available here.

Modulant Workbench Training (3.9MB). This is an example of training material. I used the documents in this sample to co-deliver a one-day training class to teach how to use our product. In the printed material, I left both conditional text types visible (they are colored in the PDFs), so that you can see both the “cooking show” version, in which the users would open several projects to avoid performing repetetive tasks, and the “self-paced” version, which can be used outside of the class, and which includes all of the steps required to go from beginning to end in a single project.

Who needs paper, anyway? (21KB) This is one of my few ventures into persuasive writing. We were planning to move our entire documentation set from dual paper and online documents, to strictly online documentation. I researched the topic of online vs. printed documentation, and wrote this counterproposal using both general industry information, and information specific to our user base.

Multimedia sample

Internal Installer for Modulant M*Workbench (400KB). One of the projects that I owned at Modulant was creating an installer for our application. Prior to the creation of the installer, users would need to copy files manually to their machines, and update XML files and create shortcuts on their desktops by hand. This multimedia sample was created using ViewletBuilder, from Qarbon.

Project management samples

Specifications. Much of the second half of my time at Modulant was spent creating specifications for feature requests. I would gather the requirements through meetings with scientists, compile that information into written specifications with mocked-up GUI layouts, and verify that information before passing them on to the developers. (Note: I am fairly informal in these specifications because I worked in a small, informal group, and was “writing to my audience.”)

Handshake.pdf (80KB)

UserManagement.pdf (168KB)

Programming samples

Management Module Prototype. I created a Java-based prototype of some proposed functionality for the Modulant M*Workbench application. I was given Visio-based layouts of screens, told how they all hooked together, and from that created this prototype (1.6MB). The prototype has most of the functionality enabled, but there are some buttons that, when clicked, do not do anything. Data persistence was handled with properties files, to keep the project simple.

To run this prototype, you must have the Java Runtime Environment or Java SDK installed on your machine. Extract the contents of the ZIP file and start the batch file run.bat.

Digester's Reader (download 1.3MB, see web site). I wrote this shareware application as a service to the members of the TECHWR-L mailing list (a list for technical writers). Digest subscribers complained that the number of messages per day (often exceeding 100) made reading the digest tedious, especially when only one thread was of interest. I created this application to parse through the digest and separate the threads, making it easier to read just those messages of interest.

After releasing v1.0, several users asked if I could make the application work with other mailing lists. I worked on that capability, as well as adding other enhancements, for v2.0. Over 35 people have requested demo keys (there are surely more users who haven't), and I have sold more than 30 licenses. I have received dozens of positive comments about the application.

Other programming projects

Cathedral of Praise Web Application. The Jakarta Struts-based web application at http://www.copsmallgroups.org allows visitors to the church web site to view the latest information about the groups that are available to them. The data is stored in a database, and the web application allows visitors to sort the content by group name, day of the week that the group meets, the start time for the group, and whether or not childcare is provided. They can search on text in the title and description, and can provide further search criteria in an advanced search page (by a combination of any of the following: type of group, day that it meets, time that it starts, time that it ends, and whether childcare is provided. (Note: As of 9/4/2005, this web application is being revamped for use for a special project, and does not have all of this functionality.)

The web application utilizes a MySQL database for the persistence layer, Tiles for the page layout/templating, and the built-in Validator library to automatically validate data entry on the back-end.

JSP-based Support Site Web Application. The web application for the support web site at CrossAccess provided password-protected access to two modules: one for customers, and one for administrators.

Customers could log onto the site to download the latest documentation and product software, to access the latest web-based version of the documentation (which provided a master index and full-text search across all manuals), and to view FAQs.

Administrators could log onto the site to upload new documentation and product software, to add users to the database and set their passwords, to specify when account access should expire per user, to generate various reports, and to send email to all registered users. They could generate reports that listed all accounts in the system and when their access to the site was set to expire, detail when each user had logged in, what each user had downloaded (so that they could verify that users have downloaded the latest software when they call the support line), and what FAQs they had viewed.

I completed this web application in approximately a week and a half, and can provide a WAR file with the code for review.

Page last updated April 13, 2006