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.me.uk
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
