EDWARD J. SEGALL, Ph.D.
409 Anthwyn Rd.
Narberth, PA 19072

esr01@edge-technical.com                             

                                Phone: (610) 668-0292


SYNOPSIS

Software Architect, Systems Engineer, Computational Scientist

 

Record of significant improvements to the speed, reliability, functionality, usability and maintainability of complex, highly concurrent, mission-critical systems and applications.

 

Demonstrated expertise in:

 

Performance optimization

Physical modeling/simulation

Scientific/numerical computing

Cloud/cluster/distributed/
parallel computing

Multithreaded/multi-process concurrency

Phased development and integration

Agile development             

Build/release processes

Configuration management

Fault-tolerant systems

Rigorous testing

Embedded systems

 

Domain experience includes: Environmental modeling, Geolocation, Global banking—
back-end processing, Interactive Television, Medical instrumentation, Personalized content, Rail Transportation, Real-Time Video Processing, Video-On-Demand, Wireless communications.

 


EDUCATION

Ph.D.

Rutgers University, Electrical and Computer Engineering

 

 

Research area: Scalable communication, fault-tolerant synchronization and programming language support for dynamic distributed and parallel systems.

 

M.S.

Rutgers University, Computer Science

 

B.S.E

University of Pennsylvania, Electrical Engineering

 

 


PROFESSIONAL HISTORY

R&D Consultant

Edge Technical Associates LLC,  1999-2000, 2002-present

 

Projects for client Sarnoff Corporation, now SRI International (2010)

 

NOVA project: Real-Time WAAS Video Tracking

Performance evaluation tools

·      Developed tool to generate track-oriented ViPER (Video Performance Evaluation Resource) XML from the tracklet-oriented XML output of NOVA, a real-time, wide-area, multiple-target video tracking system. Output is compatible with ViPER-GT ground-truth authoring tool and NIST F4DE (Framework For Detection Evaluations).  Started from a prototype developed by Sarnoff staff. Used C++, STL, BOOST, MSXML.

·      Developed and documented methods and workflows for using these tools.

·      Fixed bugs in real-time tracking system related to XML generation. As part of this work, fixed a track/frame alignment bug in tracking system by revising inter-thread and inter-process (MPI) communication (joint work with a staff member).

 

Field Exercise Support

·      Proposed and demonstrated using MATLAB a novel mechanism for scene-based Non-Uniformity Correction (NUC) of extinction artifacts in a shutterless, segmented image sensor.

·      Developed a tool (in awk) to select co-synchronous video frames from asynchronous segmented camera arrays. Used this tool to obtain usable video from samples that were available but unusable.

·      Proposed & set up Linux-based CIFS (Samba) server to work around speed limitations of Windows-based drivers that are available for reading high-resolution video data from ext3 RAID file systems. Used this server to make daily video drops from TNT10 field exercise available to team.

·      Road marking for EA10 and OA/DT3 field exercises.

 

Other

·      Ported tracker build environment to Windows XP x64.
As part of this work, found a fundamental application design flaw that must be fixed before upgrading to latest development tools, and that may be responsible for functional issues.

·      Wrote road marking guide.

·      Worked with other team members on a wide variety of build issues, concurrency problems, memory issues, and other problems.

 

Projects for client TruePosition Inc. (10/2004-12/2009)

 

U-TDOA Location ProcessingAccuracy improvements

·      Improved 95th percentile accuracy of TruePosition’s core location technology by 10%.

·      Co-recipient (with Chief Scientist and Senior Scientist) of TruePosition’s 2008 Invention of the Year award for this work. (Only non-employee ever to receive this award.)

·      Used C (Visual Studio 2005) for the programming portion of this work.

 

U-TDOA Location Processing—Reference selection

·      Led resolution of anomalous GSM reference selection metric values found in testing.

 

Coop Generation (Selection of Demodulating and Cooperating Receivers) Algorithms

·      Developed and verified coop generation algorithms for Distributed Antenna Systems (DAS).

·      Invented, developed and verified coop generation algorithms for UMTS and other air interfaces that use selective combining.

·      Resolved long-standing result inconsistencies among Solaris, Linux and Windows builds by revising core data structures. Developed tests that reproduced the discrepancies and verified the fixes.

·      Used C++/STL for development (Visual Studio 2005 for coding and unit testing, with gcc and Sun Workshop for cross-platform integration, testing and verification). Used Perl for generating test configurations, DOS scripting for testing, and Excel for analysis & communication of results.

 

Real-time resource scheduling

·      Invented, developed and verified load- and fault-tolerant scheduling method for LMUs (Location Measurement Units). Used C++/STL for development (VS 2005 for coding and unit testing, gcc for cross-platform integration, testing and verification), and MATLAB for visualization of results.

 

CGI+TA and E-CID location processing

·      System engineering, software design and implementation for multiple features and updates.

·      C++/VS 2005 (development, unit testing), gcc and bash scripting (cross-platform verification).

 

