Owner, Digital Maddox LLC
July 2020 to Present
Spatial Networks, Inc.
March 2018 – June 2020, Senior Data Engineer
- Perform manipulation and maintenance of geospatial data using local PostgreSQL instances and Amazon’s RDS.
- Researched and developed a system that uses machine learning to process natural language from news articles, disambiguate their locations, extract individuals, organizations, and dates, and store it in a geospatial database so that it can be queried in a GIS or normal database queries.
- Developed a computer vision system using OpenCV and deep learning to perform object detection on a large database of photographs. This data was then made searchable by a GIS or other methods to provide rich metadata on the content.
- Developed a machine learning system that ran on an Amazon GPU-based instance to identify PII stored in a database.
- Implemented a function using AWS Lambdas that used Rekognition to identify scenes and objects in passed-in images.
- Developed a computer vision system that could identify and count individuals in video feeds.
- Leading the implementation of SOC2 preparations for the company.
- Manage information security for the company.
- Perform internal penetration tests and software security audits.
- Let go due to corporate restructuring.
December 2016 – March 2018, Senior Knowledge-Base Team Lead
- Team lead and lead developer on two US Navy systems of record.
- Mentor staffs on modern software engineering methodologies.
- Introducing tools such as virtualization into the organization to better perform development activities.
- Re-architect government systems to use modern frameworks such as Yii2 to increase performance and decrease development times.
- Work with government program managers to migrate their systems to a US Navy hosting platform for better uptime and to reduce IT and IA workloads on the development team.
- Update the use of configuration management tools to include use cases such as release branching and a wiki to store project information.
Apogee Research, Incorporated
June 2015 – December 2016, Senior Research Engineer
- Perform research and development activities for DARPA in various computer science areas.
- Evaluate technologies for research potential in the areas of computer security and information assurance.
- Team lead for development and evaluation.
- Mentor junior staff in development methodologies and best practices.
- Create embedded test systems using hardware such as Gumstix and distributions such as Yocto for testing on an automated malice-finding government program.
- Perform software reverse engineering of performer tools for evaluation and performance.
- Create tools to perform forensic analysis on embedded file systems such as bitwise comparisons to gold images.
Zekiah Technologies, Inc.
December 2013 – June 2015, Senior Associate
- Mentor and appraise junior staff in the company.
- Serve as team lead of staff on-site at the client installation.
- Lead and assist in development of government and commercial proposals.
- Serve as senior software engineer and subject manager expert for the US. Navy.
- Develop and enhance a C# Silverlight-based system that manages and tracks alerts from numerous network and server monitoring systems for various Department of Defense commands.
- Develop and maintain a C# Silverlight-based requirements gathering and test database system for the government.
- Refactor and enhance existing software systems to meet government security standards using code analysis, profiling, and other related tools.
- Research and develop proof of concepts for moving Navy Silverlight systems to OpenStack-based clouds using PostgreSQL as the database back-end and the Ozone widget framework for the user interface.
- Researched and developed a potential commercial system for GIS services that can run on Amazon Web Services (AWS) or local public/private OpenStack clouds. Created test VMs for Glance and a simulated OpenStack server using Linux KVM guests. The system uses the same API so it can run either on AWS or a local system such as a NetApp FlexPod. Discussed testing with the State of Maryland as well as partnering with the OSGeo foundation.
- Develop reports for senior staff at the Department of the Navy as well as the Defense Information Systems Agency on emerging technologies and ways to upgrade/replace existing systems. Investigated strategies for using modern commodity geospatial data to more quickly update the war fighter.
- Report on how technologies such as Cloud computing could be used to augment geospatial systems with multi-modal data from other agencies.
- Left due to contract funding reduction and no open positions to transfer into.
Conscious Security, Inc.
May 2012 – October 2013, Senior Computer Scientist
- Created modified Red Hat Enterprise Linux (RHEL) 5 and 6 installations for the USMC and NSA that automatically installs servers that are fully DISA STIG compliant using the RHEL Kickstart system.
- Developed internal software for production that interfaces with US Government CAC cards and other authentication devices. System used a SQL Server back-end on Windows Server 2008.
- Developed an identity and access management system using RHEL Servers running Oracle software to create system that can federate with others such as Microsoft’s Active Directory. Configured test servers to interact with this system.
- Created a FreeIPA system for demonstration and testing on USMC projects. This stack used the 389 LDAP Directory server, MIT Kerberos, NTP daemon, BIND, DogTag Certificate System, and others to create an Open Source identity management system.
- Developed project proposals for the USMC to finish a controversial project that involved another contractor who had developed a non-functioning global identity management system.
- Performed computer forensics work and business development to grow a successful forensics business for the company.
- Developed proposals for government work.
- Laid off in October 2013.
The Boeing Company
August 2011-May 2012, Project and Technology Manager
- Managed the internal R&D program for the Geospatial Intelligence Program.
- Planned technology road maps for the program to go from a traditional desktop processing system to a Hadoop-based system, where desktops are virtualized using KVM and VMWare hypervisors and submitted processing jobs to the Hadoop back-end via extensions written for ESRI’s ArcGIS as well as newer Open Source solutions.
- Led the development of innovative technologies for proposals and future programs.
- Evaluated technologies for proposals covering the innovation theme.
- Led efforts to implement more advanced technologies for geospatial data production, such as cloud processing and emerging technologies such as servers with multiple graphics processing units (GPUS) to speed raster and vector processing.
- Designed and implemented test systems using OpenStack, NetApp Flexpod, and EMC vBlock stacks. Configured the systems to use OpenStack services to spool up VMs on demand to provide a proof of concept for cloud-based geospatial processing.
- Designed and implemented OGC web service harvesting to use as updates for foundation GEOINT layers.
- Advanced technologies dealing with semantic processing for social media and its use in geospatial analysis (sentiment analysis, location identification, and presentation as foundation GEOINT layers).
- Tested Boeing eXmertius hardware walls and Cisco network devices in a simulated Cloud setup to test the concept of multiple security levels in one architecture.
- Develop white papers and other reports for the National Geospatial-Intelligence Agency as well as senior Boeing management to influence direction in directly harvesting social media data and using it to more quickly update existing geospatial repositories.
- Left as my government contract had expired.
Federal Bureau of Investigation
March 2010-August 2011, Supervisory Information Technology Specialist
- Managed a combination of Federal direct reports and contract employees at multiple sites to support the FBI’s International Network Infrastructure.
- Worked trouble tickets on Cisco routers, switches, and appliances such as the Cisco Network Access Controls to resolve issues as they arose.
- Developed employee performance plans and provided bi-yearly performance appraisals.
- Mentored employees and provided coaching when necessary.
- Served as the Duty Officer Manager for critical incident response. Managed and resolved numerous critical incidents affecting field offices, legats, and FBI HQ. Wrote recommendations to FBI leadership for changes in IT policy that resolved chronic issues found, such as misconfiguration of anti-virus software and network right-sizing.
- Worked on a CIO-level team with IT Engineering to roll out HP monitoring tools across the Bureau’s global enterprise to provide better alerting and faster resolution of issues. The system monitored server and network resources and used the reports to recommend operational changes.
- Developed process plans and service level agreements with other Units for reliability and incident management.
- Served as incident manager to assist in resolving issues with various sites.
- Worked with staff to develop new procedures and training for technical skills enhancement. Set up virtualized instances of Cisco devices using the GNS3 emulator to mirror deployed instances for testing and training.
- Developed reporting and metrics for senior staff.
- Have an active TS clearance with full-scope polygraph SCI.
- Left due to unit being outsourced and disbanded.
June 2008 – March 2010, Associate / Senior Computer Scientist
- Mentored, managed, and appraised junior staff working on site.
- Designed and implemented large-scale network-attached storage systems with Windows XP, Vista, Fedora, and CentOS, managing a clustered GFS-based file server running on Dell and HP rack-mounted servers. Each workstation was connected to the file share using Brocade fiber switches for direct access to the data.
- Deployed Cacti to monitor all equipment in the lab, including the rack-mounted servers, Brocade switches, Cisco network devices, and APC UPS equipment.
- Deployed a mail system using Sendmail for internal lab email, Netscape LDAP for directory services, and BIND for DNS. Implemented a round-robin DNS system for load balancing of the file server nodes for client systems.
- Implemented a Puppet system to create virtual machines (VMs) on demand as well as configure bare-metal systems. Both used RHEL’s Kickstart mechanism.
- Created virtual machines on Xen and KVM to spool up on demand for forensic processing.
- Used Open Source Software and commercial tools such as Access Data’s FTK to perform advanced forensics on IT evidence.
- Served as a technology expert in hardware and software for the unit, including cryptography, image processing, operating system concepts, and other related areas.
- Performed systems engineering and troubleshooting as necessary to ensure that the unit servers and workstations were performing optimally. This included life cycle work of inception, planning, designing according to business practices, proposing, and implementing.
- Developed new and innovative techniques for cryptanalysis and forensics tasks using distributed processing and other methods.
- Led special projects to automate areas such as analysis of images for steganography.
- Worked with government and contract staff at multiple levels to ensure that systems and work further the mission of the organization.
- Worked on proposal development within Booz Allen and assisted the FBI in developing proposals for procurement and new work.
- Performed software reverse engineering and vulnerability assessments of desktop and Internet applications through a variety of techniques.
- Resigned to return to Federal service.
April 2007 – June 2008, Senior Software Engineer
- Served as Principal Investigator and Project Manager for government sponsor projects within the Department of Justice.
- Presented to and coordinated with senior management at the sponsor and at MITRE on information and project management activities.
- Developed geospatial technologies using software from ESRI and Google for GIScience research and development.
- Performed systems engineering to design and implement Web-based systems providing access to large databases and performing analysis to GIS data. Systems used ESRI web service front-ends and Oracle back ends running on Solaris to store data.
- Created a system that used a LAMP stack for creating text-based directions from GPS tracks. System used MySQL’s spatial extensions and provided fail-over capabilities for storing coordinates and generating text.
- Followed DoJ standards and ensured that they are enforced regarding procurement, security, and hardware life cycle management for databases and web servers.
- Documented and managed systems throughout their life cycle.
- Researched and developed automated techniques to find patterns within geospatial data.
- Left due to government contract expiration.
National Geospatial-Intelligence Agency
August 2006 – April 2007, Project/Computer Scientist
- Manager for various contracts, including NGA NURI. Duties included providing guidance, technical monitoring and status tracking, managing budget and burn rates, and providing information to senior management.
- Researcher. Duties include planning projects (staffing, budgeting, and proposals), managing government and contract personnel, procurement, resource allocation and management, reporting, research, and other project management functions.
- Technical Point of Contact for various internal and external groups. Examples include internal CRADAs, the INFOSEC Research Council, and IBM super computing.
- As a part of the INFOSEC Research Council, worked with heads of other Federal agencies to evaluate security policies and recommend actions for Federal systems. Work focused on security of virtualization to ensure that data maintained integrity and privacy while going through virtualized operating systems and networks.
- Evaluated alternate processing systems such as clusters using the Cell processor for geospatial analysis and processing. Wrote a paper for Admiral Murrett and other DoD staffs in using such as system to provide fast analysis of geospatial data.
- Resigned due to group being disbanded.
US Geological Survey Mid-Continent Mapping Center (MCMC)
October 2000 – August 2006, Computer Scientist
Computer Science researcher
- Managed the MCMC GIScience Center of Excellence GIS and Scientific Visualization lab. Duties included systems engineering of high-end storage solutions, computational resources for GIScience research, and other related activities.
- Program Manager for the Geographic and Cartographic Science Investigations program at MCMC for FY2005. Duties included managing various project managers, planning and allocating budgets, managing resources between the projects, and reporting to local and organizational management.
- Peer-reviewed and accepted into the Equipment Developer Grade Evaluation (EDGE) series as an EDGE computer scientist in 2004. This research and development position focused on creating new and novel computer science techniques and knowledge.
- Member of the Department of the Interior Bureau UNIX Technical Support Team. In this role, I worked on developing Linux and UNIX security and operational policies as well as quantifying standard operating procedures.
- Principal Investigator of various research projects. Duties in this position included: project idea conception, proposal writing, budget planning and management, procurement, resource allocation and management, reporting, research, supervision, and other project management functions.
- Principal investigator on A Natural Language Interface for Geospatial Data project from FY2006 to FY2008. This project focused on changing the functional nature of natural language parsers to provide state history for interaction between average users and the USGS digital data archives.
- Principal investigator on Restoration of Data from Lossy Compression FY2004 to FY2006 USGS Geography Discipline Research Prospectus project. Focused on computational intelligence and signal analysis methods to restore information discarded during lossy compression.
- Principal investigator on Model Development and Extraction from Neural Networks FY2004 USGS Geography Discipline Geographic Analysis and Monitoring funded project. Focused on developing methods to automate the development of models of various phenomena from neural networks and generating human usable models by extracting information directly from a neural network.
- Principal investigator on Directed Edge Detection for Object Recognition FY2004 — FY2006. This project focused on targeting edge detection to only return data for a specific feature of interest. These edges can then be used to perform more accurate object recognition.
- Project manager on Fast Reprojections of Geospatial Data for The National Map FY2004 USGS Geography Discipline Cooperative Topographic Mapping funded project. Focused on developing a Mosix-based distributed processing system to implement coordinate transformation web services.
- Technical lead/point of contact on a CRADA with Topozone to develop and highlight Open Source software for web mapping services. Software included Open Source software developed at MCMC as well as other software developed by Topozone based on the Minnesota Map Server project.
- Project investigator on A Parallel Processing Approach to Computing for the Geographic Sciences FY2003 Geography Discipline prospectus project. Focused on operating system enhancements, an automated object recognition system, and using Mosix to create organizational-wide processing clusters. Linux kernel work included adding low-latency and other patches to a Mosix-based Linux kernel to enhance performance.
- Project investigator on A Parallel Processing Approach to Computing for the Geographic Sciences FY2002 National Mapping Discipline prospectus project. Focused on efficient distributed processing of large amounts of geospatial data and began research on an automated object recognition system. Investigated distributed and parallel file systems such as the Parallel Virtual File System and Global File System.
- Principal investigator of the MCMC FY2000 Gigabyte-Sized Dataset Reprojection Project that researched efficient methods for distributed coordinate system conversions of very large amounts of data. Developed a theory during this project that the runtime of a data-bound application is actually parabolic as more processing nodes are added to a cluster. Configured Cisco network routers and switches in various setups to investigate passing large amounts of data efficiently.
- Principal investigator of the MCMC FY2000 Beowulf Cluster Research project that constructed the MCMC’s Beowulf cluster (18-node system connected via a private network running Red Hat Linux). Work included modifications to a stock 2.2 series kernel to handle large amounts of network traffic without having the watchdog timer reset the NIC.
- Configured LAMP installs to run on internal servers for testing and development.
- Resigned for a new position due to Center closure.
May 1997 – October 2000, Computer Scientist
- Supervised and managed development teams for various software projects. These teams included student computer science programmers and computer specialists.
- Maintained the Digital Raster Graphic production system.
- Developed and maintained MCMC’s County Digital Orthophoto Quadrangle (DOQ) production systems. This system used a series of shell scripts and cron jobs to automate what had been a manual process.
- Developed and maintained various software libraries and applications.
- Served as adviser and technical consultant for various file formats such as TIFF and GeoTIFF.
- Served as technical adviser for Cooperative Research and Development Agreements (CRADAs) with Microsoft for Terraserver and Lizardtech for development of the geographically-aware MrSID format.
- Introduced Linux (specifically Red Hat) into the organization and continued to administer the systems as they had expanded from software engineering to the research section and computer center.
- Converted production systems from Solaris to run under a Linux-based OS.
- Administered Solaris and SunOS systems used for data production.
- Managed and installed Microsoft servers and workstations and Active Directory instances on Windows 2000 servers.
April 1996 – May 1997, Student Computer Scientist, Software Engineering Section
- Maintainer of Digital Raster Graphic production system
- Software maintenance activities.
- Developed new software as necessary.
- Provided training to production technicians.
- Ported software from Data General UNIX systems to x86-based Solaris systems.
1997 B.S. Computer Science, University of Missouri — Rolla
- Extending Beowulf Clusters by D. Steinwand, B. Maddox, T. Beckmann, and G. Hamer, US. Department of the Interior US. Geological Survey Open File Report 03-203, 2003.
- Processing Large Remote Sensing Image Data Sets on Beowulf Clusters by D. Steinwand, B. Maddox, T. Beckmann, and G. Schmidt, US. Department of the Interior US. Geological Survey Open File Report 03-216, 2003.
- An Intelligent Systems Approach to Automated Feature Extraction: A Preliminary Study by B. Maddox and C. Swadley, US. Department of the Interior US. Geological Survey Open File Report 02-461, 2002.
- A Parallel-Processing Approach to Computing for the Geographic Science–Applications and System Enhancements by M. Crane, D. Steinwand, T. Beckmann, G. Krpan, J. Haga, B. Maddox, and M. Feller, US. Department of the Interior US. Geological Survey Open File Report 01-465, Denver, 2001.
- A Parallel-Processing Approach to Computing for the Geographic Sciences by M. Crane, D. Steinwand, T. Beckmann, G. Krpan, J. Haga, B. Maddox, and M. Feller, US. Department of the Interior US. Geological Survey Open File Report 01-244, Denver, 2001.
- Beowulf Distributed Processing and the United States Geological Survey by B. Maddox, US. Department of the Interior US. Geological Survey Open File Report 02-015, Denver, 2002.
- Distributed Processing of Projections of Large Datasets: A Preliminary Study by B. Maddox, US. Department of the Interior US. Geological Survey Open File Report 03-117, Denver, 2002.
- A New Method of Edge Detection for Object Recognition by B. Maddox and B. Rhew, US. Department of the Interior US. Geological Survey Open File Report 04-1325, Denver, 2004.
- Using Mosix for Wide-Area Computational Resources by B. Maddox, US Department of the Interior US. Geological Survey Open File Report 04-1091, Denver, 2004.
- Chapter 44, Real-Time Visualization Techniques by B. Maddox and B. Davis, ASPRS Manual of GIS.
Abstracts and Presentations
- Additional Perspectives on Urban Growth Modeling: Some Research Results from the Urban Dynamics Program by D. Varanka and B. Maddox, 2000 National Mapping Discipline Science Symposium, Rolla, 2000.
- Restoration of Data from Lossy Compression by B. Maddox, 2006 American Association of Geographers Convention, Chicago, 2006.
- Preliminary Observations on Restoration of Data from Lossy Compression by B. Maddox, D. Steinwand, and A. Jones, US. Department of the Interior US. Geological Survey Open File Report.
- Model Development and Extraction from Neural Networks Final Report by B. Maddox and R. Dolan, US Department of the Interior US. Geological Survey Open File Report available at http://brian.digitalmaddox.com/publications/Neural%20Network%20Final%20Report.pdf
- A Distributed System for Fast Reprojections of Geospatial Data for The National Map by B. Maddox, M. Schisler, and M. Danuser, US. Department of the Interior US. Geological Survey Open File Report available at http://brian.digitalmaddox.com/publications/Fast%20Reprojections%20Open%20File.pdf
- Directed Edge Detection — A New Method for Identifying Objects in Imagery by B. Maddox and B. Rhew, US. Department of the Interior US. Geological Survey Open File available at http://brian.digitalmaddox.com/publications/Directed%20Edge%20Detection%20Report.pdf
- University of Missouri — Rolla Human Relations of Technical Employees.
- University of Missouri — Rolla Human Factors.
- University of Missouri — Rolla Project Management.
- Solutech Object-Oriented Analysis and Design.
- Learning Tree International Windows Programming with Visual C++ and MFC.
- FBI — The Leader as a Model.
- FBI — Leadership Skills Assessment Familiarization.
- FBI — Supervisor Management Resource Training: Transfer Policy and Procedures.
- FBI — Supervisor Management Resource Training: Training.
- FBI — Supervisor Management Resource Training: Personnel Security.
- FBI — Supervisor Management Resource Training: Establishing and Filling Positions.
- FBI — Supervisor Management Resource Training: Employee Challenges.
- 1997 Spot Award from MCMC for work as Digital Raster Graphic software maintainer.
- 1999 STAR award from MCMC for work with the Missouri Academy as instructor and adviser.
- 1999 STAR award from MCMC for work on developing the MCMC version of the Clarke Urban Growth Model.
- 2002 STAR award from EROS Data Center (EDC) for work on the Beowulf Prospectus Project.
- 2005 STAR award from MCMC for research work done in FY2005.
- 2007 MITRE Spot Award for Project Management work for the DoJ.
- 2010 FBI ITSD Challenge Medal for Leadership Performance.
- 2010 FBI SPOT Award for leadership in restoring service to the Terrorist Screening Center.
- 2011 FBI IT Branch/CIO award for leadership.
Selected Software Developed
- ImageLib — Image Format Library. A C++ library wrapping various image file formats providing common access mechanisms through polymorphism.
- DOQParserLib — Stand-alone C++ header parsing class for USGS DOQQ files.
- MCMC UGM — MCMC single threaded version of the Clarke Urban Growth Model. This version was developed to address some problems found in the original version. Also, made changes to the random number generator to increase the period of repetition.
- Distributed Map Reprojection System — PVM and MPI-based C++ software to perform distributed map projections on a Beowulf cluster. Contains C++ libraries to wrap gctpc in a common interface, factory pattern classes, and a mesh-based interpolation system.
- Doq2geotiff — Software to convert native USGS DOQQ files to GeoTIFF format. Also contains a version to create JPEG-compressed GeoTIFF files. In use at the USGS Eros Data Center as part of the sales system.
- MathLib — C++ library containing various mathematical functions such as random number generation and interpolation.
- County DOQ Production System — A production system using utilities from ImageMagick and others to take USGS DOQQs and create a CD image of JPEG-format files by county.
- Developed additional utilities for DRG production, including an image resampler based on color priority from printed maps to improve quality.
- System to visualize multiple GPS traces simultaneously using ESRI web services with data stored in an Oracle Spatial back end.
- OGC-compliant web map service to feed data into ESRI ArcGIS from OpenStreetMap in a PostGIS database.
- System to query and more accurately geocode Twitter, 4square, Facebook, and other feeds using NLP to pick out locations in the tweets and check-ins.
- Software to interface with a DOD CAC and authenticate users for access to various areas to provide non-repudiation and authentication.
- Requirements and test database system using Silverlight for the front-end and SQL Server to store data.
Selected Systems Experience
- 5+ years using container technology such as Docker and LXC.
- 20+ years experience in setting up MySQL and PostgreSQL distributed data servers. Also used MySQL’s spatial extensions and PostGIS to provide GIS data to multiple clients.
- 20+ years creating LAMP and LAPP software stacks for serving web applications. Have also used Lighttpd in place of Apache for testing of more light-weight web servers.
- 20+ years experience in using virtualization, including VMWare, Virtualbox, Xen, KVM, Solaris Zones, and User Mode Linux.
- 20+ years creating shell, Perl, and Python scripts for tasks ranging from systems administrator to production system development.
- 20+ years in managing DNS, LDAP, and Sendmail/Postfix servers on top of Linux, Solaris, and Windows systems.
- 20+ years in software development using languages such as C, C++, Java, Perl, PHP, Python, C#, .NET, and Assembly Language. Have used tools ranging from Visual Studio to Eclipse to GNU software.
- 20+ years in setting up dynamic server installs. Includes modern systems such as Puppet, Chef and RHEL’s Kickstart processes.
- 20+ years managing Linux, Solaris, and Windows Server/Desktop systems including Active Directory services.
- 20+ years in managing networking systems from hardware firewalls to Cisco routers/switches to network appliances.