To read about my Professional Experience click.
To read about my Personal Interests click.
In addition to lecturing at NYU I also work as a Managing Consult for Valtech Technologies, Inc. in Manhattan.
Among the many things that distract me from computer science are these interests/:
I have been involved in many different areas over the years. A summary of my technology related experiences includes:
The majority of my work is currently in the financial industry. I have recently been working on projects for JP Morgan in the equities trading areas. My most recent projects include the following:
Equity Router Upgrade Project - Managing a team of five developers to create a new architecture for integrating the Order Management system, client systems and sources of liquidity. The project involves TIBCo distributed queues processing up to 250 msg/sec. The project involves transformation and sequencing of FIX protocol messages.
I manage the project plan and work breakdown structure for an iterative project following a tailored Agile UP project. I lead daily scrum meetings. I interface with the client’s management team and development teams.
As tech lead, I managed a team of developers to create an architectural implementation for a Global Financial Information Store (GFIS) JP Morgan Equities Research. The architecture consisted of creating multiple geographic application clusters that supported failover and rerouting between regions at an application level. The application was built on WebLogic 7.0 and utilized local entity beans, message driven beans and JMS.
The system also utilized JMS based Pub/Sub to create a business information
replication (BIR) bus running on top of TIBCo. This BIR supported guaranteed,
catastrophic fault tolerant replication that was database independent. The
replication supported replication between databases of different types, e.g.
between two clusters running Sybase and three running Oracle and another running
The system utilized a factory & façade pattern to support changing the communication transport between client applications and the GFIS. Supported transports are RMI, WebServices and JMS between the façade and the application core.
The application implemented a smart cache behind the façade (on the client machine) that supported a push/pull model for invalidating the cache. The backend application cores published invalidate cache messages that the client façade subscribed to over WebLogic JMS messaging. They would then invalidate their cache. Any subsequent requests for the invalidated cached data would result in a call to the application core for the information which would then be stored in the cache again. The mechanism keeps the cache fresh with a minimum of network traffic.
The project used Agile Unified Process management methodology and Scrum techniques.
I helped to define the requirements, design the architecture and implement the architectural candidate. I managed the development team.
The initial implementation was demonstrated by the customer to the customer helping to demonstrate skills transfer aspect of the project.
The demos consisted of six Wintel boxes. Three were acting as application clusters; one for US, one for EMEA (Europe Middle East and Africa) and one for Asia. Three boxes were to act as clients to the GFIS; one a user from the Americas, one from Europe and one from Asia. The demo showed:
• Replication between regional application clusters
• Automatic client failover to a different regions clusters
• Simulated WAN disruption and the replication of information between the clusters automatically when the WAN was restored.
• Smart caching at the client façade and invalidation messages over JMS pub/sub.
The design is being implemented and rolled out by June 2003.
Merrill Lynch Direct Markets Website - I worked for Merrill Lynch to aid them in the design and implementation of their Direct Markets website. The site is targeted at Institutional Customers of ML. The site offers information as well as applications to do commodity/debt/equity trading, commercial paper trading and other securities trading.
I worked on implementing messaging and Roma (a business process management product) in the website. My roles included: architecting, education, debugging, project review and testing.
The technologies involved included: Microsoft NT Server, Microsoft Transaction Server, Solaris, Java, C/C++, MQ Series, VB, HTML, Servlets, Java Applets, CORBA, DCOM and Roma.
The project involved the reengineering of a BankBoston (now FleetBoston). The bank had recently merged with a smaller bank and merged IT systems. The bank's existing/merged systems were predominantly mainframe based and product/line of business focused. The primary theme of the reengineer was a customer-centric focus. This required breaking down organizational/process/technology silos to build a true enterprise viz. a silo-ed set of separate, semi-federated IT systems supporting only specific customer segments.
The business process reengineering was lead by Aston and Associates. This involved applying their methodology and IT specific methodologies to develop a future state architecture for the bank.
My responsibilities/roles included:
My team developed an architecture roadmap that recommended an n-tier, hybrid architecture including: CORBA, distributed objects, MOM, message broker technologies, and legacy component wrappering. I authored an OOAD and Costing tutorial for the Design and Costing team.
I also lead a team in evaluating vendor offerings for Call Center software packages including: Early Cloud - CallPath and Broadway & Seymour - TouchPoint, Also in the evaluation of IBM - Component Broker, and BEA - Tuxedo.
Areas of the reengineer included: presentation layer architecture, network architecture, applications architecture, persistent storage architecture, 3rd party integration, legacy system integration and call center technology.
Architectural considerations included: Automated Teller Machines (ATM), IVR, CTI, OFX, Browsers, CORBA/DCOM, Frame Relay, Async Transfer Mode (ATM), OODBMS/RDBMS, Java and /C++. Design tools used included: Rational Rose, UML, Erwin, Excel and Access.
Dataglyph(tm) Integration - I designed software to facilitate the integration of the Xerox Data Glyph (http://www.parc.com/solutions/dataglyphs/) technology into an environment utilizing Xerox high speed/high volume color laser web printer and OCR, Marksense and Data Glyph based indexing on turn around documents.
A Data Glyph is a technology for incorporating information into paper documents in a machine readable format, analogous to a bar code, but that is not human recognizable as information. It gets was printed onto documents which, later on, would return, be scanned, the glyph image decoded and that information used by the client.
The uses of the technology include:
He created several tools/dlls to allow utilizing the glyph technology by calling out from a scripting language to encode text into a glyph bitmap used in the printer and calling in from a forms processing package to decode glyphs and return textual data. Tools included: Xerox Intran Data Glyph SDK, VC++, OCR For Forms and PreS Scripting Language.
Video Game Designer - Way back when a 8 mHz PC AT was high technology, I was writing video games.
I designed several video games for major video game producers including Konami Japan (tm) and Jaleco America (tm). These were ports from the original standup viseo games to desktop platforms. Products worked on include: Ajax(tm), Robowarrior(tm) and Castlevania(tm). Target platforms included: IBM PC, C64 and Amiga.
I designed tools, music, animation, and compression/decompression routines. Coding was done in C languages and most in assembly language!
User Interfaces G22.2280-001 CIMS NYU Class Website