Simulation/Modeling

·      Improved Accuracy Prediction tool speed by 50X and halved memory footprint (made server farm obsolete). Improved robustness across multiple platforms. This tool has been used to successfully engineer nationwide networks and has brought in new business through proposal support.
As part of this work:

·      Ported to C++ a Java implementation of CBCA algorithm (fast cell-based polygon containment); found and fixed day-1 bugs (carried over from the Java implementation).

·      Using encapsulation and inheritance, integrated the C++ implementation into a related tool as a first step towards elimination of redundant code.

·      Made numerous stability improvements, bug fixes and feature enhancements in both tools.

·      Designed and developed (in C++) a domain-specific comparison tool for comparing related results, measuring their differences and formatting the differences for visualization.

·      System engineer and subject matter expert/internal consultant for accuracy prediction + related tools. Developed baseline reference results, test configurations and pass criteria for regression testing. Worked with QA department to address all discrepancies over multiple major releases.

·      Used MS Visual C++ for development and profiling (code is mix of C and C++), MapInfo for visualization, and DOS for scripting unit level tests.

 

Configuration/build/release management

·      Improved internal release process for library code that is incorporated into multiple system components and standalone tools.

·      Managed and performed release builds of those tools and release labeling of library code in coordination with SMLC team, SCOUT team and Release Engineering (ClearCase, Perl).

·      Managed branch/merge planning and implementation in coordination with TP CM lead; managed transition of those tools and libraries from Base ClearCase to UCM and back while multiple concurrent major releases and exploratory efforts were ongoing.

 

Standards

·      Contributed to 3GPP UMTS standard TS 25.111 Location Measurement Unit (LMU) performance specification; User Equipment (UE) positioning in UTRAN  via RAN4 work items.

 

Projects for other clients (3/2002-4/2005)

 

Scientific Computing Associates: Developed distribution-ready Microsoft Visual Studio .NET port of Unix TCP Linda parallel/distributed programming system (written in C) from Cygwin(GCC) / Windows prototype.

SevenEcho: Designed and developed core system architecture and initial implementation of Personal Media Director – a highly scalable system that includes a lightweight Flash client API, Java servlets and JSP and MySQL database, and Personal Narrative Toolkit (PNT), a lightweight version of the PMT suitable for individual developer use and installed using the Nullsoft scriptable installer system (NSIS).
Attained Microsoft ISV/Software Solutions Competency for the PNT.
Represented client through successful technical due diligence review.

IntelliTrans LLC (originally August Design, Inc.): Led multi-organization team converting STARR legacy railroad ERP system from iSeries RPG to workflow-centric, web-based (Java+JSP) interface. Led requirements elicitation; designed system architecture; designed interfaces to existing programs, database tables, EDI subsystems, and jobs; systematically improved application performance; acted as liaison to primary customer, original STARR developers, and host site’s developers. Used WebFacing tool, DB2/400.

Liberate Technologies: Redesigned and enhanced layout engine of set-top web browser (C/C++). Improved layout of images, tables, and text and brought into compliance with HTML 4.01 standards.

Other: “Smart building” energy technology development, including consultations, software/system architecture design, and evaluation of 3rd-party components.

 

Previous employment

 

Senior Software Engineer, Video-On-Demand (VOD) Server Products
Liberate Technologies, Inc. (originally MoreCom, Inc.)  Horsham, PA  2000-2002

·      Led integration of all 3rd-party VOD servers with Liberate's Connect Suite product line. To streamline integration, wrapped in easily reusable APIs the existing Java library interface to operations management system and the existing Perl installation/configuration library. Also fixed several long-standing regular expression bugs in installation/configuration utility routines.

·      Developed multithreaded, TCP socket-based Java client for nCUBE asset metadata publisher protocol; developed Java library and API that flexibly maps XML asset metadata from nCUBE, SeaChange, and other XML-based video metadata servers to VOD Gateway parameters.

·      Led video clip server development for Vidéotron Health project (C++).

·      Researched Java Virtual Machines for embedded systems and taught internal short course.

·      Actively participated in Integrated Services Architecture (ISA) standards working group.

·      Mentored junior members of engineering staff.

Senior Software Engineer, Greystone Group
Sanchez Computer Associates, Inc. (now FIS), Malvern, PA  1998-1999

Database internals development for proprietary GT.M parallel database engine (in C):

·      Analyzed new replication and failover features for potential impact to system performance and business continuity, resulting in several design and implementation refinements.

·      Designed and implemented ACID-safe, hard real-time transaction timeouts to enable controlled failover during long transactions.

·      Identified and eliminated concurrency hazards including race conditions, livelock, etc.  

·      Improved system performance, reliability and behavior during exceptional conditions.

·      Designed and implemented crash/recovery tests (in M/MUMPS and sh scripting) that led to the understanding and resolution of several long-standing bugs. This significantly improved database recoverability after failures.

