The latest CV always available at www.bayes.co.uk/cv Curriculum Vitae for Christopher James Bayes [Languages] [Operating Systems] [Key Skills] [Work History] Revision Date : 13 - Sep - 2005 Next Available : Currently Rate Required : Personal Information. Christopher James Bayes London NW3 4BU chris@bayes.co.uk Tel : +447711127616 Fax : +447711127616 Experience Spoken Languages English, French Languages Basic/Visual(VB)/Script(VBScript), Bliss32, CSS, C/C#/C++, DTD, Fortran, HTML/DHTML/XHTML, Java, JavaScript, Macro32, Pascal, Perl, SDL, SDML, SQL, TPU, XICS(SGML), XML, XSL/XSLT Operating Systems DOS, RSX11, VAX VMS/Open VMS, Windows CE/3.1/95/NT/2000... Key Skills Internet Design Applications Visual Studio Netscape Navigator Gold 3.0 FrontPage 95/98/2000 Internet Programming Applications Visual Studio.NET J++ Java Development Studio Visual Interdev 6.0 XML Spy XMetal Internet Programming Visual Basic / Visual Basic Script C# ASP Perl XML XSLT SOAP WEBDAV Internet Server Applications Internet Information Server Sharepoint Portal Server BizTalk Server 2000 Exchange Server ISA Server SQL Server 6.5/7.0/2000 Web Server Apache Graphical Applications Adobe Premier 4.2 Adobe Photoshop GIF Animator Paint Shop Pro S.W.I.F.T. ST400 Technical support (user and computer staff) Internet Knowledge I have my own site at www.bayes.co.uk and my XML/XSL Portal where I demo my skills and new technologies although I don't always have time to keep them bang up to date. This has been invaluable as most websites I have developed have been intranets and not visible to the public. I have in depth knowledge of most W3C/browser technologies and have tried to address compatibility issues in my own site which should be viewable by both Netscape/Firefox and IE3/4/5/6. I have an understanding of WAI and have done some work with the R.N.I.B. I have in depth knowledge of most server technologies from web servers to databases and have developed in VB, JavaScript, ASP, c# and Perl. I am also very active in various mailing lists to do with XML/XSLT/SVG and am one of the top contributors to the XSL-List although I haven't recently. For the last year or so I have been doing many small consultancy jobs rather than a solid contract. These have covered WEBDAV, SOAP web services, Digital Dashboard, training and book reviewing. I have done consultancy work analysing appropriate technologies to provide solutions in WEBDAV related areas. I have worked on Digital Dashboards as part of DDRK 3 as well as Sharepoint Portal Server and more recently WSS. I am mainly interested in jobs that allow me to use my XML/XSLT skills to the full. Work History SE Trains .NET Developer/ Internet/Intranet Developer Jun - 05 / Aug - 05 This assignment was to develop a ticketing portal for SE trains and NBTS corporate customers. The system consists of two ASP.NET front ends and a Web Services/SQL Server ticketing queue backend. The first configurable and rebadgeable front end allows corporate customers to order season, multiple rail journey and tube tickets within the South East region and Europe. It allows for various addressing schemes and cost centre handling. Ticket requests can be sent directly to NBTS or sent to a supervisor for authorisation by email or using the web based front end. It also contains various administration modules to allow company administrators to add users, modify company specific roles and configure, modify and bulk upload company data. The second front end allows NBTS to action queued tickets. Queued tickets can be sorted by various criteria such as company, ticket type and urgency. Once complete the physical ticket is printed and mailed to the customer. It provides a simple interface to add new corporate customers and configure various features of the customer's website, manage customer permissions and roles, bulk upload company data and manage queued tickets. The backend consists of several Web Services for inserting ticket requests into the queue and querying submitted ticket requests. Once the ticket request has been submitted to the queuing subsystem all interaction with the ticket request is handled via web services. Although the Web Services are currently only used by the NBTS corporate portal and SETrains internet ticketing portal the plan for the future is to allow competent authorised corporate customers to interact with them directly. Technologies Used: XML/XSLT, Web Services, SQL Server, C#.NET, ASP.NET, HTML, CSS, JavaScript Anteeo XML Analyst/ Internet/Intranet Developer Sep - 04 / Jan - 05 This assignment was to develop 'GDS' component and web services link to Global Distribution Systems (specifically Galileo) for Anteeo Solutions' product TMS. TMS needed Web services Galileo (and Amadeus). The assignment involved the design and development of a COM component and Web Services environment for TMS (VB6) to communicate with airline GDS and other systems using XML for the purpose of obtaining availability and making bookings within the third party systems. The assignment included the establishment of specific dialogue with the 'Galileo' system. As well as the basic COM component I developed various testing, support, SQL Server stressing and maintenance applications. In the last month of the contract I created the new Hayes & Jarvis website using ASP.NET. Technologies Used: XML/XSLT, XML Schemas, Web Services, VB.NET, C#.NET, ASP.NET, HTML, CSS, JavaScript Swiftnet Technology Ltd XML Analyst / Internet / Intranet Developer Jan - 01 / Sep - 04 For the last year or so I have been doing many small consultancy jobs rather than one solid contract. These have covered WEBDAV, SOAP/Web Services, Digital Dashboard/SharePoint Portal server Web Parts, Training and book authoring/reviewing. Programming mainly in c#.NET but also VB.NET I have worked on many ASP.NET websites some of them based on the IBuySpy Portal, and various bespoke content/document/information management and data aggregation/integration systems. Much of the work has involved building discreet custom components for ASP.NET or SharePoint Portal server on the client side and data feed transformations on the server side. Companies I have worked for include On-Idle, IBS, Ikhaya and Wrox. As well as working for various clients I have been working on 2 or 3 large projects in the content management field. Although it is difficult to go into details these run along similar data acquisition/transformation/client presentation lines as I have done for clients. Technologies Used: XML/XSLT, XML Schemas, SOAP, Web Services, WEBDAV, Web Parts, VB.NET, C#.NET, ASP.NET, JavaScript, HTC, Behaviours, VSS, RSS Vizzavi XML Analyst Sep - 00 / Jan - 01 Vizzavi Limited is a joint venture between the Vivendi Universal and Vodafone groups of companies to build a new multi-access (Internet services, mobile data and interactive television) European portal. Initially employed as an XML Analyst to analyse XML data feeds I soon became responsible for the aggregation of all news/content feeds into the eGrail content management database. Content is provided by companies such as Reuters, iSyndicate, Primagames, ICL, BDS, 365, Softonic, Met Office, Press Association and various music companies. Each one uses a different format and different providers used different methods of supply either push (FTP), pull (client) or email. I designed and implemented a B2B application called Stagecoach. Stagecoach accepts content in any format: XML, HTML, XHTML, Flat Files, Database etc and through a series of transforms (XSLT/Perl/JavaScript) converts it to a common Vizzavi internal format ready for loading into the eGrail Oracle database. Some user facing applications could use XML directly and for these Stagecoach bypassed the database and provided XML/HTML/WML directly to them or as static pages to the front end. As we were up against the usual deadlines and the constraints of eGrail it was written mostly in Perl but used the Java based XT and Saxon XSLT processors in the pipeline and MSXSL on the client. Monitoring and logging are provided by the Stagecoach web based intranet interface. It provides up to the minute statistics such as last received time, expired feeds, feeds with errors and remedial actions. At all stages content/logs can be viewed via a browser using client-side XSLT transforms to provide an easily viewable representation of the content. Other tasks include documentation, working closely with Java/Perl application programmers to provide XML/XSLT solutions, knowledge transfer of technologies like XML, XSLT and B2B solutions etc to permanent and contract staff. Technologies Used: XML/XSLT, XML Schemas, JavaScript, Perl, HTML/XHTML/WML, HTC, Behaviours, Java, Oracle, BizTalk, RSS OAG Worldwide Web Designer / Internet / Intranet Developer May - 00 / Aug - 00 OAG Worldwide provides timetables of anything from tide tables to airline/airport flight timetables. My job was to produce a set of multilingual templates that could be seamlessly slotted into a customers website. These covered various initial flight selection pages where destination, date and preferred airline could be selected, through pages displaying flight summary and flight details information. These are cross browser compatible, reasonably dynamic and fallback gracefully on older browsers. The system is an n-tier architecture comprising SQL Server, TSQL, VB business objects (MTS) and ASP for presentation. The ASP code queried the middle layers ("Flight Engine") using XML and received an XML response which was formatted to create the summary and details screens. Although I was working mainly on the presentation layer I also wrote VB COM objects for doing city/airline lookups on the database which were delivered to the client utilising Remote Scripting. Other tasks included documentation, implementation of source control measures and knowledge transfer of technologies like VBScript, JavaScript, XSLT, COM and n-tier solutions etc to permanent and contract staff. Technologies Used: XML/XSLT, HTML/DHTML/XHTML, JavaScript, HTC, SQL Server, TSQL, MTS, VB COM, VSS Genie Internet Web Designer / Internet / Intranet Developer Jan - 00 / May - 00 I worked in many areas at Genie. Initially on the voucher system for free phone time on new WAP phones. I later wrote a Visual Basic application to concatenate and upload to the web new vouchers. I then worked on the customer care application using Perl on Apache with HNS from ALD. The application was to allow customer care representatives to repair and update users details in the Informix database, stop and start SMS messages to mobile phones and change passwords etc. I also worked on site statistics using Web Trends, IIS, SQL Server 7, ASP, XML, VBScript and JavaScript. I wrote scripts to download zipped log files from the Apache server to the NT box for processing by Web Trends. Then wrote marketing facing web pages that displayed table of contents of Web Trends data. I wrote ASP pages to interrogate the SQL Server 7 database and display graphs for data not covered by Web Trends. I also did some upsizing of access databases to SQL Server 7 for the time management system. Technologies Used: XML/XSLT, HTML/DHTML, HTC, ASP, VBScript, JavaScript, SQL Server, TSQL ICL Web Designer / Internet / Intranet Developer Mar - 99 / Jun - 99 I was working on an internal website for organizing the ICL knowledge base. ICL needed a cohesive front-end and framework to pull together all documents (Word, PDF, Excel, HTML, ASP, XML, PowerPoint etc) from different departments/communities and link these together with tools, utilities and dynamic data sources to form a digital dashboard. XML was used extensively for document details and attributes, either as static files or via SiteServer ASP scripts. I developed the system mainly using XML and DHTML using ASP and Perl as the glue. The front-end had to be very flexible and customizable for each user and each community. This was achieved using XML/XSL on the server and CSS and XML/XSL on the client to display individual table of contents, voting sections and news reports. Because this is an intranet we only had to support Internet Explorer which made life easier although both v4 and v5 had to be supported. The power of XML/XSL allowed a small number of files to control the look and feel of thousands which made maintenance a simple task. Although the initial development was to produce an English only version care was taken to allow for multi-lingual and localized views for the European branches of ICL. I also did some work on LDAP and directory services and worked on defining part of the ICL vocabulary. Technologies Used: XML/XSLT, XML Schemas HTML/DHTML, JavaScript, ASP, Perl, LDAP, VSS The Exchange Web Designer / Senior Software Engineer Aug - 98 / Dec - 98 The Exchange is a company that provides support for the insurance industry and Independent Financial Advisers. I was working on the eXweb Intranet and specifically the Document Library and Maintenance functionality. This provides for the uploading and downloading of all documents relating to providers? products and the maintenance of document details and versioning. The final product was deployed on SiteServer and made use of the SiteServer User Object and security. I used VisualInterdev 6 to implement HTML, DHTML, DHTML Scriptlets/Server Scriptlets, JavaScript, VBScript, XML, VB and various ActiveX controls. Document details are held on SQL Server and manipulated using stored procedures. Documents are mainly in PDF format but compound PDF/OCX files are also supported. I also gave support to other VB developers new to the Internet and DHTML. Technologies Used: VB, XML/XSLT, HTML/DHTML, SiteServer, COM+, SQL Server, TSQL, VSS SoftAd/Excelerator Technologies Ltd Web Designer / Senior Software Engineer Jan - 98 / May - 98 SoftAd is a software house developing a product called Focal Point for the Ford Motor Co. Focal Point is web based sales support product for use in Ford Dealerships. It uses ASP and IIS4 to dynamically build web pages from data held in a Microsoft SQL Server database and data held on a Ford Corporate Server. Local data is accessed mainly through stored procedures in SQL Server and is used to create dynamic pages based on the model, year, colour and finance package. Due to the global nature of the project all pages have dynamic multi-lingual support. SoftAd is working closely with Microsoft to develop a newer version based on Microsoft Transaction Server and Message Queue to enable a more distributed solution based on server farms. While here I have worked extensively with ASP, XML, HTML, DHTML, SQL, VbScript, JavaScript, Perl and ActiveX which have all been used to integrate the final solution. Technologies Used: XML/XSLT, ASP, SQL Server, TSQL, HTML/DHTML, COM+, MTS, MQ, VSS Eli Lilly & Co Web Designer Jul - 97 / Oct - 97 I was employed at Lilly to complete work on a web-based purchase to pay system written in JavaScript and Perl. As it is to be used all over Europe the interface is multilingual. It is designed to take the user through a series of steps necessary to complete the purchase and payment for goods. Information is stored in an Oracle database and accessed via ODBC. Perl scripts build up the web pages to provide selections and options based on previous responses in the process. Form validation is done both at the front end and the back end. The different languages are catered for by replacing English text with foreign text as the pages are being built. Technologies Used: Perl, JavaScript, Oracle British Telecom Programmer / Analyst Jan - 97 / Jul - 97 I was employed at B.T. to write provisioning software for their OMS system. Most of the work was in c and embedded SQL (Oracle). I initially worked on the Featureline team and as it was the end of the project work mostly included fixing coding bugs and system testing. I then worked on the Home Highway implementation and am writing the low level SystemX communication routines. Technologies Used: C, Oracle, ASN.1 SEMA (Telecoms) CMS Librarian, C/SQL Programmer / Analyst Jul - 95 / Jul - 96 I was initially employed at SEMA as a CMS librarian coordinating and controlling all software being developed for the Hutchinson CABS 2000 project team. This was a monumental task and it soon became clear that some kind of CMS front end was needed to handle all of the different releases that were needed. I developed a menu driven CMS front end handling multiple libraries. This was later improved to handle different projects requirements and is planned to be the standard CMS interface for all CABS 2000 projects. I also did some work on process to process communications for the data capture part of CABS and some C programming with embedded SQL. Technologies Used: CMS/MMS, C, SQL Swift Terminal Services VMS Consultant Jan - 90 / May - 93 Swift Terminal Services provided software and hardware solutions for connection to the Swift network. As an OEM they worked very closely with DEC and almost no expense was spared to provide every DEC product. My initial task was to work on the conversion of Swift messages to ST400 internal format for V2.5. The syntax parsing engine was originally written very badly in Basic and needed to be rewritten in C and all database accesses needed to be made async to improve performance. As this was the major bottleneck of the ST400 system I was involved in the optimization of all other subsystems which impacted on Swift to Internal. St400 was written mainly in Basic with some low level routines written in Bliss32 and Macro32, so keeping data structures aligned was a major headache. With the introduction of C we decided to use SDL for the definition of all data structures on the system. I implemented automatic build procedures (CMS/MMS) and rationalized/optimized datastructures (SDL). This effort was not wasted when we came to integrate Swift l (V2.5) and Swift ll (V3.1) into (V3.6) which up to this point had followed separate development paths. I later moved onto the Enhanced Telex400 project where I wrote the new telex editor using callable TPU. Created new build and installation procedures for Enhanced Telex400, Traffic400, Report400 and Extract400. I set up procedures for automatic generation of documentation (VAX Document) from source code to create on-line documentation available to all developers through Bookreader. I wrote programs to rebuild and repair the Swift and Telex customer information files. I wrote new programs to handle events and journaling and standardize event messages and codes. I provided technical support to other developers and 2nd or 3rd line support for field problems coming from the help desk. I implemented encryption algorithms for V4.0. Technologies Used: C, System Routines, Systems Services, SDL, CMS/MMS, VAX Document, ST400, French Digital Equipment Corporation System Programmer / Analyst Aug - 89 / Dec - 89 This was a contract to write a device driver for the new version of MIRA or HAMS (High Availability Management System) using the new KWV32 board. HAMS runs on a 3000 series dual host system providing shadowing, error monitoring and failover functions for highly critical applications. Most customers include banks where it is important to have the systems available at all times. Although it is not a fully fault tolerant system it goes a long way towards it. The KWV32 is a modified DSV11 including a 68000 processor with new functions included in the firmware to monitor the link, the remote system and the driver. I was involved in the top level design and writing the driver in Bliss32. I also became involved in debugging the firmware and providing technical support for the higher level software. Technologies Used: Bliss32, Firmware, VAX Document, French Walmore Electronics Ltd System Programmer / Technical Support Analyst Mar - 89 / Jul - 89 Walmore Electronics is a defense company who were writing radar training simulators on VAX and PCs using ADA C and Macro32. My tasks included writing a device driver, writing programs to control serial interfaces and technical support for the development team. The device driver controls a DRV11-J parallel interface card connected to a dedicated device which simulates audio and visual radar displays. The driver uses two of the 16 bit ports to create a 32 bit parallel output port. I/O is synchronized using device ready and device acknowledge lines. The driver has sense mode and set mode functionality, can return diagnostic information and makes use of the VMS error logging facilities The serial interface procedures are used to connect the VAX to the PC network via RS232 lines. Technical support was required as the team had little or no VAX experience. Other tasks included installation of new software releases, installation and support of DECNET and other usual system manager functions. Technologies Used: C, DECNET APAK Systems Ltd System Programmer / Technical Support Analyst Mar - 88 / Mar - 89 APAK is a software house who have dealt mainly with the Canadian computer system GEAC. They have various clients who due to GEAC's financial difficulties wish to transfer their operations to DEC equipment. Their major client when I joined was Barclays Mercantile Highland Finance a leasing company based in Borehamwood. Neither APAK or BMHF had any in-house VAX experience and I was taken on to provide technical support analysis and programming skills for the VAX side of the project. The solution was to use Real-time software to cross compile ZOPL into MACRO32 for execution on the VAX. APAK however have their own languages and applications KARL and PEARL which sit on top of ZOPL and use GEAC facilities not available or used differently on the VAX. My duties include analyses and writing software to mimic GEAC system functions such as Locking routines, Terminal emulation, Global section interfacing, Communications interfaces and File handling routines. We needed Nontransparent communications over DECNET, PSI (x25 and x29) using PSS and ISTEL networks over a Kilostream link and Lat over an Ethernet link. All PC systems were connected to the VAX over networks for interactive sessions and file serving. I wrote various multi-threaded programs for file serving over DECNET to access remote databases using AST's and other synchronization techniques and for Soft locking of files which were accessed using QIO to the ACP instead of RMS. Most of the time I was working on Client's sites and gained great experience in handling customers and their problems. Using this knowledge to directly influence the direction of the project. Technologies Used: C, DECNET Barclays de Zoete Wedd System Programmer / Analyst Dec - 87 / Mar - 88 This contract was initially for 2 months to write Change Control Procedures and set up Access Control on the VAX cluster. Barclays had just been audited and the auditors wanted to see a smooth and secure method of applying new and updated releases of software to the live system. They also wanted to see a more strict and policed environment for the users with access to live data. Change Control was accomplished by writing DCL procedures to transfer files from a development handover area to a pre live area before release. All files were compared with their live equivalents before compilation. The compilation section had to take into account all forms of source file and allow for the inclusion of new compilers. The procedures had to take into account 4gls which are interpreted rather than compiled. Compiled sources (objects) had to be added to the correct object text help or forms libraries which were copied back from the live environment to avoid invalid updating of live software. As many of these actions produced files which were needed for the release a database had to be set up to keep track of the necessary files. The whole system was menu driven to necessitate as little operator input as possible. Access control was set up using ACLs and the Rights Database to restrict access to live files by the development teams and other groups of users. I wrote some DCL command procedures to update the ACLs and create new ACEs. This was necessary because doing it via the ACL editor or manually would have taken to long. These were also fully menu driven. This all required a great deal of documentation to comply with the auditors requirements and I wrote a 90 page manual on the Change Control / Access Control procedures and operator / user instructions. Technologies Used: DCL, CMS/MMS Chase Manhattan Bank Ltd System Programmer / Analyst Oct - 87 / Nov - 87 This was a short contract to write a fault tolerant datafeed handler for telerate. The process is based around the MicroVAX using DECNET communication and SOP modems. The project was written in 'C' and used many VMS System services (async QIO, timer, mailboxes), AST code and event flags. Technologies Used: C, System Services, DECNET Credit Suisse First Boston Ltd System programmer / Analyst Apr - 86 / Apr - 87 I was employed at CSFB to design and write a real-time multi-threaded (up to 16) output spooler for the link between the VAX and the Beeline telex system as part of an Allin1 telex subsystem. I used Macro 32, Fortran and the VMS symbiont routines. Initially I was working on only the spooler but also took on modifications to the editor and in time became responsible for all parts of the project. The system made full use of global sections, system locks, the Job controller/Queue manager interface, driver level code and routines, RMS and many system security and backup functions. Technologies Used: C, System Services, DECNET Langton Electronic Publishing Systems Ltd Technical Support Analyst / System Programmer Mar - 82 / Oct - 84 Langton had a support contract for the Xerox Integrated Composition System (XICS) covering the UK and Europe. They also had their own suit of products to support XICS. The majority of these systems were based in IBM kit but they were recommending the VAX as a low cost alternative for the smaller companies. This required the development of VMS specific software and the integration of LEPS products into the VMS environment. We did this by designing and writing a screen based data entry system using the VMS screen management and run time library routines to mimic FMS and ISPF. Langton got an OEM contract for the Imagitex image scanner which was connected to the VAX via a DR11-W. Because of my experience in communications between the VAX and other hardware including the ICL Perq, IBM PC and 370 using 2780-3780 and APS 5 photo typesetter I was sent on a DEC Macro 32 and device drivers course. I then wrote a device driver for the DR11-W. I was then transferred to the Electronic Warehouse team which was developing a product for demand publishing of graphics and documents based on Langtons Artwork Manager product and gained experience in Iftran, IBM CMS TSO and ISPF. Technologies Used: Macro 32, Fortran, XICS Marconi Underwater Systems Ltd Senior Operator to System Programmer Mar - 82 / Oct - 84 Our department offered a service to users doing software development, real-time simulations, trials analysis and CAD/CAM. I joined Marconi just after their decision to transfer from GEC 4082s to VAX 11/780. I was responsible for training the other operators and system programmers in the use of DCL and the VMS operating system. I worked closely with the system programmers and in March 1984 was promoted to system programmer. Projects I have worked on include system design and configuration, operating and system analysis, software installation and tuning. I attended a DEC course on programming VMS in Fortran 77 in the summer of 1983 and gained a full knowledge of structured Fortran its libraries, system service calls and runtime libraries. I also have experience in the installation of DEC and other software; DEC and other hardware and communication between them. My programming experience includes Calcomp emulation on a 4115B using Fortran and Macro 32; archiving programs; control of the issuing and plotting of files and update of the associated tape and document libraries; reformatting floppy disks from VMS files 11 to RCA Cosmac format and stock control using a menu program with full screen graphics. When I left I was working on a suite of programs to extract information from the system accounts file and produce reports and graphs of system usage and performance. Technologies Used: Fortran, Macro32, DCL, System Services Schlumberger Inland Services Ltd Operator Mar - 81 / Mar - 82 Schlumberger London is a log interpretation center for the oil industry. Engineers working in the field gather information and data from oil wells and transmit it to one of the Schlumberger centers for plots and maps to be made. These are then sent back to the rigs to enable drilling to continue. Because of the nature of the work I was often working to deadlines and work had to be of a high standard. The work included a lot of transmission work via BT modems, plotting using various Schlumberger specific, Versatec and Calcomp plotters, archiving stock control and running user programs. The latest CV always available at www.bayes.co.uk/cv