Dr. Bill C. Riemers

Home
Bio
Resume
Publications
What's New

coLinux
DjVu

Fun Stuff
Links
Private

Dr. Bill C. Riemers
Senior Software Developer - Project Leader
http://docbill.freeshell.org

 

S U M M A R Y

 

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.

 

 

E X P E R I E N C E

 

Red Hat Canada

Software Engineer; 12/2006-Present

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.

 

Foxtrot Technologies Inc. (Canada)

Software Developer & Architect; 02/2004-Present

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.

 

 

AT&T Labs

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


 

Foxtrot Technologies, LLC (USA)

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

 

 

Purdue University

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

 

 

P U B L I C A T I O N S ,   P A T E N T S ,   A N D  C E R T I F I C A T I O N S

Author of U.S. Patent 68.0242.
Publications list available at http://docbill.freeshell.org.
Red Hat Certified Engineer. 805007049427020

 

E D U C A T I O N

 

PhD - 1994: Purdue University, Lafayette, Indiana

BS - 1989: Western Michigan University, Kalamazoo, Michigan



S K I L L S    S U M M A R Y

 

Rating: Skill // Fluency // Experience
Fluency Scale: (least to most);  Beginner ~~ Moderate ~~ Intermediate ~~ Advanced ~~ Expert

 

SKILL

FLUENCY

EXP.
(YEARS)

SKILL

FLUENCY

EXP.
(YEARS)

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