Dr. Bill C.
Riemers
Senior
Software
Developer - Project Leader
http://docbill.freeshell.org
I have been designing and developing software professionally full time for 11 years, and part time for an additional 6 years. Although I am experienced with a wide range of technologies, I specialize in object-oriented solutions and prefer to work with Java and C++. My core skills include leadership, design, and programming. I am experienced as a manager, software architect, and software designer. 50% of my experience has been as an independent contractor and 50% as a direct employee for AT&T, LizardTech Inc., and Red Hat Inc. References are available upon request.
Specializing in object oriented enterprise and application solutions using Java (J2ME, J2SE, J2EE, JB, EJB, Spring, Hibernate, etc) and Perl.
Projects:
Command Center Port and Redesign (Senior Software Application Engineer)
Rewrote UI code for the Command Center hosted service. The original code ran under Solaris using Dynamo. Dynamic pages were rewritten as jsp, and the java code was rewritten using Spring, Hibernate and Weblogic. The service is now hosted under Red Hat Enterprise 4.
Command Center Software Scout (Senior Software Application Engineer)
Designed and developed a UI interface as a webmin module for configuring and provisioning a software scout. A scout is a dedicate machine that runs on a client's network to monitor services. Now customers install the software scout on their own hardware, rather than renting a scout from Red Hat.
Specializing in object oriented enterprise and application solutions using Java (J2ME, J2SE, J2EE, JB, EJB, etc.) and C++.
Projects:
Virtual VRU: (Lead Architect and Lead Developer)
Developed a virutual VRU for IVR applications to exchange call control messages with a Cisco ICM PG controller using JMS messages. The Java code used J2EE 1.3, and J2SE 1.4. The solution was developed in the Windows NetBean 4.1 platform, tested on the Windows Websphere 5.1 platform, and production deployed on AIX Websphere 5.1.
Transmission Stator Blade Design: (Lead Architect and Lead Developer)
Developed a GUI application for designing stator blades, displaying real time 2D and 3D views, analyzing, displaying analysis plots, displaying data views, printing, and exporting data to other applications used for designing automobile transmissions. The C++ code uses QT, Qwt, and QT VTK toolkits. The solution was implemented with MFC for Windows platforms. The code was designed to be portable to Linux and Mac OS X.
Java DjVu: (Lead Architect and Lead Developer)
Developed a pure Java Applet for decoding and viewing multi-page DjVu documents using J2SE, J2RE, and J2ME. Solution designed for Mac OS 9.2, Mac OSX, Red Hat Linux, Windows XP, and WinCE.
Software Developer; 08/1996-04/2000; 01/2003-01/2004; 07/2004-12/2004
Project team leader and member producing and delivering products, upgrading AT&T business units to new technologies, auditing code and providing performance enhancements
Projects:
United Airlines System Aircraft Maintenance Control: (Lead Developer and Lead Architect)
Fixing, enhancing, designing & developing a custom call service using J2EE, EJB, MSSQL 2000, and Web Logic servers.
Voice XML Application Development: (Project Contractor)
Designing & developing IVR (interactive voice response) applications using Voice Genie, Voice XML, Watson ASR (Audio Speech Recognition) with Web Logic servers, and Java servelets.
DjVu Software Development Project Leader: (Senior Technical Staff Member)
Led a project of eleven people designing, implementing, packaging, testing, releasing, supporting & promoting DjVu products.
· Designed & implemented compression server using C & MetaHTML
· Designed & implemented C/C++ SDK (AIX, HP-UX, Irix, Linux, Solaris & Windows)
· Wrote routines for importing BMP, TIFF, GIF, PostScript, JPEG & PNM
· Wrote code for rotations, mirrors, flips, up-sampling, down-sampling, and smoothing
· Extended DjVu format from a limit of 300 DPI to all resolutions below 400 DPI
· Repaired DjVu Linux plug-ins for Netscape
· Developed DjVu SDK code for fast rotation, variable scaling, black & white conversion, and contrast enhancements
· Promoted DjVu at conferences, trade shows and on the internet
Direct Ocean Web Site Development: (Senior Technical Staff Member)
Designed & implemented a web-based administration site to track ships' telecom while at sea involving tracking of installation, operations and connectivity using a GDBM database.
· Provided users real-time query/update report generation in HTML, PDF & CVS
· Designed & implemented project using MetaHTML & JavaScript
· Added support for web-based uploading files, administration & sorting of tables
Zenith Queuing Engineering Assessment
Designed & planned back-end queuing system for messages to be transported reliably and with accountability to and from a Tuxedo object broker system
Easy Link Services Centralized Worldwide Network Data Collection
Led a project of two people designing and implementing automatic log file collection.
· Designed configuration files for daily one-time polling per individual station
· Wrote a simple XML parser for queuing files
· Created crontab script to transfer files using the existing RCP program
· Rewrote existing RCP program & rshell daemon for error correction & security
· Wrote a program to track files & transfer of remaining files
Easy Link Services Data Warehouse Design
Led a project of two people designing a data warehouse for central access, distribution & analysis of collected data on a worldwide network.
Easy Link Services Performance Enhancements, Porting, and Auditing: (Contractor)
Led a project of two people auditing the Easy Link Services worldwide network performance, resolving performance problems & porting software to Solaris.
· Profiled hardware, file systems, software architecture for Easylink's 3B2 & Stratus machines
· Rewrote code to improve reduce process overhead
· Rewrote daemons such as uucico to default to larger block size protocols
· Resolved customer's network performance problem crisis
LizardTech Incorporated
Software Development Manager; 04/2000-02/2002
Led a team designing, developing, internationalizing and maintaining Document Imaging SDKs, ActiveX controls, COM interfaces, Netscape Plug-Ins, command line tools and other projects in C++ for Windows, Windows CE, Unix, Solaris, Linux and MacOS platforms.
· Provided expertise in technology which was purchased from AT&T by LizardTech
· Developed WinCE viewer, QT 3.0 viewer/editor/compressor & Active-X controls
· Internationalized the code base & produced localized versions
· Created XML tools for viewing & modifying hidden text & annotations
· Added OCR plug-in & modularized other libraries
· Added additional import/export formats & software registration security
· Converted Netscape plug-in to an Active-X control
· Improved plug-ins (Netscape & IE), command line compressors, SDK, GUI editor/compressor
· Optimized code & file format
Software Architect; 09/1995-07/1996; 02/2002-12/2002
Wrote custom C, C++, Java programs and perl, shell, awk scripts
Projects:
Java Prototyping
Customized Java applets and C++ programs for diverse types of applications.
Custom Programming
· Enhanced MAJORDOMO performance by a factor of 1000 to improve response times
· Created remotely customizable email responders
· Created software for managing virtual host: network, DNS, sendmail & Apache configurations
Research Assistant; 08/1989-08/1995
Performed high energy physics experiment, performed analysis, wrote papers, and wrote software for hardware control, data collection, data reduction, data analysis, data storage, data presentation, and data simulation.
Projects:
Fermi Lab Scintillating Tile Fiber Tests; Chicago, Illinois
· Developed Fortran software for analyzing data from cosmic ray detector including generating color GIF images from various detector locations
· Proved detector worked better than designed through my data analysis
CERN L3 Experiment Programming; Geneva,
Switzerland
· Wrote my own fitting & cutting routines for my PhD thesis research on the L3 Experiment
· Developed routines to read and update a high voltage database for the drift chamber
· Developed a di-muon event summary format reducing storage by a factor of 100
· Wrote an interface library to neural net program JETNET merging MINUIT
· Converted event reconstruction code for single detector use in cosmic ray testing
· Wrote various AWK & C programs for finding/mounting/running analysis on EXA-Byte tapes
· Updated High Voltage programs & related documentation
OS-9 Software Development
Programmed a library of graphical displays for Tectronics terminals.
Physics Instructor; several terms
Taught as a guest lecturer and graduate teaching assistant, including physics recitations & labs for static physics, modern physics, kinematics & electromagnetism.
Additional Software Development
Projects:
CoLinux – Cygwin Tools; 05/2004 – Present
· Developing cygwin and Linux tools for running Linux under Windows with coLinux.
DjVu.SourceForge.net; 08/2000 – Present
· Established a DjVu SourceForge project for open source development
· Provide C++ open source viewers, decoders and simple encoders
· Added an XML support
· Ported configuration script and source to build under CYGWIN
GNU Programming; 01/1993-05/1993 & 08/1994-11/1994
· Distributed Linux by mail, at cost, in a successful campaign to reduce commercial distribution prices
· Maintained and improved TERM, a program establishing TCP-IP connections across a shell login
· Wrote a replacement C library functions with TERM support
· Added UDP-IP support, shared library support & smart compression to
· Wrote TERMIFY to eliminate recompiling for TERM support
· Wrote BCRMailHandler in C & modified VGASET to work with ATI & other graphics cards
· Wrote A2GS, an ASCII to postscript converter with an undo option
· Alpha & Beta tested GNU programs including patching bugs & adding features
Author of U.S. Patent 68.0242.
Publications list available at
http://docbill.freeshell.org.
Red Hat Certified Engineer. 805007049427020
PhD - 1994: Purdue University, Lafayette, Indiana
BS - 1989: Western Michigan
University, Kalamazoo, Michigan
Rating: Skill // Fluency // Experience
Fluency Scale: (least to most);
Beginner ~~ Moderate ~~ Intermediate ~~ Advanced ~~ Expert
FLUENCY |
EXP. |
SKILL |
FLUENCY |
EXP. |
|
BUSINESS |
|||||
Budgeting |
Advanced |
7 |
Business Plan Writing |
Intermediate |
5 |
Project Leadership |
Expert |
7 |
Workflow Analysis and Design |
Expert |
7 |
HARDWARE/INFRASTRUCTURE SOFTWARE |
|||||
DEC VAX |
Moderate |
2 |
HP Openview |
Intermediate |
3 |
MacOS (Macintosh) |
Moderate |
1 |
Microsoft Windows 95/98/ME/CE/NT/2000/XP |
Advanced |
5 |
Sparc |
Advanced |
4 |
UNIX (3B2, AIX, DomainOS, FreeBSD, HP-UX, Linux, SGI Irix, Stratus, Solaris, SunOS, TitanOS) |
Expert |
14 |
NETWORKING AND SECURITY |
|||||
Firewall |
Expert |
7 |
Network Administration |
Advanced |
7 |
Network Architecture/Design |
Advanced |
7 |
Network Protocols (DNS, DHCP, FTP, HTTP, LDAP, NFS, NIS, POP3, PPP, SAMBA, SMTP, SSL) |
Advanced |
7 |
Socket Programming (TCP-IP, UDP) |
Expert |
11 |
SSH (Secure Shell) |
Expert |
4 |
Web Servers (Apache,WebLogic,...) |
Advanced |
7 |
VPN (Virtual Private Network) |
Advanced |
3 |
SOFTWARE DEVELOPMENT |
|||||
Assembly Language |
Intermediate |
3 |
CVS |
Expert |
8 |
DLL Development |
Expert |
5 |
Graphic Design |
Intermediate |
7 |
User Interface Design |
Advanced |
7 |
GUI Development |
Advanced |
3 |
Java (J2ME,J2SE,J2EE,JSB,JB, EJB,WebLogic) |
Advanced |
5 |
LISP |
Moderate |
2 |
Microsoft Visual Studio |
Expert |
6 |
Multi-threaded/Multi-process Programming |
Expert |
11 |
OOA/OOD/OOP (Object Oriented Analysis/Design/Programming) |
Expert |
7 |
Pascal |
Moderate |
1 |
PostScript |
Intermediate |
8 |
Programming (C,C++, Fortran) |
Expert |
13 |
UML, Rational Rose, BC4J |
Advanced |
4 |
Real-Time/Embedded Systems Development |
Advanced |
7 |
Scriptwriting (Awk, Bourne Shell, C-Shell, Korn Shell, Perl, PHP, ...) |
Expert |
14 |
Web Design (CGI, DTD, DHTML, HTML, JavaScript, MetaHTML, XML) |
Advanced |
12 |
SOFTWARE DEVELOPMENT TECHNOLOGY |
|||||
ActiveX |
Intermediate |
2 |
ATL (Active Template Library) |
Intermediate |
1 |
COM |
Intermediate |
2 |
Software Imaging - Graphics Formats/Transforms |
Expert |
7 |
IVR (VoiceGenie,VXML,Watson ASR) |
Advanced |
1 |
IPC (Inter Process Communications) |
Expert |
11 |
MFC |
Advanced |
4 |
Microsoft Win32 API |
Expert |
5 |
RDBMS (GDBM,Oracle,MySQL,PL/SQL) |
Intermediate |
3 |
STL (Standard Template Library) |
Moderate |
1 |
X Windows/QT Development |
Advavced |
3 |
|
|
|