Catherine A. Segedy
To Send Email
125-B Old Derry Road, Londonderry, NH 03053
(603) 845-0018 (OK to leave message)
I have a broad range of Software Development experience. A solid background in embedded applications, middleware, client/server applications, multi-threaded applications, and compilers, along with GUI design in a number of different environments, has made me a valuable resource. I have a very strong C/C++ background, on both Linux and Windows. My background in client/server as well as multi-tasking and parallel processing lends applicable experience to multi-tiered and distributed solutions. A number of other technologies have also made their way into my list of accomplishments.
- M.S. in Computer Science - Boston University
- B.S. in Mathematics and Computer Science - University of New Hampshire
- June 2005 - Sep 2005 — J2EE Programming course (Java Passion)
- Spring 2017 - Robotics Design course - MCC
Computer Languages and Tools:
Unix (Linux, Embedded Linux, FreeBSD, CentOS, TRU-64, Digital Unix, SunOS/Solaris, and assorted older Unix varieties), Windows, MacOS, iOS, pSOS+, VMS, MS/DOS, proprietary.
Alpha, Sun, VAX, Macintosh, PPC, Playstation 2, Nintendo, HP9000, Pentium/80x86,
Intel i860 based workstation, SGI, AT&T 3Bx, Pyramid 90x, various vector processor
boards, array processors, Alliant Parallel Processing systems, and clients' prototype
April 2017 - Oct 2017 - (contract) The Weather Company, an IBM Business, Andover, MA
- Changed weather map editing software to use a different database schema. (C++, PostgreSQL)
- Added new storage format to a program that processes various weather phenomena over a grid. (C++)
- Ported large body of legacy software from an older version of Linux (and compiler) to newer version.
- Added ability to display output of some Python programs.
- Various bug fixes to weather map editing software. (C++)
- Explored possibility of moving a body of code from 32-bit to 64-bit Linux, reported estimate, possible
problems and recommendations.
May 2012 - Present -(contract, then perm, then temp) Beacon Power LLC, Tyngsboro, MA
Major contributor to the redesign of a software program for controlling portions of a flywheel energy storage plant to support a new product line.
Wrote small C# program to transform data from one format to another.
- Wrote C++ class to interface with a temperature sensor, to extract information from it over Modbus.
- Updated existing MATLAB program that extracts data from a data historian and creates PDF graphs of the information.
- Major contributor to several software programs used for controlling a 20MW flywheel energy storage plant.
- Restructured large section of C++ program to make use of polymorphism, to deal with a number of different input RTU devices.
- Wrote class to access information from a metering device via Modbus, and make use of that information in a variety of ways.
- Designed and developed GUI for monitoring and controlling smaller flywheel installations.
- Created a Linux service style of program to communicate with GUIs and allow some control of the main software on the Linux machine without the need for the user to have access to the Linux operating system.
Feb 2016 - Mar 2016 - (contract) TrackBlue, LLC.
- Added ability to detect a button press, and to light an LED.
- Set up ability to turn on and off an access point.
- Added ability to configure various things via web page.
- All tasks done on an ARM-based embedded Linux sensor device.
Feb 2013 - Mar 2013 - (contract) Doyle Web Development
- PHP programming and MySQL work prototyping rework of an online offering
Nov 2012 - Feb 2013 - (contract) Ksit, LLC, FL, (via EnkiLabs, MA)
- Set up virtual server on EC2, ported PHP code to it.
- Added new features to PHP server code supporting iOS client application.
- MySQL database support and new tables for PHP/iOS application
Apr 2010 - Oct 2011 - (contract) Beacon Power Corp, Tyngsboro, MA
- Modified two software programs for controlling portions of a flywheel energy storage plant, adding new features as well as bug fixes. Work involved multi-threading, mutexes, communication with embedded devices over both TCP and Modbus, C/C++, Linux.
- Added enhancements to a GUI which monitors portions of a flywheel energy storage plant. (VB 2010, using TCP/IP).
- Evaluated 2 data historian packages, creating VB and C++ demo programs.
- Created web-pages for viewing and altering XML files. (PHP/HTML/XSLT/apache)
- Created a new GUI for monitoring a new flywheel energy storage plant.
- Designed and implemented a web-based GUI involving Silverlight and a WCF service running on IIS. The WCF service served up information from an SQL database. Preliminary prototypes involved ASP.NET and a web service.
Nov 2009 - Apr 2010: (part-time contract) 7-128 Software, LLC, Salem, MA
- Development on iPhone application. (iOS, MapKit, audio, web, Locations, sqlite3)
Jul 2008 - Jan 2010: (contract) Tufts University, Dept of Geology, Medford,
- Re-implemented 3 GUIs while porting 3 programs from SGI to Macintosh platform.
The rewrite involved moving from ViewKit-based GUIs written in C++, to Macintosh-based
GUIs written in Objective-C. The GUIs used OpenGL as well.
- Ported 3 Fortran programs from SGI to Macintosh. (Back-end to the above-mentioned GUIs)
Apr 2007 - May 2008: (contract) Venture Technologies, Inc., Billerica, MA
- Made enhancements to a product with 3 main components: an embedded controller running
eBSD, an ad-display component, and a database with web interface. Integrated a crystal
display into the main controller software, and made updates to the controller software,
using C++. Enhanced the database and web interface, using PHP and Flash. Updated the
communication software between the components, using C++ and involving SSL.
- Designed and wrote a Java front end to a communications system, for tracking
and enabling conversations between communication devices. Work involved J2EE
(Java 5), EJB3, and JBoss.
Mar 2006 - Mar 2007: (contract) John Deere Agri Services, Peabody, MA
- Database design using Sybase's Power Designer.
the database engine, and XML for information and message passing.
- Changed C++ data-conversion program API, and interfaced it with the ordering system.
- Evaluated a number of C++ programs which manipulated graphics, made recommendations
for their improvement and implemented those improvements
Feb 2006 - Mar 2006: (contract) 7-128 Software, LLC, Salem, MA
June 2005 - Oct 2005, also Jan 2006: (contract) Avocent Corp. (via Encompass Corporation), Chelmsford, MA
- Extended GUI for threaded, real-time video viewer for KVM appliance
using Gtk+, referencing previous versions written in Java and ActiveX.
Appliance runs Embedded Linux. The GUI communicates via TCP/IP to a program running on the appliance.
- Bug fixing on video viewer written in Java.
Nov. 2004 - Present: EnigamI, Inc., Londonderry, NH (also see May 1989 below)
- Web development for numerous client sites. Work done in HTML, CSS, PHP, MySQL.
- Upgraded Linux servers as needed.
- Ongoing network and server maintenance.
- Accounting and other activities involved with running a business. (I own EnigamI, Inc.)
May 2004 - Oct. 2004: (contract) Winter Harbor Software, Epsom, NH
- Worked with two other engineers on the GUI front end for a
hardware device. Work was done in Visual C++ . Communication
with the hardware device used SOAP. Used Xerces-c to implement
some XML based settings files.
- Also did a small task involving Axis-C and WSDL processing.
Dec 2003 - March 2004 (contract via KC Consultants): Blue Cross Blue Shield, Kansas City
- Designed JSPs and Java Beans for insurance company to track
information about presentations and customers. This was part
of a large web-based solution involving many people. Work was done
SQLserver, Java Beans, and Tomcat.
- The project also involved DotJ and other taglibs. This was an N-tier system. I worked mainly on the thin client and the JSPs, the EJBs and the business logic.
June 2003 (contract): NewCastle Software, Portsmouth, NH
- Technically reviewed several software projects and gave recommendations
as to how to proceed. Developed project plan.
- Ran tests on some Java code using JUnit.
- Debugged a threaded, Java-based code framework and fixed
July 2002 - Nov 2003 (contract): 7-128 Software, LLC, Salem, MA
- Added new functionality and user interface to an existing Java
application, to create a new product offering. (Java, Windows,
Linux, Swing, XML, JBuilder)
- Wrote a Java program to test a package for accessing XML files.
(Java, Windows, Linux, XML)
- Provided system administration services for store-front website. (See EnigamI, Inc., below)
July 2001 - Jan 2002 (contract): Metrowerks/Motorola, Woburn, MA - Performance Tools group
- Implemented thread, process, and mutex routines using Linux operating
system routines, coding to an API shared by other operating systems.
- Made modifications to performance analysis tool which manipulated
ELF code. (Sony Playstation 2, Nintendo, Linux, C++, C, Unix Tasking,
- Set up a multi-platform build system, (Make, Perl, Windows, Linux)
Aug 1998 - June 2001 (contract): Compaq, Nashua, NH - Tru64 dev. environ.
- Linker for TRU-64 UNIX. Added new features, fixed bugs, some of which also
involved debugging in the kernel space.
- Post-link optimization tools. Added features to, and fixed bugs on
several post-link optimization tools.
- Bootlinker - this is a program which links a kernel at boot time, on
the fly. Fixed bugs on this program.
July 1992 - Aug 1998 (perm): White Pine Software, Inc. , Nashua, NH
- Project Lead, Team Lead - CU-SeeMe video conferencing client for Macintosh Team
- Project Lead, Team Lead - Mac3xx product suite
- Development on video conference server software, focusing on realtime
- Wrote API to interface 3rd party software to existing data transport
mechanism in video conferencing client software.
- Converted the Audio Subsystem portion of a Macintosh video
conferencing client from C to C++.
- Incorporated new Macintosh SoundManager functionality and QuickTime
Audio components into a video conferencing client
- Designed audio error correcting scheme, to deal with the problem of
audio packet loss when communicating over the internet. (Macintosh,
Windows95, WindowsNT, Metrowerks C++, VisualC++)
- Debugged interrupt level code and XTI-streams code to determine
problems with packets being transferred over UDP.
- SQA on video conferencing software
- Designed and implemented enhancements for several versions of VT
series terminal emulators on the Macintosh using MPW C:
- Rewrote and enhanced printing capabilities.
- Added new VT340 functionality to allow VMS programs which used
VT340 functionality to be run over the terminal emulator properly.
- Added AppleEvents to allow other processes and scripts to
automate some aspects of a telnet session.
- Enhanced REGIS and Tektronix graphic emulation engines.
- Enhanced File Transfer capabilities (FTP, Kermit, Xmodem, Ymodem).
- Fixed bugs in an HTTP server written in C++.
- Ported, Integrated, and Enhanced add-on product for x-platform
X-server (eXodus). Product enabled eXodus to run over a serial line.
(Windows 3.1, NT 3.x, Macintosh, C, Unix, VMS, Visual C, MPW C)
- Designed and Redesigned portions of the UI for various
Macintosh Internet products.
Apr 1991 - June 1992 (perm): Alliant Computer Systems, Littleton, MA -Languages
- Designed and implemented FORTRAN-90 specific compiler optimizations.
(C, Alliant fx/2800, Concentrix, Intel I860, SysV Unix)
- Designed FORTRAN and C extensions to take advantage of a Massively
Parallel Processing architecture.
- Added FORTRAN-D extensions to FORTRAN front end.
(C, Alliant fx/2800, Concentrix)
- Performed extensive maintenance on C and FORTRAN compilers.
- Analyzed and optimized performance of compiler-generated assembler
language. Work was done in a proprietary intermediate language.
- Designed and implemented changes to the FORTRAN and C compilers to
emit debugger code in conformance with Unix International's DWARF
specification. (C, sysV Unix, Intel I860)
- Enhanced several compiler and developer tools.
May 1989 - Nov. 2004: EnigamI, Inc. - Londonderry, NH (also see Nov. 2004 above)
- Web page design.
- SQA on voice recognition software.
- System administration on network of Linux, Windows, and Macintosh
machines, including all tasks associated with domain and web
page hosting on the Linux machines.
- Random tasks associated with running a business. (I own EnigamI, Inc.)
Jan 1989 - Apr 1991 (perm): CSPI, Billerica, MA - Compiler Grp, System SW Grp
- Participated in the specification process for vector processor board
product line based on Intel's i860 chip.
- Designed, specified, and implemented Remote Procedure Call (RPC)
capabilities for i860 products. (C, Fortran, I860 assembler, Unix, DOS)
- Designed, specified, and implemented routines to access VSB bus and
clock on daughterboard card.
- Redesigned and re-implemented trap handler for line of i860 based
vector processor boards.
- Ported trap handler to the RTS-860 array processor running pSOS+.
- Redesigned and implemented DMA code to properly deal with cache
coherency and external interrupts for I860 based boards running on
Sun, HP/UX, and MS/DOS systems.
- Wrote device drivers for i860-based vector processor board on
SunOS/Solaris, and HP/UX.
- Improved performance of vector processing libraries by optimizing
I860 assembler language routines.
- Developed parallel I/O package for MAP4000 array processor,
including interface to parallel debugger. The code was developed in
Fortran, and interfaced the MAP4000 Fortran output to the VMS Fortran
program which was running in parallel with it, allowing for parallel
- Enhanced the GNU C/G++ compiler to produce code for the MAP4000
- Worked on a tar utility and simple shell for RTS-860.
- Researched Parallel, Distributed, and Dataflow languages for
engineering department and management.
May 1984 - Dec 1988 (perm): GSG, Inc., Salem, NH - Engineer, Sys Admin. Systems
- Integration of a large scale telephony system to a new proprietary
Unix-based telephone switching machine.
- Coordinated and worked on the development of a portable Ada
compiler. (Vax/VMS, Vax/4.3 BSD Unix, AT&T 3.1 & 3.2, SysV Unix,
SCO Unix and MS/DOS)
- Implemented low-level runtime code.
- Enhanced the back end.
- Enhanced the symbol-table code.
- Helped debug tasking, the I/O package, and other areas.
- Implemented code to access modem to send and receive Telex messages.
Interfaced this to Unix Mail for message delivery.
(C, Vax, 4.2/4.3 BSD Unix, sendmail)
- Designed and implemented a user interface for a telephony system.
(Informix, 4.3 BSD Unix)
- Designed and developed a Graphical User Interface for a system
analysis package. (Pascal, MS/DOS)
- Ported a variety of UNIX tools to UNIX and MS/DOS platforms.
- SQA on Ada Compiler.
- Employee of the year two times, received early promotion.
July 1983 - May 1984 (perm): Atlantus Systems, Portsmouth, NH - Software Engineer
Developed Math library for a shell interpreter. (C, MSDOS)
Developed assembly language parser written in C on an MS/DOS platform.
Developed an assembler macro pre-processor. (C, MSDOS)
Other useful Experience:
Manual reviews, manual writing, have written articles for non-technical newsletters,
have helped edit and proofread a different non-technical monthly newsletter
for approximately 6 months.
Copyright © 1983-2017 Catherine Segedy. You may freely copy this document
as a whole, for the purpose of reviewing it for potential jobs or contracts.
However it may not be modified without the written consent of Catherine Segedy.
It also may not be included on any CD, DVD, book, newsletter, web site or
other published work without the written consent of Catherine Segedy. This document
must be kept intact.
This site is Copyright ©1998-2017 by EnigamI, Inc., all rights reserved.
If you have problems with this site, please contact us here: ContactUs