Résumé

Raymond Luckhurst - IT Software Developer, GUI Specialist

Java Swing (8 years)   Perl, PHP, Tcl, Shell scripts (4 years)   C++ (3 years)   C (6 years)
+44 (0)1803 857063 · ray@scriptit.co.uk · raymondluckhurst.com
Spinnaker, 7 North Furzeham Road, Brixham, Devon, TQ5 8HT, UK

Current Position

Director of own SME, Scriptit Limited, providing bespoke B2B internet, programming and graphic design services.  Responsible for most of the programming tasks in client projects.  Technologies: Java Swing, OS X Cocoa, wxWidgets, Objective-C, C++, XHTML, CSS, JavaScript, AJAX, XML, JSON, PHP, Perl, MySQL.  Standards: W3C (mark-up), WCAG (accessibility), P3P (privacy).  Specialist in Human-Computer Interaction: User Interface Applications and Accessible Web Design.

Last Position

Subcontractor, UBS Bank, London March 2003 - February 2006

Developed GUI components and extensions for a complex risk management application using Java 1.3 - 1.5 and Swing, mostly pure Java and componentised with custom UI delegate behaviour.  TierSheet is a composite of tables, lists, scrollers and tools forming a feature-rich spreadsheet-style tabbed tree-table with sorting, filtering, highlighting, summarizing, freezing, hiding, formatting, printing, exporting and more.  Designed to maximize display of data of interest and for optimum performance.  BrickPane (suite) incorporates a JSplitPane with multi splits, dynamically configured, MDI-capable, with a custom layout manager.  EnhancedJTable provides generic JTable enhancements including a TableRowModel, extensive formatting, sorting, filtering and highlighting (Tcl expressions and pattern matching).  Excel Export: layered models for JTable and TableModel formatted export (DCOM, J-Integra) with DnD.  Many smaller components.  State and user preferences persistence (XMLEncoder, Preferences API).  Dynamic LaF/skin support.  XP.

Previous Positions

Subcontractor, Sony BPE, Basingstoke January 2002 - November 2002

Developed a video transform GUI and device drivers for the Digital Asset Management System using Java 1.3 and Swing, used for controlling custom PCI hardware and digital video equipment via multi-threaded Java/COM bridge (Automation and vtable, Jacob and JNI) and JavaComm (serial).  Incorporates schema-driven XML property editor screens and XML state persistence (JSX).  Automated XML script builder interface to COM engine (JDOM, Jaxen, Castor).  Layered server-side wrapper for Process Manager transform service (DirectShow and hardware) under WebLogic ASP.  Also developed video transform Finite State Machine.  NT and Solaris.

Subcontractor, Dresdner Kleinwort Bank, London May 2000 - August 2001

Client-side: Developed two GUIs for the Market Conformity Checks System using Swing (Java Web Start applications, initially Applets): a Query Interface for viewing filtered trades and a Filter Manager for defining trade filters.  Incorporates table print/preview/setup; column sorting; custom models, renderers, beans, cursors and icons; checkbox lists; stepped combos; contextual help; JLF icons; property-bundled menu/toolbar items.  Data-driven table header text and row/column ordering from Sybase stored procedures.  Search facility for finding trades with specific attribute criteria.  Export to Excel via COM (NeOT).  Copy to system clipboard.  XML user profiles (JAXP) for maintaining state.  Multi-threaded pluggable caching interface to trade data via CORBA (OrbixWeb) with stubs for EJB rework.  Lots of reuse.  Documentation, including contextual help files, illustrated user guides and detailed implementation manual.  Project intranet site revamp (FrontPage), later Wiki.  Instigated first corporate use of Java Web Start and Jtable-Excel data transfer.  Solaris and NT.
Server-side: Re-modelled the GUI data feed CORBA service for multi-threading and optimization, including a generic stored procedure wrapper using JDBC.  Schema changes for faster GUI query responses using Sybase stored procedures, triggers and temporary tables.  Additional IDL interfaces and supporting implementation.
Tools: code metrics analysis and java repackaging scripts (ksh).  Solaris.

Subcontractor, B Sky B, London August 1999 - May 2000

