|
Mitchell J. Friedman 11956 SW 34th Ave., Portland, Or. 973219
|
|||
| Objective | Lead Programmer, Software Architect, Data Architect | ||
| Languages | Java, C++, SQL, C, HTML, BASH, Delphi Pascal, PHP, PERL, ColdFusion, TAL, SCOBOL, BASIC, 8088 Macro Assembler, COBOL, Pascal, ADA, Scheme, Fortran. | ||
| DBMS | Microsoft SQL Server, PostgreSQL, HSQL, MySQL, Oracle, DB2, Sybase, Enscribe, Btrieve | ||
| Platforms | VMware, J2EE (JBoss), Linux, Windows XP, Sun Solaris, HP-UX, Windows NT, Tandem Guardian, MS-DOS. | ||
|
Work experience |
|||
|
Tripwire, Inc. - Portland, Oregon |
|||
|
uXcomm - Beaverton, Oregon |
|||
|
CNN Internet Technologies - Atlanta, Georgia |
|||
|
Matrix Resources - Atlanta, Georgia |
|||
|
nuBridges, LLC. - Atlanta, Georgia Built Profiling/Notification system in java using nmap, arping, smbclient, ftp, slocate, sax and jdbc. Designed schema in PostgreSQL, to hold profiling, notification subscriptions. For TCP/IP sockets, used nmap to identify machines, TCP and UDP sockets, parsed XML output from nmap using SAX, into schema using JDBC. For databases, used the metadata jdbc facilities to track changes of catalogs, tables, columns, column attributes, views, sequences, indexes, data types. Additional activity, profiling information on database tables were tracked by recurring calls using jdbc. Supported databases using java JDBC included Microsoft SQl Server both with standard driver and open source freetds driver(changes submitted), PostgreSQL (submitted changes to open source Postgres JDBC driver), MySQL and DB2. For samba, output from smbclient was parsed and additional calls to smbclient scheduled. A remote directory was mounted and a modified version of slocate would run, which would capture all possible file meta data. The jdbc code would then be used to capture activity in a large number of files across many machines. In a similar manner, FTP was supported using java to parse an entire FTP file tree. Initial UI was written in PHP, later versions in JSP. User could configure profile targets, notification subscriptions and provide userid's and passwords, from which additional profiling jobs would be performed. Notifications were delivered as email or jabber from java. The Profiling system made use of Event, scheduling and notification systems written in java, jms, jdbc and SOAP. These systems were eventually converted to a more formal SOA using EJB. I designed the entire profiling system, most of the event, scheduling and notification systems, modified slocate - and implemented much of these systems. An early prototype of profiling was written in PERL using DBI (changes submitted). Built remote appliance capabilities to support a small footprint electronic commerce appliance for use at small to medium sized companies. This included the idea of provisioning where the box would come alive (known as Big Bang) for the first time at a customer site - so required a certain amount of profiling and hardening of the box's initial envrionment in a mixture of java and bash. The remote appliance connected to a mother appliance via SOAP, and the mother appliance connected to the remote appliance via SOAP as well over a SSH tunnel. Tracking and monitoring of the remote appliance by the mother appliance, including heartbeats, probes and updates, reused the event, scheduling and notification systems of the profiling system. I designed and implemented much of the appliance/mother system, including the Big Bang process. I also created a set of logging and trouble-shooting subsystems to make multiple appliances easier to manage (HTML, PHP, Java, LOG4J, BASH, sed, awk, cron). The electronic commerce appliance integration capabilities were primarily SOAP based, but also needed to support many other transport protocols. I designed the system to support many protocols primarily using Apache VFS in java. Later versions of the electronic commerce appliance included community management capabilities which required much greater portal access. This was implemented in JSP with struts using ejb's (stateless session beans) and Hibernate. I was part of a team that converted the earlier code to stateless session beans and Hibernate. At the same time, Tomcat and JBoss was upgraded, the JMS usage was converted to mdb's, and the services themselves converted to a SOA implemented as stateless session beans. Also at this point initial investigation and implementation was performed using JMX and to a lesser extent JCA and JAAS. 20 Development project at peak. Completed 15 version/releases in 3 years and delivered 13. Java (IDEA, JDBC, JMS, MDB, JBoss, EJB), SQL (PostgreSQL, Microsoft SQL Server, MySQL, DB2), Web Services (SOAP), Linux, BASH, PHP, IDEA, TWiki, BugZilla, CVS, RUP, Enterprise Architect. Designed or participated in design of 400+ database tables across 10+ subject areas across 20+ Services. Proved small footprint system out to a minimum sustained 1 tps. |
|||
|
Harbinger - Atlanta, Georgia In 13 years at Harbinger, I worked for 7 different groups, performing a multitude of roles - starting with Software Engineer and ending with Software Architect with stints as a Software Development Manager and several as Project Lead. At the beginning of my time, Harbinger was a 17 person startup - which eventually became 1100 people (300 at the main site in Atlanta) and went public, before being acquired by Peregrine 12 years later. My last role at Harbinger was as the Software Architect leading the design of a next generation cross-platform EDI platform using Java (with Rose, RUP, BEA, Oracle, Perforce). The intention of this project was to finally combine in one offering a single code-base that would support client and service, small and large customers - using the knowledge and experience gained after much internal development as well as many acquistions. Initially I was part of, and then managed an 8 person team responsible for a DOS based EDI client (using CWorthy), C, with light assembler, Btrieve, thru five versions. It also included the creation of an interpreted response rule language for transforming EDI documents. I then joined the services group as a senior engineer, where I supported high-availablity, mission critical applications as part of the Harbinger EDI Value-Added Network. This involved creation of an evolving high-volume event-oriented system on Tandem, including the creation of a server structure framework to support rapid creation of pipelining special service daemons. While with this group, I was responsible for bring C and SQL to the group, porting of Sun's Open Network Computing RPC (ONC RPC) to the Tandem and the initial transition to Sun from Tandem. At that point I joined an internal startup - Harbinger Net Services - charged with bringing Harbinger on to the Internet. This work included Business Plans, Product Plans, initial investigation, interviewing and hiring, and transition to C++. Included NT and Sun development, initial work with C++ class library RogueWave, and beginning of Instant Net Presence project. Initial Harbinger web site developed. Initial blender development - an interpretative cross-platform language to support html with embedded logic, database and connectivity code. Creation of Web Registration Service, designed to semi-automatically register web sites - never launched - but became the library kernel for all later products and projects. Creation of internal Intranet web site. After several projects related to HNS, I became the lead on the project to port our proprietary Electronic Document Interchange (EDI) Value-Added Network (VAN) from Tandem to cross-platform open-standards implementation, including movement of all customers (40,000+). Analysis, planning and design of the cross-platform UNIX based IVAS as a complete replacement for the Tandem based VAN. Standardize/Redesign of Internet Value Added Service as well as port to NT. Extension of framework from earlier Internet based client/server products to fully cross-platform reusable daemon/service syslog/eventlog configuration file/registry native framework available on NT, HP, Sun. Also included the organization of classes written for other products and platforms into libraries such as general, database, networking, cryptography and so forth. Coaching of programming staff through C to C++ transition. Twenty developer project. One other project of note wwas the creation of the transaction portal external and internal web-site for get2connect.net for which I was Technical Lead. Anything and everything to get this site going and make it a success from formatting html pages, to writing book reviews, editing as well as creating standards content. Included learning ColdFusion, creating and implementation of a full authorization system. Setting style guides. A tremendous amount of database analysis and reengineering, as well as conception and creation of several hundred pages of internal support screens. ColdFusion, SQL, HTML, C++. Fifteen developer project. |
|||
|
National Financial Computer Systems, Inc. - Snellville, Georgia
|
|||
|
Certifications |
May 2000
Certified ColdFusion Developer
|
||
|
Education |
June 2007
VMware Infastructure 3: Install and Configure Georgia State University - Atlanta, Georgia |
||
| Awards |
1998 Nominated and Appointed - Senior, Member Technical, Staff 1996 Nominated and Appointed - Member Technical, Staff
1983
National Merit Scholarship Finalist |
||
| Professional memberships |
Worldwide Institute of Software ArchitectsAssociation for Computing Machinery IEEE Computer Society Internet Society Harbinger Alumni Group - Founder/Co-Owner - http://groups.yahoo.com/group/harbingeralumni Atlanta Java User Group Atlanta SPIN
1989-1994 ASC X12 - EDI Standards Committee - voting representative. |
||
| Writings |
Oct 2003 - Patent Submission Abstract - Secure Real-time Virtual Peer-to-Peer http://philmcrew.com/nuBridges_vp2p.pdf Jan 1996 - Blender - an early C++ based alternative to PHP, JSP - http://philmcrew.com/BlendThenServe.pdf |
||
| Interests and activities | Bibliophile . Acoustic Guitar. |