Assistant Professor, Department of Computing Sciences and
Consultant, NSF I/UCRC Center for Advanced Communication

Villanova University    1996-1998

·      Taught undergraduate Algorithms and Data Structures courses in C and in Java.

·      Revised, taught graduate Distributed Systems,  Object-Oriented Design and Programming.

·      Led class-wide Rapid Application Development projects.

·      Closely supervised many M.S. independent projects.

Visiting Assistant Professor, Dept. of Computer and Information Science

University of Delaware   1995-1996 

·      Revised and taught graduate Discrete-Event Simulation and Programming Languages.

·      Taught undergraduate Algorithms and Data Structures in C and in C++.

Research project: "Distributed Computational System for Environmental Modeling", an NSF High-Performance Computing and Communications (HPCC) initiative Grand Challenge project:

·      Parallelized the Urban-to-Regional Multiscale Airshed air quality model (in FORTRAN and C), using task and data parallelism, network-optimized communication, application-dependent data distribution, and pipelined I/O.

·      Ported model to vector supercomputers, massively parallel processors, workstation clusters, and wide-area heterogeneous combinations of these systems.

·      Designed model verification methods that led to quick identification and resolution of errors.

·      Achieved highest regional air quality model performance ever reported as of that time.

·      Supervised staff and undergraduate programmers and managed tight schedules.


PRIOR EXPERIENCE

 

Software, firmware, and analog & digital hardware design, including real-time signal processing, medical instrumentation, robotics, and real-time optical measurement systems.

 


AWARDS, PATENTS, PUBLICATIONS, PRESENTATIONS

Recent:

·         Patent Applications No. 12/648,753 and 12/648,783, (filed Dec 2009), both titled “Cooperating Receiver Selection for UMTS Wireless Location”, with Simon Issakov and Rashidus S. Mia.

·         Patent Application No. 12/346,146  (filed December 2008), “Method for Position Estimation Using Generalized Error Distributions”. Inventors: Pete A. Boyer, Rashidus S. Mia, and Edward J. Segall
(Awarded TruePosition 2008 Invention of the Year).

·         TruePosition 3GPP RAN Working Group 4 contribution R4-070478, “Simulation Proposal for UTDOA LMU Performance”, Kobe Japan, May 2007, with Pete Boyer, Rashidus Mia, Ron Lefever.

·         TruePosition 3GPP RAN Working Group 4 contribution R4-070490, “Simulation Results for UTDOA LMU Performance”, Kobe Japan, May 2007, with Pete Boyer and Rashidus Mia.

Earlier:

Please see http://www.edge-technical.com/esegall-publist.html

 

 


SYSTEMS, LANGUAGES, TECHNOLOGIES

 

Programming Languages

 

Java / J2EE / J2ME, JSP, C, C++, STL, XML, Adobe Flash, Perl, Smalltalk, Eiffel, MATLAB, M/MUMPS, HTML, ADA, High-Performance FORTRAN (HPF, F90), Lisp, Pascal, Postscript, Prolog, RPG-IV, CL, and others.

Scripting, build

 

sh (Bourne shell), bash, csh / tcsh, awk, ant, make / Imake, and others.

Assembly Languages

 

HP (DEC) Alpha, HP RISC, IBM RS6000/PowerPC, Sun SPARC, others.

Performance Tuning

 

Intel VTune Performance Analyzer and other tools

Web Application Platforms

 

Apache Tomcat, IBM WebSphere, and others.       

Database access/Databases

 

SQL, JDBC, MySQL, IBM DB2/400, Sanchez/FIS GT.M (Mumps)—a highly parallel SMP database, and others.

IDEs

 

Microsoft Visual C++, Eclipse, JBuilder, NetBeans, MATLAB, Flash MX, Smalltalk-80, X-Windows, etc.

OS + Platforms

 

Single and Multi-processor UNIX and Linux, incl. Sun Solaris, IBM AIX, HP (Compaq/DEC) Tru64 UNIX, RedHat Linux and Cygwin. Also OpenVMS, Windows, SGI (Cray) T90/T3E supercomputers, Scientific Atlanta PowerTV.

Inter-process communication

 

TCP/IP socket-level programming, DCOM, CORBA, shared memory (various), message-passing (PVM/MPI), Linda, & others.

Source control

 

ClearCase (Base and UCM), Perforce, CVS, Visual SourceSafe.

Visualization

 

MapInfo, MatLab


Copyright 2002-2010 Edward J. Segall. All rights reserved. This document is expressly not in the public domain and remains the sole property of the copyright owner. Modification or abbreviation of this document without the knowledge, review, and express permission of the copyright owner is strictly prohibited.



Member number:7196
Additional Contact information is available on the Information Page.
Software Contractors' Guild (www.scguild.com)
Copyright(c) 1995 - 2011 Edward J. Segall, Ph.D. and Software Contractors' Guild, Post Office Box 257,Nottingham, NH USA 03290-0257