Developed the Service Management GUI for SkyText using Java 1.2 and Swing, used to control live status and define the broadcast service in terms of page hierarchy, subpage DTDs, XML templates, data-driven subpage content mappings and fixed assets.  Incorporating IBM's XML4J to render DTD element hierarchy in a JTree, VE's KavaChart for metrics display, tabbed view of remote EJB/DAV data with drag-and-drop (DnD) between table/list objects and tree nodes, DnD adapter for visible "rubber-band" linking between related nodes, asset viewer for showing images/DTDs/textual content, styled text message console, template/XPath mappings rendering on GlassPane.  Implemented as internal frames with individual property editor dialogs.  Also developed the XML element definition interface model and persistent implementations (blobs) used by the back-end.  EJB interface to Oracle database and WebDAV repository.  360 classes.  NT.

Subcontractor, Press Association, London August 1998 - August 1999

Developed the Content Editor GUI for the Digital Teletext service using Swing.  Features include multi-layered, multi-framed (sub-paged) WYSIWYG styled editing of single-line, multi-line and tabular content incorporating compound named undo/redo, insert/overwrite modes with custom caret, colour chooser, case conversion, overflow/repetition detection with error underlining, headline/index vertical shifting, table cell splitting/merging, table/text row insertion/deletion, table column justification, inter/intra-component magic caret positioning, drag/drop linking between headline/index text fields and story pages.  Replicates QuarkXPress key bindings.  Composite teletext screens arranged as internal frames with window management.  HTTP interface to Informix via Perl DBD driver, converting between HTML/CSS and Swing components using JavaCC (compiler compiler).  Javadoc, jjdoc and integral HTML user guide.  Investigated Perl/Tk with SpecPerl (GUI builder) prior to adopting Swing.  NT and Solaris.

Part-time 1999 to present

  • technical support for web sites designed by home business (Scriptit Ltd.).
  • Server-side and client-side scripting for a dotcom Editorial Services agency using PHP4 and MySQL with PHPWiki on Linux/Apache.
  • CGI scripts for The VII Creative Design Group in Barbados, using PGP, Perl5 and GD for dynamic GIF generation.  Clients: Caribbean Sports Medicine Congress and the World Health Organisation (Americas).

Senior Software Specialist, Nortel, Paignton April 1996 - August 1998

Developed the Intranet interface to a ClearCase documentation repository using Servlets (Java, NetRexx) and a SQL gateway under Apache (JavaScript, Perl, CGI.pm).  Scripted various automation tools including Element Manager diagnostics (Tcl, Expect, Bourne) with dynamic image-map generation (GnuPlot) and Terminal Server GUI (Tk).  Multi-site mirroring (Expect, ftp, cron).  General UNIX scripting for application development support.  Air Interface Protocol stack amendments (C) for Fixed Wireless Access base-station (static digital telephony).  FSM debug/analysis scripts (nawk, sed, perl).  Sun/Solaris and HP-UX platforms.

Senior Software Engineer, NEC, Reading August 1995 - April 1996

Lower Layer 1 development, CPU-DSP interface rework, kernel scheduler revamp and optimisation for GSM mobile phone (C, ASM, macros).  Performance analysis scripting and symbolic disassembler (lex, nawk).  Researched embedded C++ and kernels for new product.

Consultant, Westinghouse Systems, Chippenham January 1987 - August 1995

Outstation/control-centre telemetry interfaces modelled on OSI layers (C++, DEC Alpha and Linux).
Systems Analyst (to February 1994):  SCADA device driver DLLs (VC++);  embedded compiler (yacc); text user interfaces (C, DOS, own windowing library) including metering systems and instation/outstation simulators.  Microcontroller firmware including modems and protocol converters (PLM, ASM).

Previous

Hardware and firmware design/implementation positions in the automotive, security and control industries.

Education

B.Sc. Electronic Engineering; Bristol.
HNC Electrical Engineering and Electronics + 3 endorsements, 3 distinctions; Cheltenham.
OND Technology with commendation (94% maths); Yeovil.
Sun Certified Programmer for the Java 2 Platform.  Brainbench Certified Java 2 - GUI (UK top 10).
Courses: ISDN (Omnicom);  OMT Methodology (IDE);  Web Site Design (QA);  C++ OO Design.

Further Comments

A strong implementer with a special interest in user interfaces, low-level programming and automation scripting.  Committed to producing reliable, quality code with thorough regard for standards-compliance, side-effects, security and testing.  Proven track record.  Progressive interest in new techniques.  Fully-equipped home office for cross-platform, networked development.

Interests:  Electronics.  Photography.  Classical pianist: DipABRSM (Piano Performance); Performers Certificate (Trinity College); Grade 8 piano (distinction) and theory.

 

Raymond Luckhurst 10 May 2007