Joseph Flowers
Email: *********@********.***
Address: **** ******** *****
City: Raleigh
State: NC
Zip: 27603
Country: USA
Phone: 919-***-****
Skill Level: Experienced
Salary Range: $95,000
Primary Skills/Experience:
See Resume
Educational Background:
See Resume
Job History / Details:
Joseph L. Flowers
9924 Huntwyck Drive
Raleigh, North Carolina, USA, 27603-8441 *********@********.***
Resume v1.45 (Email preferred)
Education North Carolina State University, Raleigh, NC
.BS degree, Electrical Engineering, 1990.
.Post Graduate Work (3 credit hours) in Electrical Engineering, 1993.
.Post Graduate Work (33 credit hours) in Mathematics, 2000-2006.
.State of North Carolina "Engineer In Training" Certification, Jan. 1991.
.Successfully completed the Performance Leadership Certification course in the Spring 2008
Wayne Community College, Goldsboro, NC
.AAS degree, Electronics Engineering Technology, 1984.
Main Engineering Strengths
Excellent with low and medium frequency electronic circuit design and analysis
Excellent low-level programmer
Excellent with IT servers and systems
Excellent with mathematical modeling of linear and non-linear circuits
Excellent engineering intuition, Intense researcher; avid learner
Focused on quality, automation, speed, robustness, the big and small pictures, scalability, ubiquitous tools and their knowledge base, product potential, optimization
Able to bring all of these skills simultaneously to bear on a problem
Some Areas of Interest
Designing and creating remotely accessible, automated environments using a combination of C/C++/Python/Java, embedded firmware programming, TCP/IP programming, cryptography, Active Directory & SQL programming, and electronic circuit design
Circuit design and analysis
Mathematical modeling
LDAP & Active Directory programming and event capturing
Integrating embedded microcontrollers with servers and IT systems
Integrating IT systems, like Java connectors between Active Directory and SQL databases, or Windows and Linux PAMs.
Linux and Windows low-level programming
Electrical Engineer for Elster Solutions (Creates Electric, Gas, and Water meters & solutions for Utilities throughout the world), Oct. 2008 to Nov. 2012.
Focused on delivering a widely useful, distributed meter inventory and management system (with product implications) for a highly controlled, scalable, and malleable test environment for an entire department. The heart of the automated testing system for the department.
Integrated electric utility meters into Active Directory; Integrated Active Directory with MySQL database using low-level Java programming
Installed, configured, and managed the Microsoft Windows Server 2008 R2 and MySQL server for this project
Designed and tested an inexpensive electronic circuit that will allow remote (TCP/IP) and full (Optical Probe) access to all parts of a matrix of utility meters for full administrative/manufacturing access as if the meters were local with a focus on 100% automated, remote testing
Wrote a C program using the Elster SDK to read and write data to utility meters using an Optical Probe and C12.18. Wrote Python programs using the Elster SDK to read and write data to utility meters using C12.22 and C12.21 over TCP/IP sockets
Wrote a C program to read & write data to utility meters WITHOUT the SDK for a small/fast footprint - reverse engineering
Designed and tested much of a circuit for a 3-Phase, light-weight, portable, desktop power generator for power meter testing
Ongoing work and study of FreeRTOS programming of Cortex-M3 embedded controllers like Texas Instruments Stellaris LM3S9D92, LM3S8962, LM3S811, and ARM Keil Cortex-M3 embedded controller MCBSTM32C. Hopeful use for automating labs (remote power cycling, hardware input and output sensing and actuation, addressing and signal routing)
Have designed fake power load circuits with phase reversals for utility meter testing
Performed analysis of linear and non-linear meter circuits and modeled them mathematically so that test circuits could be properly and optimally designed, created, and integrated with the meters
In-depth electrical analysis of commonly used transformers for optimum configuration and use in circuits
Designed and built appropriate test fixtures, often after studying meter circuit schematics
Often called on to fix some of the hardest configuration problems for testers and developers
Performed many firmware upgrades, reconfigurations, and programming of the utility meters.
Worked on C12.18, C12.21, & C12.22 connection setups and issues and with various option boards, like Zigbee, external power interrupter circuits/relays, Ethernet, CDMA, Modem, RS-232, etc.
Often verified C12.22 encrypted communication as well as proper inter-meter (LAN) communication
Developer and Consultant (part-time) for JRB Software (Creates a large number of utility programs for managing large diverse IT server systems), Aug. 2008 to present.
Wrote a multithreaded LDAPS/HTTPS/AES Linux daemon in C that captures massive numbers of LDAP events and performs filesystem actions accordingly
Write working code snippets to solve various problems, like AES encryption/decryption
Created several VMware SuSE Linux servers, MS Windows 2008 R2 servers, W7 workstation images
Help with consulting and troubleshooting difficult issues and infusion of new ideas and technologies
Hardware Technology and Programming Skills
Significant programming of Rabbit Semiconductor's RCM3700 Ethernet-enabled embedded controller
Designed and built a complete working FM broadcast radio receiver, including the phase-locked loop (PLL) from scratch with only discrete components like transistors, capacitors, resistors, inductors, a crystal, a varactor, etc. No integrated circuits were employed
Proficient with Oscilloscopes (conventional and modern USB), Digital Multimeters, Capacitance/Inductance meters, linear power amplifier circuits, signal generators, etc.
A lot of C/C++ and back-end JAVA programming to solve specific, practical problems
Systems & Hardware Integration, and Authentication/Authorization customization programming
Network applications and low-level systems programming for Linux, Windows, & Netware
TCP/IP - BSD & Winsock, C & JAVA, multithreaded, thread-safe, client & server programming, USB programming
OpenSSL C and JAVA J2EE programming for encryption and security
OpenLDAP C programming, including LDAPS (LDAP over SSL) and LDAP event capturing and handling
C, C with embedded microcontrollers, JAVA (JDBC, JNDI, JNI extensions written in C, Security/Cryptography, Servlets, etc.), C++, SQL, PHP extensions written in C, Embedded Perl in C network programs, Perl, Bash scripting, Pascal, Basic, Maple, JUnit, Apache Ant, XML, Eclipse, CVS, JDB (The Java Debugger), Apache, Tomcat, InstallShield, NSIS, VMware, SAS 9.1 for regression analysis, mySQL, DB2, Oracle
Microsoft Windows Server, RedHat & SUSE Linux, Novell NetWare
Proficient and comfortable with wide range of network related hardware, including RAID, SCSI, and SATA controllers, BIOS/Firmware updates, microcontrollers, network devices, hardware and software firewalls, NAT, PAT, hubs, switches, 802.11 wireless access points & routers, cabling, etc.
Compilers and Supporting Software
For embedded controller firmware programming: Mentor Sourcery CodeBench, Keil's uVision 4, TI's Code Composer Studio 5, and Rabbit Semiconductor's Dynamic C.
MS Visual C++ v6, MS Platform SDK, MS Windows Driver Device Kit (DDK), MS Visual Studio 2010 & 2012
gcc on RedHat, SUSE Linux, and Solaris Unix
C and assembly language for embedded microcontrollers
Sun's/Oracle's JAVA command-line JDK since v1.1 through JDK 7
Metrowerks CodeWarrior v7.2, MSYS (MinGW - Minimal SYStem), Eclipse, Borland C++ v5.5 command-line compiler
SmartSVN, TortoiseSVN
Director of Information Technology & Consultant, College of Humanities and Social Sciences (CHASS), North Carolina State University (NCSU), 1993 to July 2008.
Integrated embedded microcontrollers with an LDAP-enabled directory by capturing LDAP events and microcontroller interrupts; used TCP/IP socket programming and AES encryption to fuse the two.
Conceived, designed, and created a virtual, fully automated lab environment allowing remote users (students, faculty, and staff) secure and seamless remote access to unused lab computers.
Main core developer of APIs in C, C++, JAVA, and PHP for other developers to use
Created a unique -Pay for Print- C application that allowed seamless printing to Unix printers from Windows computers. Was widely used throughout NCSU. Employed HTTPS, low-level integration into the native Windows printing system, and advanced Windows Registry programming.
Designed and created the integration of SpamAssassin on Linux with a college-wide email system on Netware. Extensions on both platforms were multithreaded socket programs written in C.
Instantly synchronizing credentials across multiple disparate systems at the instant of demand (logon): Developed PHP extensions (written in C) and Java JNI Servlets (written in C++) which allowed user logon against an LDAP-enabled directory or UNIX Kerberos while simultaneously creating or modifying the LDAP objects at the same user logon time.
Designed & developed a DNS synchronization program written in C/C++ which automatically updated Microsoft Windows Server Active Directory DNS records with the NCSU UNIX DNS servers
Designed & developed a secure, high-grade, Public/Private Key encrypted, JAVA, web-based credit card system used by the college for outside donations
Designed and developed a MS Windows 2000/XP logon extension in C which allowed Kerberos and LDAP authentication in student labs and faculty and staff offices
Successfully installed and tested OpenRADIUS, preparing for future development of OpenRADIUS modifications for wireless device authentication services using familiar college LDAP and Kerberos credentials.
Created a Microsoft Windows 98 login interface (GINA) that automatically mounted UNIX AFS filesystem shares; was widely used throughout NCSU
Supervised and defined core service values and philosophies for the IT department
Served approximately 1,341 faculty, administrators, and staff computers and up to 30,000 University students
Managed annual technology budget of more than $800,000
Directed and supervised a staff of 14, consisting of network administrators for Windows Server, Netware, and Linux, computer lab managers, desktop support, web designers/developers, and programmers