Résumé

Raymond Luckhurst - Software Developer

Specialist in User Interface programming, LAMP development and scripting.

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

Current Position

Director of own SME, Scriptit Ltd., February 2006 – present

Providing bespoke web development, programming and graphic design services.  Responsible for all the software tasks; employ a part-time graphic designer and occasional casual staff. Client projects include:

  • Record Label CMS module for Toccata Classics (in progress).  A comprehensive CMS module for soliciting CD data (albums, works, tracks, artists, audio clips, digital downloads, cover artwork, liner notes, photos, reviews etc. plus a taxonomy scheme for categorised tagging. Also developed workflow scripts for ripping audio, creating FLAC & MP3 files, importing metadata into database and reformatting booklet PDFs for online display. Site makeovers of www.toccataclassics.com and www.toccatapress.com are launching soon.  
    CMS Made Simple, PHP, MySQL, shell scripts (bash, sed, awk, cron, flac, sox, lame).
  • Programmer GUIs and device drivers for DJ loop sampler devices by Red Sound Ltd. Two projects:
    • a loop configuration programmer with MIDI device driver for their SoundBITE micro device, implemented in Objective-C under Xcode IDE for Mac OS X Cocoa only. Screenshot at
      www.scriptit.co.uk/gui-samples.php?i=rs-gui1
    • a loop arranger with USB device driver for their SoundBITE Pro device, implemented in C++ and wxWidgets for cross-platform use, with drag-and-drop of WAV loops between PC and unit, parameter setting and audio sampling. Screenshot at www.scriptit.co.uk/in-progress.php?i=rs-ip
  • Various web sites – CMS and static (Dreamweaver) – including:

Technologies: Java Swing, OS X Cocoa, wxWidgets, Objective-C, C++, XHTML, CSS, JavaScript, Web2 (scriptaculous, jQuery, xajax), Smarty, XML, JSON, PHP, Perl, MySQL, Apache2, Linux, Apple OS X, Win32.

Standards: W3C (mark-up), WCAG (accessibility), P3P (privacy).

Last Position

Subcontractor, UBS Bank, London March 2003 – February 2006

Developed GUI components and extensions for a 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 matching).  Excel export: layered models for JTable and TableModel formatted export (DCOM, J-Integra) with DnD.  Many smaller components.  State and user preference persistence (XMLEncoder, Preferences API).  Dynamic LaF/skin support.  WinXP.

Previous Positions

Subcontractor, Sony BPE, Basingstoke January 2002 – November 2002

Developed a video transform GUI, device drivers and a bridging interface for a Digital Asset Management System using Java 1.3 and Swing, used for controlling custom PCI bus hardware and digital video equipment via Java/COM bridge (multi-threaded, 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.  WinNT and Solaris.

Subcontractor, Dresdner Kleinwort Wasserstein, 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 a proposed EJB rework.  Lots of reuse.  Documentation, including contextual help files, illustrated user guides and detailed implementation manual.  Revamped project intranet site (FrontPage, later Wiki).  Instigated first corporate use of Java Web Start and JTable‑Excel data transfer.  Solaris and WinNT.

Server-side: Re-modelled the GUI data feed CORBA service for multi-threading and optimization, including a generic Stored Procedure wrapper using JDBC.  Database 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 media 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 rendered on GlassPane.  Implemented as internal frames with individual property editor dialogs.  Also developed the XML element definition interface model and persistent objects (blobs) used by the back-end.  EJB interface to Oracle database and WebDAV repository.  WinNT.

Subcontractor, Press Association NewsCentre, 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 database 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.  WinNT and Solaris.

Senior Software Specialist, Northern Telecom, 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).  Scripted various automation tools including Element Manager diagnostics (Tcl, Expect, bash) with dynamic image-map generation (GnuPlot) and Terminal Server GUI (Tcl/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, Perl5).  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, macro ASM).  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 positions

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 implementor with a special interest in user interfaces, low-level programming and high-level scripting for automation.  Committed to producing reliable, quality code with thorough regard for standards-compliance, side-effects, security and testing.  Proven track record.  Progressive interest in new technologies.  Fully equipped home office for cross-platform, networked LAMP development (OS X).

Interests:  Electronics. Pianist: DipABRSM (Piano Performance); Performers Certificate (Trinity College); Grade 8 piano (distinction), various Music Festival distinctions, Grade 8 Music Theory.  Singing.

 

Raymond Luckhurst 14 June 2010